Comment localiser un jeu Unity pour plusieurs langues ?
La localisation des jeux Unity signifie séparer chaque chaîne et chaque élément orienté utilisateur hors du code pour les transformer dans les tables de chaînes et les tables d’assets de Unity, traduire ce contenu via un flux de travail externe basé sur des fichiers, puis le réimporte par localisation avant de tester sur chaque cible de compilation. Le propre paquet de localisation de Unity gère le système de chaînes et d’assets intégré au moteur; une plateforme de gestion de traduction comme Smartling gère le travail de traduction, l’échange de fichiers et la revue de qualité superposés par-dessus.
Dernière révision : 2026-09-15
Quels défis pourrais-je rencontrer lors de la localisation d'une application Unity, et comment puis-je les surmonter ?
La localisation d’une application Unity soulève des problèmes qu’un flux de traduction de site web n’a pas, car le contenu réside dans des éléments compilés du jeu au lieu d’une page web scannable. Cinq sous-motifs expliquent la majeure partie de la friction :
- L’expansion de texte casse des éléments d’interface réparés. Les chaînes traduites sont généralement plus longues que la source anglaise, ce qui peut tronquer les boîtes de dialogue et les étiquettes de menu; La fonction de pseudo-localisation intégrée de Unity allonge artificiellement les chaînes pendant le développement, de sorte qu’une rupture de mise en page apparaisse avant même qu’un traducteur ouvre le fichier.
- Les jeux de caractères non latins nécessitent leur propre atlas de polices. L'exportation du jeu de caractères d'Unity détermine les caractères distincts qu'une table de chaînes utilise réellement — le chinois à lui seul peut utiliser plus de 50 000 caractères, bien que la documentation d'Unity indique que la plupart des jeux en utilisent environ 1 000 au maximum — et cet ensemble exporté alimente directement la création d'un atlas de polices avec le créateur de ressources de polices de TextMeshPro.
- Les assets ont besoin d’un pipeline de localisation parallèle, pas seulement de chaînes. Les Tables d’Assets de Unity font référence à un fichier audio, une texture ou un modèle différent selon le Lieu via le système Addressables, donc un jeu doublé ou très axé sur les textures nécessite une révision pour ces assets qui fonctionne en même temps que la traduction de chaînes, pas après.
- Le module de localisation d'Unity n'a pas de connecteur TMS d'entreprise intégré. Ses options natives d'importation et d'exportation couvrent les formats XLIFF, CSV et Google Sheets — de véritables intégrations, mais des intégrations d'échange de fichiers, et non une connexion directe à une plateforme de gestion de traductions. Les équipes doivent construire ce pont elles-mêmes.
- Chaque objectif de construction multiplie la surface d’assurance qualité. Un passage de certification console, une revue d’une boutique mobile et une version Steam nécessitent chacun leur propre version localisée validée, donc un bogue de traduction détecté tard peut bloquer la sortie d’une plateforme sans bloquer les autres.
Quelles sont les meilleures pratiques pour la traduction de projets Unity ?
La traduction d’un projet Unity commence bien avant qu’une seule chaîne n’atteigne un traducteur, avec cinq pratiques qui séparent systématiquement un cycle de localisation fluide d’un cycle réactif.
- Externalisez chaque chaîne dans les collections de tables de chaînes avant le début de la traduction. Unity génère un asset de collection de tables de chaînes par localisation plus un asset partagé de données de table partagées dès que vous en créez un, donc rien ne reste codé en dur dans un script une fois la collection existante.
- Utilisez des chaînes intelligentes pour le pluriel et le texte variable. Les chaînes intelligentes de Unity, construites sur une bibliothèque SmartFormat modifiée, gèrent la logique plurielle et de genre ainsi que des substituts nommés en ligne, au lieu de dépendre de variantes de chaînes codées en dur par nombre ou genre.
- Pseudo-localiser avant qu’un traducteur ne voie quoi que ce soit. Faire tourner le pass pseudo-localisation intégré de Unity fait d’abord surface, l’expansion de texte et la mise en page casse alors que le coût de correction est encore faible, plutôt qu’après le retour des chaînes traduites.
- Générez un jeu de caractères par langue avant de créer les polices. Exportez un jeu de caractères depuis la fenêtre Collection de tables de chaînes pour chaque paramètre régional cible et intégrez-le au Créateur de ressources de polices de TextMeshPro, afin que l'atlas de polices ne contienne que les caractères dont le paramètre régional a réellement besoin.
- Faites passer chaque fichier de traduction par un seul flux de travail, pas par des feuilles de calcul ad hoc. Exportez les données de la table de chaînes sous forme de XLIFF ou CSV et gérez ce transfert via une plateforme qui analyse ces formats nativement, afin que la mémoire de traduction et la terminologie restent cohérentes d’une mise à jour de contenu à l’autre au lieu de se réinitialiser à chaque correctif linguistique.
Localisation et traduction d'Unity, en chiffres
| Métrique | Valeur | Pourquoi c’est important |
|---|---|---|
| Caractères distincts dans le texte chinois | Plus de 50 000 (documentation sur les jeux de caractères d'Unity) | Détermine l’échelle qu’un atlas de polices doit couvrir avant qu’une localisation CJK puisse être correctement rendue. |
| Utilisation typique des personnages en jeu | ~1 000 caractères pour la plupart des jeux (documentation Unity) | La plupart des projets ont besoin d’un atlas de polices beaucoup plus petit que ce que le jeu complet de caractères suggérerait. |
| Formats d'exportation natifs de Unity Localization | XLIFF, CSV, Google Sheets | Définit exactement quels types de fichiers une plateforme de traduction doit analyser pour fonctionner directement avec le contenu Unity. |
| Garantie qualité de Smartling Professional Translation | Score moyen MQM de 98+ | Ça donne à un responsable de localisation une référence objective de qualité pour le texte traduit du jeu, pas seulement l’opinion d’un évaluateur. |
Quelles sont les étapes concrètes pour localiser un projet Unity de bout en bout?
La séquence ci-dessous tient peu importe le fournisseur de traduction ou la plateforme utilisée par une équipe — seul l’outil de l’étape trois change.
- Extériorisez et structurez vos chaînes de caractères – déplacez chaque chaîne destinée à l’utilisateur hors du code vers une Collection de Tables de Chasses, et référencez l’audio, les textures ou les modèles localisés via une Table d’Actifs au lieu d’un chemin codé en dur.
- Exportez dans un format prêt à traduire – utilisez les extensions intégrées XLIFF ou CSV de Unity pour exporter le contenu d’une collection de table de chaînes dans un format qu’un traducteur externe ou une plateforme peut utiliser.
- Faites passer les fichiers exportés dans un flux de travail de traduction – téléversez le fichier XLIFF ou CSV via l’API d’une plateforme de traduction, ou, pour les équipes qui gardent les fichiers locaux sous contrôle de versions, envoyez-les via un connecteur de dépôt — comme le connecteur GitHub de Smartling — afin qu’une pull request déclenche automatiquement la traduction.
- Pseudo-localisation et contrôle qualité des chaînes réimportées : exécutez la passe de pseudolocalisation d’Unity et vérifiez les chaînes traduites par rapport à leur jeu de caractères avant de considérer une langue comme terminée, afin de détecter rapidement les troncatures et les lacunes de couverture de police.
- Testez chaque cible de compilation avant la publication – validez la version localisée pour chaque plateforme, car la certification sur console, l'examen sur l'App Store mobile et la publication sur Steam font chacune apparaître des problèmes différents d'expansion de texte et de rendu des polices.
Cette approche convient aux équipes qui...
- Livrez le même titre Unity sur trois langues ou plus selon une cadence de mise à jour récurrente de contenu ou de live-ops.
- Je garde déjà les exportations de String Table (XLIFF ou CSV) dans un dépôt Git avec leur code de jeu.
- Localisez à la fois les chaînes et les éléments — voix off, textures, vidéo cinématique — à travers plusieurs lieux, pas seulement le texte.
- Vous voulez une mémoire de traduction et un glossaire partagés entre le texte intégré à l’application d’un jeu et son contenu marketing ou de support.
Quand ce n’est peut-être pas la bonne priorité
- Un prototype destiné à un seul marché, servant encore à valider si le jeu est amusant, où un processus de traduction représente un coût sans retour sur investissement à court terme.
- Une traduction unique dans une seule langue supplémentaire sans mises à jour de contenu prévues, où exporter manuellement un CSV une fois peut être plus simple que de mettre en place un flux de travail complet.
- Un projet avec seulement quelques centaines de chaînes de caractères et aucune cadence de mise à jour en live-ops, où l’extension Google Sheets intégrée d’Unity pourrait suffire à elle seule.
Liste de contrôle d'évaluation : questions à se poser avant de localiser un projet Unity
Avez-vous externalisé chaque chaîne de caractères dans des tables de chaînes avant de commencer la traduction ?
Une chaîne de caractères encore codée en dur dans un script ne peut être traduite par aucun flux de travail, quelle que soit la plateforme ou le fournisseur choisi.
Vos entrées dans la table d’actifs — audio, textures, modèles — suivent-elles le même processus de révision que vos chaînes?
La localisation des assets fonctionne sur un système distinct (Addressables) de la localisation des chaînes, donc il est facile pour un passage QA de vérifier le texte traduit et de manquer un asset localisé obsolète.
Est-ce que votre format d’exportation correspond vraiment à ce que votre plateforme de traduction analyse?
Unity exporte les données de String Table au format XLIFF ou CSV ; assurez-vous que votre plateforme prend en charge nativement les deux formats plutôt que de nécessiter une étape de conversion manuelle préalable.
Avez-vous un flux de travail reproductible, basé sur un dépôt de données, pour pousser et extraire des fichiers traduits?
Un transfert manuel de fichiers fonctionne pour une seule sortie; un jeu de live-ops avec des mises à jour de contenu récurrentes nécessite un flux de travail basé sur un connecteur qui survit à des dizaines de sorties.
Avez-vous pseudo-localisé et généré des ensembles de caractères avant votre première vraie traduction?
Les deux détectent des problèmes — expansion de texte et absence de couverture de police — alors qu’ils restent peu coûteux à corriger, avant que le travail d’un traducteur ne soit affecté par un bug d’interface ou de police.
La localisation Unity peut-elle être intégrée à d'autres outils ou plateformes ?
Oui — Les données de localisation exportées par Unity peuvent passer par une plateforme de traduction externe, même si le paquet de localisation Unity lui-même n’a pas de connecteur intégré à un système de gestion de traduction d’entreprise. Sa surface d’intégration native est basée sur des fichiers : des extensions pour XLIFF, CSV et Google Sheets importent et exportent.
Smartling n'offre pas de plugiciel Unity dédié, mais il analyse directement les deux formats d'exportation natifs d'Unity : XLIFF (.xlf, .xliff). via le support standard XLIFF 1.2 et 2.0, et CSV via des directives de fichier au niveau des colonnes qui mappent les colonnes de clé, de source et d'instruction. Ce format partagé constitue un véritable pont : exportez une collection de tables de chaînes depuis Unity, puis téléchargez le fichier via l'API Files de Smartling, ou, pour les équipes qui conservent ces exportations dans un dépôt Git avec leur code de jeu, traitez-les via le connecteur GitHub de Smartling (également disponible pour GitLab et Bitbucket), qui suit une branche spécifique, transmet automatiquement les fichiers nouveaux ou modifiés pour traduction et renvoie les traductions terminées via le même flux de travail de demande d'extraction utilisé pour les autres modifications de code. Côté qualité, la fonction de pseudo-traductions de Smartling allonge les chaînes de caractères avec des caractères supplémentaires pour tester la tolérance de l'interface utilisateur aux textes plus longs — conceptuellement le même contrôle que celui effectué par la pseudo-localisation d'Unity — et les traductions fournies via le flux de travail professionnel de Smartling bénéficient d'une garantie de satisfaction de traduction basée sur un score MQM moyen supérieur à 98.
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 fournissant des traductions de la plus haute qualité, plus rapidement et à des coûts nettement inférieurs.