Traduire un fichier JSON i18n en allemand
Déposez votre fichier de chaînes (i18next, react-intl, vue-i18n, next-intl, ngx-translate) : Manuce traduit les valeurs en allemand sans toucher aux clés, vérifie chaque variable et chaque message ICU, et vous rend le même fichier, prêt à devenir votre <code>de.json</code>. L'allemand est au tarif de base, et un extrait gratuit vous montre le résultat avant de payer.
Combien ça coûte
Pour un fichier JSON i18n d'environ 2 000 mots de valeurs, vers l’allemand :
Comprendre, usage interne.
Prêt à transmettre, par le spécialiste technique.
Relecture croisée. Pour ce qui engage.
Prix pour une langue, mise en page d'origine comprise. TVA non applicable, article 293 B du CGI. Le devis exact, calculé sur le nombre de mots de votre fichier, s'affiche avant paiement.
Ce qui change quand vos chaînes passent en allemand
L'allemand ne pose aucun problème d'écriture : alphabet latin, sens de gauche à droite, quatre caractères en plus (ä ö ü ß). Les difficultés sont ailleurs, et elles touchent surtout votre interface.
- La longueur. Le texte allemand est souvent 20 à 35 % plus long que l'anglais, et les mots composés ne se coupent pas d'eux-mêmes :
"settings.notifications": "Paramètres de notification"devient"Benachrichtigungseinstellungen", un seul mot de 30 lettres. Un onglet ou un bouton à largeur fixe déborde. - Les majuscules. Tous les noms prennent une majuscule, y compris au milieu d'un libellé :
"Datei hochladen","Neues Passwort festlegen". Untext-transformCSS qui met tout en minuscules ou en capitales efface cette information. - L'infinitif sur les boutons. L'usage allemand privilégie l'infinitif pour les actions :
"Speichern","Abbrechen","Löschen", là où le français mélange infinitif et impératif. - Le registre. En contexte professionnel, on vouvoie avec Sie, et le pronom de politesse prend la majuscule :
"{name} hat eine Datei mit Ihnen geteilt". Beaucoup d'applications grand public tutoient (du) : c'est un choix de marque à vérifier dès l'extrait.
Pluriels, genres et ordre des mots : les pièges propres à l'allemand
L'allemand n'a que deux catégories de pluriel CLDR, one et other. Si votre source les utilise déjà (suffixes _one / _other d'i18next, ou bloc ICU), aucune forme supplémentaire n'est nécessaire. Une différence subtile avec le français : en français, 0 relève de one (« 0 fichier ») ; en allemand, 0 relève de other (« 0 Dateien »). La forme other doit donc être correcte pour zéro.
Exemple de message ICU attendu :
{count, plural, one {# Datei ausgewählt} other {# Dateien ausgewählt}}
Les autres pièges viennent de la grammaire :
- Le verbe se déplace. Le participe ou l'infinitif part en fin de phrase : « Supprimer {item} » devient
"{item} löschen". Si votre code concatène une clé"delete_prefix": "Supprimer"avec un nom, l'allemand ne peut pas remettre le verbe à sa place. Utilisez une chaîne complète contenant la variable. - Trois genres et des cas. L'article change selon le nom (der, die, das) et sa fonction dans la phrase. Une variable qui insère un nom dans une phrase toute faite (« Le {objet} a été supprimé ») produit souvent un article faux. Un message
selectpermet de prévoir les variantes ; Manuce vérifie que chaque branche garde les mêmes variables. - Les nombres et les dates. L'allemand écrit
1.234,5et31.12.2025. Ces formats ne sont pas traduits dans le fichier : confiez-les àIntlou au formatage de votre bibliothèque avec la localede, plutôt que de les écrire en dur dans une valeur.
Ce que Manuce rend exactement, et ce qu'il ne fait pas
Vous récupérez le même fichier : même indentation, même ordre des clés, mêmes guillemets, commentaires, fins de ligne, encodage et BOM. Seules les valeurs sont en allemand. Les structures plates comme imbriquées, ainsi que les tableaux de chaînes, sont traitées.
- Les clés ne sont jamais traduites :
"auth.login.submit"reste tel quel, seule sa valeur devient"Anmelden". - Les variables
{name},{{count}},%set les messages ICU (plural,select) sont contrôlés chaîne par chaîne : mêmes variables, autant de fois, même si leur place change dans la phrase allemande. - Ne sont pas traduits : valeurs vides, URL, adresses email, nombres, couleurs, formats de date, identifiants et tout ce qui est marqué non traduisible.
- Chaque valeur traduite est comparée à la source. Si un écart de variable ou de balise persiste, la valeur source est conservée et le rapport le signale.
Le rapport livré avec le fichier liste les chaînes traduites, celles laissées telles quelles et la raison (URL, valeur vide, écart de variable).
Ce que Manuce ne fait pas : il ne voit pas votre interface et ne sait pas qu'un bouton mesure 120 pixels ; il ne raccourcit donc pas un libellé pour qu'il tienne. Il ne reçoit ni glossaire ni mémoire de traduction. Il ne produit pas de traduction assermentée, au cas où votre fichier contiendrait des mentions légales qui en exigeraient une.
Préparer le fichier et vérifier le résultat allemand
Avant le dépôt :
- Repérez les chaînes construites par concaténation et réécrivez-les en phrases complètes avec variables : c'est le principal défaut qu'une traduction ne peut pas corriger pour l'allemand.
- Vérifiez que chaque message de pluriel a bien une branche
otheret que vos clés_one/_othersont complètes. - Marquez comme non traduisibles les noms de produit ou de fonction qui doivent rester en anglais ou en français.
Après la livraison :
- Enregistrez le fichier sous le nom attendu par votre bibliothèque (par exemple
locales/de/common.json) et lancez l'application ende. - Parcourez les écrans étroits : menus, onglets, boutons, cellules de tableau. Pour les mots composés trop longs,
hyphens: autoen CSS, aveclang="de"sur la page, permet au navigateur de les couper proprement. - Testez les pluriels avec 0, 1 et 2, et les messages
selectavec chaque valeur. - Lisez le rapport : une chaîne restée en français à cause d'une variable mal formée dans la source se corrige d'abord dans la source.
Pour un terme qui doit rester tel quel, contrôlez l'extrait gratuit, puis la traduction livrée.
En pratique
- Déposez votre fichier JSON source (fr.json, en.json…) : le devis s'affiche aussitôt, calculé sur les mots des valeurs.
- Choisissez l'allemand et le niveau, puis lisez l'extrait gratuit : registre Sie ou du, majuscules, longueur des libellés.
- Payez et récupérez le fichier traduit avec son rapport dans votre espace client.
- Placez-le comme fichier de locale de, lancez l'application et vérifiez débordements, pluriels et messages select.
Questions fréquentes
Les clés de mon fichier JSON seront-elles traduites ?
Non. Seules les valeurs sont traduites ; les clés, l'ordre, l'indentation et l'encodage restent identiques. Le fichier allemand se charge donc avec le même code que la source.
Faut-il ajouter des formes de pluriel pour l'allemand ?
Non : l'allemand n'utilise que one et other, comme l'anglais et le français. Attention seulement à zéro, qui relève de other en allemand alors qu'il relève de one en français : la forme other doit être juste pour « 0 Dateien ».
La traduction utilise-t-elle Sie ou du ?
Le vouvoiement Sie est l'usage en contexte professionnel. Si votre produit tutoie ses utilisateurs, vérifiez le registre dans l'extrait gratuit avant de payer, puis dans le fichier livré.
Que se passe-t-il si une variable pose problème ?
Chaque valeur traduite est comparée à la source. Si les variables ou balises ne correspondent pas et que l'écart persiste, la valeur source est conservée et le rapport l'indique, pour que vous sachiez exactement quelle chaîne reprendre.
Comment le prix est-il calculé pour l'allemand ?
Sur le nombre exact de mots des valeurs, clés et balises exclues. L'allemand est au tarif de base, sans coefficient. Si vous traduisez le même fichier en plusieurs langues, la remise s'applique à toute la commande dès deux langues.
Le spécialiste qui s’en charge
Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.
Le même fichier, vers une autre langue
Vers l’allemand, d’autres fichiers
À lire aussi
Testez sur votre fichier, gratuitement
Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.