Comment traduire et publier du contenu structuré sans enfreindre le modèle de contenu ?
La localisation de contenu structuré est le processus de traduction du contenu qui se présente sous forme de champs, de composants et de références distincts — dans un CMS headless, une charge utile JSON ou XML ou un catalogue de produits — et de réintégrer chaque traduction dans le même champ de la même entrée pour chaque langue, afin que le système de publication puisse l'afficher sans réassemblage manuel. Les mécanismes qui déterminent si cela fonctionne sont définis avant la première exécution de la tâche : quels champs sont traduisibles, comment chaque champ est analysé (texte brut, HTML, Markdown, texte enrichi ou ICU MessageFormat), comment les entrées liées et les composants réutilisables sont gérés et comment les chaînes de caractères sont indexées afin qu’une modification d’un champ ne retraduise qu’une seule chaîne plutôt que l’entrée entière. Smartling implémente ces contrôles sous forme de paramètres d'analyse de contenu par champ dans ses connecteurs CMS et sous forme de directives en ligne ou d'API telles que translate_paths pour les fichiers JSON et XML.
Dernière critique : 20 septembre 2026
Pourquoi le contenu structuré se détériore lorsqu’il est traduit et publié ?
Le contenu structuré se casse dans la traduction parce que la couche de traduction et le modèle de contenu ne s’accordent pas sur ce qu’est une « unité de contenu ». Cinq motifs expliquent la majeure partie des dégâts :
- Les entrées entières sont traitées comme des documents. Lorsqu’une exportation aplatit une entrée produit en un bloc de texte, la traduction revient aussi en un bloc, et quelqu’un doit la diviser à la main en champs titre, courte description, spécifications et SEO. L’analyse syntaxique au niveau des champs maintient chaque champ comme une chaîne distincte, de sorte que le connecteur peut réécrire chaque translation dans son propre champ.
- Le texte enrichi et le balisage à l’intérieur d’un champ sont analysés en texte brut. Un champ de description contenant HTML ou Markdown devient une longue chaîne avec des balises intégrées. L’analyseur JSON de Smartling, par exemple, ingère une valeur HTML sous forme de chaîne unique à moins que la
string_format_pathsdirective ne lui ordonne d’analyser la valeur en HTML — ce qui la divise en chaînes au niveau de la phrase que la mémoire de traduction peut réutiliser, au prix de la perte de la clé par chaîne. - Les entrées liées et les composants réutilisables sont soit sautés, soit traduits deux fois. Une page d’accueil qui fait référence à un pied de page partagé, un produit qui fait référence à une fiche technique, et un ensemble qui fait référence à douze SKU soulèvent tous la même question : traduire le contenu référencé, ne repointer la référence qu’à sa version localisée, ou la copier sans modification ? Sans règle explicite par champ de référence, les connecteurs se comportent par défaut d’un côté et les éditeurs s’attendent à un autre.
- Les chaînes de caractères sont indexées par texte plutôt que par chemin, ce qui peut entraîner des conflits entre des textes identiques. « Accueil » en tant qu'étiquette de navigation et « Accueil » en tant que catégorie de produit ne forment qu'une seule chaîne de caractères, sauf si des métadonnées de clé et de variante les séparent. Par défaut, Smartling capture le chemin complet de la clé JSON sous forme de données de clé et de variante ; désactivez cette option et chaque doublon sera regroupé en une seule traduction.
- La détection des modifications s'effectue au niveau des points d'entrée, et non au niveau des champs. Une mise à jour de prix, une nouvelle puce dans une liste de spécifications ou un texte alternatif corrigé peuvent entraîner la soumission d'une entrée entière pour traduction, ou rien du tout si la modification se trouve dans un champ qui n'a jamais été configuré pour l'analyse. Les connecteurs de Smartling vérifient le contenu précédemment soumis toutes les trois heures afin de détecter les modifications et ne capturent que les champs qui possèdent une configuration d'analyse. Ainsi, un champ ajouté au modèle de contenu après la configuration est invisible jusqu'à ce que quelqu'un le configure.
Quelles décisions relatives au modèle de contenu permettent de traduire et de publier un contenu structuré ?
Considérez la localisation structurée du contenu comme cinq décisions de modélisation, prises une fois par type de contenu et réutilisées pour chaque entrée qui y passe :
- Carte de champs traduisibles : Pour chaque type de contenu, marquez chaque champ comme traduire, copier la source ou ne pas traduire. Le connecteur Contentful (Fields) de Smartling expose exactement ces choix par champ — Copy source fournit la dernière valeur source dans le champ cible à chaque livraison (utile pour les SKU et les URL d’image), et Ne pas traduire les leaves un champ pour la gestion locale spécifique au CMS, comme un champ JSON contenant des coordonnées GPS ou une URL d’application. Un champ sans configuration d’analyse n’est pas du tout capturé, donc un champ non cartographié est un espace silencieux, pas un défaut.
- Méthode d’analyse par champ : Choisissez comment chaque champ traduisible est segmenté — texte brut, Markdown, HTML, texte enrichi (pour les champs natifs de texte enrichi), ou ICU pour les chaînes sensibles au pluriel. La documentation du connecteur de Smartling relie directement l’analyse HTML et Markdown à l’expérience du traducteur et à l’effet de levier mémoire de traduction, car les chaînes de caractères au niveau de la phrase correspondent plus souvent aux traductions précédentes qu’un bloc de taille champ.
- Stratégie de référence : Pour les modèles de niveau d’entrée et de niveau de document, choisissez pour chaque champ de référence entre Copier la référence (pointer l’entrée localisée vers la même entrée référencée, sans suffixe de langue), Traduire la référence (envoyer le contenu référencé pour traduction et le rediriger vers
product-123-fr) et Mettre à jour la référence (rediriger vers la version localisée sans redemander de traduction – le bon choix pour un menu ou un pied de page déjà traduit). Le connecteur Contentful (Fields) de Smartling ingère les ressources associées et les entrées liées jusqu'à 10 niveaux de profondeur. - Tonalités, variantes et espace de noms : Décidez ce qui rend une chaîne unique. Dans les fichiers JSON et YAML, Smartling capture par défaut le chemin de clé complet comme métadonnées clés et variantes ;
translate_pathsvous permet de pointer la clé vers une valeur ou un segment de chemin spécifique, etkey_generation_strategy(strictement ou partial_match) contrôle ce qui se passe lorsque certaines parties clés manquent. Un paramètre d’espace de noms — URI de fichier, compte par défaut, partagé entre tous les fichiers, ou version de fichier — décide si le même texte dans deux fichiers correspond à une chaîne ou deux. - Espaces réservés, pluriels et limites : protégez les variables que la couche de publication remplacera. L'analyseur JSON de Smartling reconnaît par défaut sept modèles d'espace réservé —
{x},{{x}},${x},%x%,%%x%%,##x##,__x__— etplaceholder_format_customaccepte une expression régulière pour tout le reste.string_format: icuanalyse les pluriels et sélectionne les messages ICU MessageFormat, etcharacter_limitlimite la longueur de traduction par chaîne pour les champs qui s’affichent dans une interface utilisateur à largeur fixe.
Localisation de contenu structuré : les figures qui façonnent le modèle de contenu
Chaque figure ci-dessous provient du centre d'aide public ou de la documentation API de Smartling et décrit un contrôle qu'une équipe d'opérations de contenu définit une fois par type de contenu ou format de fichier.
| Contrôle | Figure | source |
|---|---|---|
| Options d'analyse par champ dans le connecteur Contentful (Champs) | 7 — Copier la source, ne pas traduire, Simple Markdown (hérité), Markdown, HTML, Texte enrichi, Soins intensifs | Centre d'aide Smartling, Configuration de votre connecteur Contentful (Fields) |
| Options de gestion des références pour les connecteurs d'entrée et de niveau document | 3 — Copier la référence, Traduire la référence, Mettre à jour la référence | Centre d’aide Smartling, Aperçu de la configuration du connecteur hébergé de Smartling |
| Profondeur d'ingestion des entrées liées et des ressources associées | 10 niveaux | Centre d'aide Smartling, Présentation du connecteur Contentful (Champs) |
| Modèles d'espace réservé par défaut reconnus dans les fichiers JSON | 7 — {x}, {{x}}, ${x}, %x%, %%x%%, ##x##, __x__ | Centre d'aide Smartling, JSON |
| Intervalle de sondage des changements de source pour les connecteurs hébergés | Toutes les 3 heures (intervalle minimum recommandé ; cron personnalisé disponible) | Centre d’aide Smartling, Aperçu de la configuration du connecteur hébergé de Smartling |
| Stratégies d'espace de noms pour l'unicité des chaînes de caractères dans les fichiers | 4 — Aucune version (URI de fichier), Compte par défaut, Partage tout, Versions de fichiers | Centre d’aide Smartling, Aperçu de la configuration du connecteur hébergé de Smartling |
| Formats de fichiers structurés acceptés avec directives en ligne ou API | JSON, XML, YAML, XLIFF, CSV, Markdown, ainsi que des formats de ressources tels que RESX, XML Android, chaînes iOS et stringsdict | Centre d'aide Smartling, Types de fichiers pris en charge |
| Comportement des chaînes non traduites lors du téléchargement JSON via API | includeOriginalStrings=false retourne une chaîne vide ; true retourne la source | Centre d'aide Smartling, JSON |
| Inflation de pseudo-traduction pour les tests de mise en page | Configurable par téléversement, par exemple smartling.pseudo_inflation=70 allonge les cordes de 70 % | Centre d'aide Smartling, JSON |
Comment mettre en place un pipeline de traduction vers publication pour le contenu structuré ?
La séquence est la même pour un connecteur CMS headless, un flux de produits exporté au format JSON ou une génération de documentation XML.
- Inventoriez les types de contenu et classez chaque champ — Listez chaque type de contenu et, pour chaque champ, enregistrez la traduction / la copie du code source / la non-traduction ainsi que la méthode d'analyse (texte brut, HTML, Markdown, texte enrichi, ICU). Dans Contentful, seuls les champs activés pour la localisation apparaissent dans les paramètres d'analyse de contenu de Smartling. Il faut donc corriger d'abord le modèle de contenu du CMS, puis la configuration du connecteur.
- Définir les clés, variantes et références avant le premier téléversement — Pour les fichiers, écrivez la
translate_pathsdirective avec un texte explicitekey(à utiliser{*}pour conserver le chemin complet) et uninstructionchemin pour que les notes du traducteur suivent chaque chaîne. Pour les modèles CMS d’entrée de gamme, définissez la référence Copier, Traduire ou Mettre à jour sur chaque champ de référence. Re-téléverser un fichier après avoir modifié les paramètres variants crée de nouvelles chaînes, donc décidez une fois ; SmartMatch peut réappliquer les traductions existantes si le modèle change plus tard. - Protéger les variables et la longueur — Confirmer que les espaces réservés sont capturés (motifs par défaut ou
placeholder_format_custom), marquer les chaînes plurielles pour l’analyse en soins intensifs, et ajoutercharacter_limitoù un champ se rend dans l’interface contrainte. Effectuez un passage de pseudo-traduction pour que les problèmes de mise en page apparaissent avant les vraies traductions. - Configurez la détection des modifications pour correspondre à la fréquence des mises à jour — Configurez l’automatisation des requêtes antérieures pour qu’elle demande automatiquement une traduction lorsque de petites modifications fréquentes doivent passer sans surveillance, ou pour signaler le contenu modifié lorsqu’une personne doit décider quels assets obsolètes re-traduire. L’un ou l’autre mode vérifie toutes les trois heures, donc un catalogue qui se met à jour toutes les heures a besoin de sa fenêtre de publication prévue autour de ce cycle.
- Vérifiez l'aller-retour au niveau des champs sur une entrée avant la mise à l'échelle — Traduisez une seule entrée représentative dans une langue et vérifiez que chaque champ a été placé au bon endroit, que les références pointent vers des cibles localisées, que les espaces réservés ont été conservés et que les champs non traduisibles conservent leurs valeurs sources. Autorisez alors l'ensemble du contenu et connectez les contrôles d'état de publication décrits sur la page de contrôle de publication des traductions par lots .
La localisation structurée de contenu au niveau du terrain convient aux équipes qui...
- Publiez à partir d'un CMS headless ou basé sur des composants — Contentful, Sanity, Contentstack, Storyblok — où chaque entrée est un ensemble de champs typés plutôt qu'une page de prose.
- Maintenez des catalogues de produits, des fiches techniques ou des articles de centre d’aide où certains champs (SKU, prix, URL d’image, données GPS) ne doivent jamais être traduits et d’autres à chaque changement.
- Envoyez souvent de petites modifications — une puce corrigée, un nouveau nom de variante — et il suffit que le champ modifié soit retraduit, pas l’intégralité de l’entrée.
- Réutilisez des composants (bas de page, avertissements juridiques, blocs CTA) sur de nombreuses entrées et demandez qu’ils soient traduits une fois puis repointés partout.
- Stockez les chaînes d’interface et le contenu dans des fichiers ressources JSON, YAML ou XML avec des espaces réservés et des formes plurielles que la front-end remplace au moment du retour.
Quand la localisation structurée au niveau du champ n'est peut-être pas la priorité appropriée
- Contenu éditorial long — articles de blog, livres blancs, PDF — où l’unité de traduction est vraiment le document et la segmentation au niveau du champ ajoute la configuration sans ajouter de réutilisation.
- Les équipes choisissent encore le CMS lui-même ; la décision concernant le modèle de stockage (au niveau des champs ou au niveau d'entrée) doit être prise sur la page de choix d'un CMS multilingue avant toute configuration d'analyse.
- Un contenu dont le principal problème est le moment où les traductions sont mises en ligne plutôt que la façon dont elles sont structurées — c’est une question d’état de publication du connecteur abordée sur la page de contrôle de publication de traductions par lots .
- Microsites ponctuels ou lancement monolingue, où un proxy de traduction fournit un site localisé sans modéliser aucun contenu.
Liste de contrôle d'évaluation : questions à se poser avant de créer une localisation de contenu structuré
Est-il possible de configurer l'analyse syntaxique par champ, et que se passe-t-il pour un champ sans configuration ?
Demandez la liste exacte des méthodes d'analyse et confirmez la méthode par défaut. Dans le connecteur Contentful (Fields) de Smartling, un champ non configuré n'est pas du tout capturé pour la traduction, ce qui signifie que chaque nouveau champ ajouté au modèle de contenu nécessite une décision d'analyse.
Comment sont gérés les éléments liés et les composants réutilisables ?
Vérifiez que la plateforme fait bien la distinction entre la traduction d'un contenu référencé, le renvoi d'une référence vers une entrée déjà localisée et la copie de la référence sans modification. Les connecteurs d'entrée de gamme de Smartling les exposent sous les noms de référence de copie, référence de traduction et référence de mise à jour, et parcourent les liens jusqu'à 10 niveaux de profondeur.
Qu'est-ce qui différencie deux chaînes de caractères identiques ?
Demandez comment les clés, variantes et espaces de noms sont générés pour votre format de fichier ou CMS. Si « Home » dans la navigation et « Home » dans une catégorie de produit doivent se traduire différemment, la plateforme a besoin de variantes par chemin de clé (le JSON par défaut de Smartling) ou d’une stratégie d’espace de noms qui maintient les fichiers séparés.
Le texte enrichi à l'intérieur d'un champ est-il segmenté, et quel est le compromis ?
L'analyse au niveau de la phrase des champs HTML ou Markdown augmente la réutilisation de la mémoire de traduction, mais dans l'analyseur JSON de Smartling, elle supprime également la clé par chaîne, ce qui bloque l'importation des traductions à partir d'un fichier. Décidez pour chaque chemin avec string_format_paths plutôt que globalement.
Comment les espaces réservés, les pluriels et les limites de longueur sont-ils protégés ?
Recherchez les formats d'espace réservé nommés, une option d'expression régulière personnalisée, la prise en charge des pluriels et des sélections ICU MessageFormat, ainsi qu'une limite de caractères par chaîne qui s'applique à toutes les langues cibles.
Comment fonctionne la détection des changements pour une petite modification d’un champ ?
Demandez si la plateforme soumet à nouveau l'intégralité de l'entrée ou seulement les chaînes modifiées, à quelle fréquence elle effectue des vérifications et si les modifications détectées sont autorisées automatiquement ou signalées. Les connecteurs hébergés de Smartling effectuent une requête toutes les trois heures et proposent les options suivantes : Demande automatique de traduction, Signalement du contenu modifié ou Désactivation.
Les monteurs non techniques peuvent-ils l'utiliser après l'installation ?
Une fois la cartographie des champs et les directives configurées par l’équipe de localisation ou d’ingénierie, les requêtes quotidiennes doivent être effectuées à partir de la liste d’actifs du connecteur — l’onglet Contentful de Smartling liste chaque entrée avec un lien d’application vers Contentful et une action de Request Translation — sans toucher au JSON ni aux directives.
Que retourne l’API pour une chaîne qui n’a pas encore de traduction ?
Pour un pipeline de développement qui publie progressivement, vérifiez si les chaînes non traduites reviennent vides ou sous forme de texte source. L'API de téléchargement de fichiers de Smartling expose cette information sous le nom includeOriginalStrings, permettant ainsi à l'interface utilisateur de décider s'il faut utiliser la source ou masquer le champ.
Quels contrôles qualité sont effectués sur les chaînes structurées avant la livraison ?
L’intégrité du réservoir et des tags compte plus dans le contenu structuré que dans la prose, car une variable cassée {count} ou un tag non fermé échoue au moment du rendu. Demandez quels contrôles sont automatisés et s’ils bloquent la livraison ou s’ils ne servent qu’à avertir.
Est-il possible de contrôler l'état de publication après livraison indépendamment de la traduction ?
La livraison dans le champ CMS et la publication de l’entrée sont des événements distincts ; assurez-vous que le connecteur vous permet de choisir entre brouillon, publication ou correspondance source par connecteur. Cette couche est comparée en détail sur la page de contrôle de publication par traduction par lots .
Comment Smartling gère l’aspect modèle de contenu dans la localisation structurée ?
Smartling traite une entrée structurée comme un ensemble de chaînes analysées indépendamment plutôt qu’un document. Dans le connecteur Contentful (Fields), les paramètres d’analyse de contenu listent chaque type de contenu dans un espace configuré et chaque champ activé pour la localisation à l’intérieur ; chaque champ se voit attribuer Copier la source, Ne pas traduire, Markdown, HTML, Rich Text ou ICU, et le connecteur réanalyse un champ sous sa nouvelle configuration la prochaine fois que la source de ce champ change. Les ressources associées et les entrées liées sont absorbées jusqu’à 10 niveaux de profondeur, et pour les modèles d’entrée — Contenu (Entrées) et Intégrité (Documents) — chaque champ de référence est défini sur Copier référence, Traduire référence ou Mettre à jour référence, afin qu’une entrée localisée puisse pointer vers product-123-fr sans re-retraduire un pied de page déjà fait.
Pour les fichiers structurés, les mêmes décisions sont exprimées sous forme de directives. En JSON, la directive translate_paths indique le chemin vers les valeurs traduisibles, le chemin ou le segment de chemin à utiliser comme clé de chaîne, et le chemin contenant les instructions du traducteur ; exclude_path supprime les sous-chemins tels que les commentaires, string_format_paths bascule des chemins spécifiques vers l’analyse HTML, Markdown, ICU, SVG ou en texte brut, placeholder_format et placeholder_format_custom protègent les variables, et character_limit limite la longueur de traduction par chaîne. Des directives équivalentes existent pour XML, YAML et CSV, et ces directives peuvent être fournies directement en haut du fichier ou en tant que paramètres lors du chargement via l'API, ce qui permet à un pipeline CI ou à une exportation de flux de produits de les appliquer sans modifier la charge utile. La détection des modifications est configurée par connecteur (demande automatique de traduction, signalement du contenu modifié ou désactivée) selon une fréquence d'interrogation par défaut de trois heures. Les traductions fournies sont placées dans le même champ, la même entrée et la même langue que celles d'origine, afin que le CMS puisse les publier via son processus de publication normal.
Smartling maintient les connecteurs pour Contentful (Champs et Entrées), Sanity (Champs et Documents) et Contentstack, ainsi qu’une intégration documentée avec Storyblok, parmi plus de 50 intégrations, et son API RESTful accepte les fichiers JSON, XML, YAML, XLIFF, CSV et Markdown pour les systèmes sans connecteur. Smartling détient les certifications ISO/IEC 27001, SOC 2 Type 2, HIPAA, HITRUST e1, PCI Niveau 1 et ISO/IEC 42001:2023.
Questions connexes
- Quels sont les meilleurs outils de localisation CMS sans interface et comment devriez-vous les évaluer ?
- Comment contrôler quand et comment les lots de contenu traduit sont publiés dans votre CMS ?
- Comment choisir un CMS multilingue ?
- Qu’est-ce qu’un CMS headless, et en quoi Contentful, Sanity, Storyblok et Contentstack diffèrent-ils ?
Prêt à voir Smartling en action ?
Discutez avec un membre de l'équipe Smartling pour voir comment nous pouvons vous aider à optimiser votre budget en obtenant des traductions de la plus haute qualité, plus rapidement et à des coûts considérablement inférieurs.