Traducteur JSON qui Préserve la Structure | Outil i18n Gratuit
Traducteur JSON gratuit qui maintient votre structure intacte. Traduisez des fichiers i18n, des réponses API et des JSON imbriqués tout en préservant les clés, les types de données et le formatage. Parfait pour i18next et les applications multilingues.
Traducteur de Structure JSON
Cet outil traduit le contenu des objets JSON tout en préservant leur structure. Collez votre JSON dans le panneau de gauche, sélectionnez une langue cible et consultez la sortie traduite à droite.
La sortie traduite apparaîtra ici...
Comment Utiliser
- Collez votre objet JSON dans le champ JSON Source.
- Sélectionnez votre langue cible dans le menu déroulant.
- Le JSON traduit apparaîtra automatiquement dans le panneau de droite.
- Cliquez sur le bouton Copier pour copier le JSON traduit dans votre presse-papiers.
Documentation
Qu’est-ce qu’un traducteur qui préserve la structure JSON ?
Un traducteur qui préserve la structure JSON est un outil qui parcourt un document JSON et ne modifie que les valeurs textuelles qu’il contient. Les clés des objets, les nombres, les valeurs true/false et null restent exactement telles quelles. Seules les chaînes de caractères sont modifiées.
Cette version de l’outil n’envoie aucun texte à un service de traduction. Elle s’exécute entièrement dans le navigateur. Pour chaque chaîne trouvée, elle ajoute le code de la langue cible entre crochets devant le texte original, par exemple [es] Hello. Cela permet à un développeur de prévisualiser exactement quelles parties d’un fichier JSON seraient traduites et de vérifier que la structure est préservée, avant de connecter un véritable service de traduction.
Fonctionnement
L’outil applique une règle, répétée à chaque niveau de l’arborescence JSON :
- Si une valeur est une chaîne de caractères, ajoutez le code de la langue cible entre crochets devant celle-ci :
textdevient[code] text. Une chaîne vide reste"". - Si une valeur est un nombre, true, false ou null, laissez-la inchangée.
- Si une valeur est un tableau, appliquez cette règle à chaque élément, dans le même ordre.
- Si une valeur est un objet, appliquez cette règle à chaque valeur et conservez chaque clé inchangée.
Le document entier n’a pas besoin d’être un objet. Un texte JSON peut être n’importe quelle valeur unique ; un tableau, une chaîne, un nombre, true, false ou null seuls sont donc également acceptés et traités selon la même règle.
L’outil vérifie d’abord que la syntaxe du JSON saisi est valide. Si le JSON ne peut pas être analysé, il s’arrête et affiche une erreur au lieu de deviner.
Comment utiliser l’outil
- Collez le JSON dans le champ « Source JSON » à gauche. Un objet, un tableau ou une valeur unique conviennent.
- Choisissez une langue cible dans la liste déroulante. Neuf langues sont disponibles : espagnol, français, allemand, italien, portugais, chinois, japonais, coréen et russe.
- Le panneau de droite se met à jour automatiquement. Aucun bouton ne doit être actionné.
- Cliquez sur « Copy » pour copier le résultat dans le presse-papiers.
- Cliquez sur « Clear All » pour réinitialiser les deux panneaux et recommencer.
Exemple détaillé
JSON d’entrée :
1{
2 "app": {
3 "title": "My Store",
4 "version": 2,
5 "isBeta": false,
6 "tags": ["sale", "new"]
7 }
8}
9Avec l’espagnol (es) sélectionné comme langue cible, l’outil produit :
1{
2 "app": {
3 "title": "[es] My Store",
4 "version": 2,
5 "isBeta": false,
6 "tags": [
7 "[es] sale",
8 "[es] new"
9 ]
10 }
11}
12Remarquez que "title" et "tags" restent des clés, que 2 et false restent inchangés, et que seules les valeurs de type chaîne reçoivent l’étiquette [es]. L’imbrication et l’ordre des éléments du tableau sont identiques à ceux de l’entrée.
Ce qui change et ce qui reste identique
| Élément JSON | Résultat |
|---|---|
| Valeur de type chaîne | Reçoit le préfixe [language code] |
| Numéro | Inchangé |
true / false | Inchangé |
null | Inchangé |
| Clé d’objet | Toujours inchangée, y compris lorsqu’une clé porte littéralement le nom __proto__ |
| Ordre des éléments du tableau | Toujours inchangé |
Chaîne vide "" | Inchangé |
Cela est particulièrement important pour les fichiers dont la structure porte une signification, comme un fichier i18n (internationalisation) utilisé par une application web, ou une réponse d’API que le code client lit à partir du nom des clés. Si une clé telle que "welcomeMessage" était modifiée pendant la traduction, le code qui recherche welcomeMessage cesserait de fonctionner. Cet outil ne modifie jamais les clés ; ce risque ne se présente donc pas ici.
Erreurs courantes
« Format JSON non valide. Vérifiez votre saisie. » Ce message apparaît lorsque le texte collé ne constitue pas un JSON valide. Les causes courantes sont une virgule manquante entre des entrées, une virgule finale après le dernier élément, l’utilisation d’apostrophes simples au lieu de guillemets doubles ou un caractère spécial non échappé à l’intérieur d’une chaîne. L’utilisation préalable d’un validateur JSON peut aider à trouver l’emplacement exact du problème.
« Échec de la traduction. Veuillez réessayer. » Il s’agit du message de remplacement utilisé pour une erreur qui n’est pas une erreur de syntaxe. Ce cas est rare. La cause la plus probable est une entrée si volumineuse que le résultat mis en forme dépasserait la limite du navigateur pour la longueur d’un seul bloc de texte. Diviser un fichier très volumineux en plusieurs parties plus petites permet d’éviter ce problème.
Laisser le champ de saisie vide affiche un message d’attente et n’est pas considéré comme une erreur. Coller la valeur unique null n’est pas une erreur non plus : null est un JSON valide et l’outil renvoie null.
Pourquoi la préservation de la structure est importante
Les fichiers JSON qui stockent les traductions d’une application, tels que en.json et fr.json, doivent généralement contenir des clés identiques afin que le code environnant puisse rechercher le même chemin dans chaque langue, par exemple user.profile.displayName. Il en va de même pour les réponses d’API lues à partir du nom des champs et pour les fichiers de configuration où une modification du nom d’une clé peut interrompre un déploiement. Préserver la structure tout en marquant les chaînes traduisibles constitue une première étape utile avant d’envoyer ces chaînes à un véritable service de traduction ou de les faire relire par un traducteur.
Foire aux questions
Cet outil fait-il appel à un véritable service de traduction ? Non. Il s’exécute uniquement dans le navigateur et n’envoie aucune donnée ailleurs. Il marque chaque chaîne avec le code de la langue cible au lieu de produire des mots traduits.
Pourquoi ma sortie affiche-t-elle [es] Hello au lieu de Hola ?
Cette étiquette entre crochets correspond au comportement indicatif de la version actuelle. Elle montre quelles chaînes seraient traduites et dans quelle langue, sans effectuer de traduction réelle.
Modifie-t-il les clés de mes objets ou mes nombres ?
Non. Les clés, les nombres, true/false et null sont conservés tels quels à tous les niveaux d’imbrication, y compris dans les tableaux. Cela vaut également pour les noms de clés inhabituels, comme __proto__, que certains codes JavaScript suppriment accidentellement.
A-t-il besoin d’une connexion Internet ? Non. L’analyse et l’ajout des étiquettes s’effectuent localement dans l’onglet du navigateur.
Puis-je l’utiliser pour des fichiers de traduction i18next ou similaires ? La sortie conserve la même structure de clés que l’entrée ; elle convient donc à tout framework qui attend des clés correspondantes dans les fichiers de langue. Les valeurs de type chaîne doivent néanmoins être remplacées par de véritables traductions avant utilisation.
Que se passe-t-il avec un JSON profondément imbriqué ou des tableaux dans des tableaux ? L’outil traite chaque niveau, quelle que soit la profondeur, ainsi que chaque élément de tableau, en appliquant la même règle à chaque fois.
Références
- RFC 8259 : JavaScript Object Notation (JSON) Data Interchange Format, IETF : rfc-editor.org/rfc/rfc8259
- ECMA-404 : JSON Data Interchange Syntax, Ecma International : ecma-international.org/publications-and-standards/standards/ecma-404/
- MDN Web Docs, Utilisation de JSON : developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON