JSON
L'app web pilote, l'équipe est petite, les itérations sont fréquentes, le commit Git est la vérité.
§ / Formats
Tous les outils acceptent un Word, un Excel, un Google Sheets. Aucun n'en sort une localisation propre. Voici la mécanique du pari que nous faisons.
§ / Le tableur partagé
Beaucoup d'équipes traitent encore la traduction comme un échange de tableurs. Le développeur exporte les chaînes, l'équipe contenu les traduit, le développeur ré-importe. À chaque aller-retour, quelqu'un casse un placeholder, oublie un escape, mélange deux versions. Le résultat est livrable, jamais maintenable.
Le bon réflexe : garder la traduction dans le format natif où elle vit dans le code. Le tableur disparaît, les diffs apparaissent.
§ / JSON
JSON est lu par chaque framework moderne — React, Vue, Svelte, Next, Nuxt, et le mobile via les libs i18n standard. Le fichier vit dans le repo, à côté du composant qui l'utilise. Une PR met à jour la copie et le code qui la consomme en même temps. La revue est explicite, le merge est trivial.
On garde la même hiérarchie qu'en code (dashboard.welcome, errors.permission). Le développeur n'apprend rien, la traductrice non plus.
{
"dashboard": {
"welcome": "Bonjour {firstName}, content de vous revoir.",
"stats": {
"projects": "{count, plural, one {# projet actif} other {# projets actifs}}"
}
},
"errors": {
"permission": "Vous n'avez pas les droits pour effectuer cette action."
}
}§ / XLIFF
XLIFF (XML Localization Interchange File Format) est le format que les outils CAT — Trados, MemoQ, Phrase, Wordfast — lisent en natif. Conçu pour l'aller-retour entre une équipe technique et un atelier de traduction, il porte ce qu'un JSON ne sait pas exprimer : commentaires pour la traductrice, segments verrouillés, statuts (à traduire / traduit / validé), placeholders typés.
Quand votre projet implique un volume significatif, un freelance pro, ou un workflow de validation à plusieurs étapes, c'est l'option qui ne demande aucun bricolage.
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="2.0" srcLang="fr" trgLang="en">
<file id="ui">
<unit id="dashboard.welcome">
<notes><note>Greeting on home, casual tone</note></notes>
<segment>
<source>Bonjour {firstName}, content de vous revoir.</source>
</segment>
</unit>
</file>
</xliff>§ / Choisir
L'app web pilote, l'équipe est petite, les itérations sont fréquentes, le commit Git est la vérité.
Volume important, traducteur professionnel humain ou hybride, validation multi-acteurs, livraison structurée.
lingraft accepte les deux. Vous n'avez pas à choisir avant de commencer.
§ / Vous n'avez ni l'un ni l'autre
React, Vue, Rails, Django, Laravel, Flutter, React Native — on récupère votre copie là où elle vit dans votre code et on vous livre un JSON ou un XLIFF prêt à traduire. Forfait sur devis.