Expansion des chaînes UI : adapter le vietnamien aux mises en page
💡 Les chaînes UI en vietnamien sont 20-40 % plus longues que les étiquettes anglaises et 3-5 fois plus longues en nombre de caractères que les équivalents chinois. Les boutons, les info-bulles de compétences et les étiquettes HUD sont les premiers à déborder. Des conteneurs flexibles dans le RectTransform d'Unity et le SizeBox d'Unreal, combinés à la couverture de police Latin Extended Additional, préviennent les pannes de mise en page avant la première passe LQA.
À retenir
- Prévoyez 20-40 % d'expansion pour les textes UI descriptifs ; les mots d'action courts (OK, Enregistrer) sont souvent de longueur comparable ou plus courts.
- Dans Unity : utilisez Content Size Fitter et le dimensionnement automatique TextMeshPro au lieu des largeurs RectTransform fixes ; ajoutez une police de secours compatib vietnamienne couvrant U+1E00-U+1EFF dans les paramètres TMP_FontAsset.
- Dans Unreal : enveloppez les boutons dans un SizeBox avec Min Desired Width plutôt qu'un slot CanvasPanel de taille fixe ; activez le retour à la ligne sur RichTextBlock et UTextBlock.
- Exportez votre table de chaînes en tableur, triez par nombre de caractères anglais, et pré-traduisez les 20 étiquettes les plus longues avant de figer la mise en page UI.
- N'appliquez jamais les règles de retour à la ligne CJK au texte vietnamien : le vietnamien coupe aux syllabes séparées par des espaces, pas par caractères CJK.
De combien les chaînes vietnamiennes dépassent-elles l'anglais dans l'interface jeu ?
Le vietnamien est une langue isolante et tonale qui écrit chaque syllabe séparément. Chaque syllabe porte aussi un signe de ton et souvent un diacritique de voyelle. Résultat : une étiquette bouton de six caractères anglais devient fréquemment un équivalent vietnamien de neuf à douze caractères. "Battle" (6 car.) devient "chiến đấu" (9 car.). "Equipment" (9 car.) devient "trang bị" (8 car.), mais "Equipment Settings" (18 car.) devient "cài đặt trang bị" (16 car. avec un surcoût de rendu notable).
Le taux d'expansion pratique pour les textes UI jeu n'est pas uniforme. Les mots d'action courts (OK, Save, Exit) ont souvent une longueur comparable. Le vrai risque concerne les étiquettes descriptives moyennes à longues : noms de quêtes, descriptions de compétences, info-bulles HUD qui s'étendent de 25-40 % en largeur pixel. Pour les jeux sources en anglais ou en français, le défi est comparable, le français étant parfois légèrement plus long que l'anglais de base, ce qui peut aggraver l'expansion vers le vietnamien.
Quels composants de l'interface jeu cassent en premier ?
Tous les éléments UI ne présentent pas le même risque. Ces cinq éléments échouent le plus tôt lors de l'application de chaînes vietnamiennes :
- Boutons à largeur fixe : tout bouton à largeur fixe conçu pour l'anglais tronquera les étiquettes vietnamiennes une fois le budget pixel dépassé. Concevez les boutons avec une largeur minimale et un padding horizontal plutôt qu'une largeur en pixels fixe.
- Info-bulles de compétences et d'objets : les fenêtres d'info-bulles à largeur pixel fixe tronquent les descriptions vietnamiennes. Augmentez la largeur de base de 30 % ou utilisez une info-bulle défilante pour les longues descriptions.
- Étiquettes des éléments HUD : les étiquettes de statistiques à côté des barres HP et mana ("Puissance d'attaque", "Défense") se trouvent souvent dans des conteneurs étroits. Ils nécessitent des conteneurs flexibles ou des abréviations vietnamiennes convenues avec le traducteur.
- Barres d'onglets de navigation : quatre ou cinq onglets avec des étiquettes vietnamiennes longues débordent à 375-390dp. Testez chaque combinaison d'onglets à 375dp avant de figer l'interface.
- Bannières de notifications et messages système : les bannières d'une ligne conçues pour les phrases anglaises nécessitent deux lignes pour les équivalents vietnamiens. Définissez une hauteur dynamique ou un nombre de lignes maximum qui ne coupe pas les signes de ton de leurs voyelles de base.
Comment corriger l'expansion dans Unity ?
Unity Localization Package stocke les chaînes vietnamiennes dans une String Table Collection avec chaque autre locale. Les Smart Strings du package supportent la substitution de variables et les règles de pluriel. Configurez vi-VN via Window > Asset Management > Localization Tables, comme documenté dans la documentation Unity Localization Package 1.5. Les Smart Strings gèrent correctement les classificateurs numériques et la substitution de variables pour le vietnamien sans code personnalisé.
Pour la mise en page, remplacez chaque largeur RectTransform codée en dur sur les boutons et les étiquettes par une alternative flexible :
- Ajoutez un composant Content Size Fitter au RectTransform racine du bouton. Réglez Horizontal Fit sur "Preferred Size" et ajoutez un Horizontal Layout Group avec un padding gauche-droite égal. Le bouton s'étire pour s'adapter à l'étiquette de n'importe quelle locale.
- Réglez la Font Size de TextMeshPro sur "Auto Size" avec des limites min/max plutôt qu'une taille fixe. TMP réduit le texte avec élégance quand une étiquette vietnamienne remplit le conteneur au lieu de la tronquer.
- Dans TMP Global Font Asset Settings, ajoutez une police de secours Fallback Font Asset compatible vietnamien (Noto Sans, Be Vietnam Pro ou Source Han Sans). Les diacritiques vietnamiens se trouvent dans le bloc Unicode Latin Extended Additional (U+1E00-U+1EFF) que la plupart des polices jeu ignorent.
- Activez la Pseudo-localisation d'Unity (Project Settings > Localization > Pseudo-locale) pour simuler une expansion de 30 % pendant le QA de mise en page avant réception des vraies chaînes vietnamiennes.
Comment corriger l'expansion dans Unreal Engine ?
Unreal Engine utilise FText pour toutes les chaînes d'interface localisables. La documentation de localisation de texte Unreal Engine recommande de définir les chaînes avec les macros NSLOCTEXT ou LOCTEXT afin que le Localization Dashboard puisse les collecter automatiquement. Le vietnamien utilise le tag IETF vi ou vi-VN, ajouté via Project Settings > Localization > Cultures. La vue d'ensemble de la localisation Unreal couvre le mappage des cultures dans DefaultGame.ini.
Deux changements de widgets UMG gèrent la plupart des problèmes d'expansion de chaînes :
- Remplacez tout slot Canvas Panel à taille pixel fixe par un widget Size Box avec un Min Desired Width mais sans largeur fixe. Le bouton s'étend au-delà du minimum quand les étiquettes vietnamiennes le nécessitent.
- Sur UTextBlock et URichTextBlock, activez Auto Wrap Text avec une valeur de retour à la ligne correspondant au conteneur le plus large. Le texte passe à la ligne plutôt que de se tronquer quand les étiquettes vietnamiennes dépassent le budget pixel anglais.
Pour la police, ajoutez une Composite Font dans Slate/Fonts avec un typeface par défaut pour votre police de jeu principale et un typeface de secours couvrant U+1E00-U+1EFF. Cela sert les diacritiques vietnamiens sans reconstruire l'intégralité de l'atlas de polices.
Couverture de police vietnamienne : pourquoi les polices CJK de jeux échouent
Une erreur de build courante : les chaînes vietnamiennes s'affichent en rectangles ou cases vides après l'import de traduction. La cause est presque toujours une police CJK personnalisée optimisée pour le chinois, le japonais ou le coréen qui a ignoré le bloc Latin Extended Additional (U+1E00-U+1EFF). Ce bloc contient tous les caractères vietnamiens précomposés : ề, ổ, ắ, ữ, ị, et leurs 250-plus variantes.
La correction dépend du moteur et de l'utilisation de la police. Pour TMP dans Unity, construisez un TMP_FontAsset vietnamien séparé à partir de Noto Sans ou Be Vietnam Pro et ajoutez-le à la chaîne de secours. Pour Unreal, ajoutez un slot de police composite de secours couvrant U+1E00-U+1EFF. Normalisez toujours les chaînes vietnamiennes en forme NFC (caractères précomposés) à l'import : certains logiciels de saisie vietnamiens produisent du NFD (forme décomposée), causant des inadéquations entre les chaînes stockées et les entrées de l'atlas de polices.
Ce que vous pouvez corriger en interne et quand un spécialiste vietnamien vaut l'investissement
Les problèmes de mise en page et de police ci-dessus sont purement techniques : ils ne nécessitent aucune connaissance de la langue vietnamienne. Tout développeur peut corriger le RectTransform, le SizeBox et la configuration de police de secours sans consulter un traducteur. Les tests de pseudo-localisation et les mesures du taux d'expansion à partir d'un premier jet MT sont également des tâches entièrement internes.
Un spécialiste vietnamien de langue maternelle apporte une valeur réelle dans ces domaines spécifiques :
- Négociation de longueur de chaîne : un linguiste vietnamien peut suggérer des alternatives plus courtes pour les étiquettes qui s'étendent le plus. "Cài đặt nâng cao" (Paramètres avancés, 16 car.) peut devenir "Nâng cao" (8 car.) dans un contexte de bouton sans perdre le sens en jeu.
- Ton et registre : l'interface jeu vietnamienne se divise entre vocabulaire sino-vietnamien formel (utilisé dans les jeux de stratégie et de rôle) et vietnamien courant de tous les jours (préféré dans les jeux mobile casual). Les moteurs MT ne distinguent pas ces deux registres de manière fiable, et un mauvais choix brise l'immersion du joueur.
- LQA (Assurance Qualité Linguistique) : un réviseur natif avec des captures d'écran en moteur détecte les coupures de signes de ton, les groupes syllabiques tronqués et la terminologie culturellement incorrecte que les outils automatisés manquent.
Pour une localisation jeu vietnamienne complète couvrant les chaînes, la LQA et les fiches boutique, consultez le service de traduction de jeux en vietnamien.
FAQ
Quel est le taux d'expansion typique de l'anglais vers le vietnamien dans l'interface jeu ?
Les étiquettes descriptives et les textes de quêtes s'étendent de 20-40 % en nombre de caractères de l'anglais au vietnamien. Les mots d'action courts (OK, Save, Exit) sont souvent de longueur comparable ou plus courts. L'expansion la plus extrême touche les syntagmes nominaux multi-mots des menus de paramètres et des descriptions de compétences. Testez vos 20 étiquettes sources les plus longues pour trouver les vraies exceptions plutôt que de supposer un taux d'expansion uniforme sur toute la table de chaînes.
L'expansion en vietnamien est-elle pire que dans d'autres langues d'Asie du Sud-Est ?
L'expansion du vietnamien depuis l'anglais (20-40 %) est comparable au thaï et à l'indonésien en pourcentage, mais différente en nature. Le thaï et le khmer n'utilisent pas d'espaces entre les mots, compliquant le retour à la ligne. Le vietnamien utilise des syllabes séparées par des espaces, rendant le retour à la ligne fiable sans règles moteur supplémentaires. Le risque unique en vietnamien est l'empilement des diacritiques : chaque syllabe peut porter à la fois un modificateur de forme de voyelle et un signe de ton, augmentant la hauteur de rendu des glyphes par rapport aux chaînes sources anglaises.
Faut-il des tables de chaînes séparées pour les dialectes vietnamiens du Nord et du Sud ?
Non. Le vietnamien standard du Nord (tiêu chuẩn, la référence de Hanoï) est la norme de publication dans tout le Vietnam pour les interfaces jeu et les sous-titres. Une seule String Table vi-VN relue par un locuteur vietnamien natif familier des deux registres est suffisante pour tout le marché vietnamien. Seules les lignes de voix nécessitent une vérification dialecte du Sud si le jeu cible spécifiquement le public de Hô-Chi-Minh-Ville.
Peut-on utiliser la traduction automatique pour les chaînes UI vietnamiennes et se passer d'une relecture native ?
La TA fonctionne bien pour les chaînes techniques à faible ambiguïté : messages système, formats numériques, étiquettes de menus simples. Elle peine sur : la sélection du registre (sino-vietnamien contre vietnamien courant), l'adaptation culturelle des idiomes et des noms de personnages, et le maintien de la cohérence terminologique sur 10 000 chaînes et plus dans un RPG. Pour les jeux mobiles casual à interface simple, TA plus une passe LQA native est une approche rentable. Pour les jeux à contenu narratif dense, une traduction native assistée par TA produit de meilleurs résultats que la TA avec post-édition.
Sources officielles
- Documentation Unity Localization Package 1.5 - String Table Collections, Smart Strings, pseudo-localisation et configuration locale vi-VN. Vérifié en octobre 2026.
- Unreal Engine : localisation de texte - type FText, macros NSLOCTEXT/LOCTEXT, tables de chaînes et formats numériques selon la culture. Vérifié en octobre 2026.
- Unreal Engine : vue d'ensemble de la localisation - balises de langue IETF, CultureMappings dans DefaultGame.ini et pipeline de localisation. Vérifié en octobre 2026.
- W3C Internationalization : retour à la ligne - le vietnamien classé comme langue à retour à la ligne basé sur les syllabes, pas en CJK par caractère. Vérifié en octobre 2026.
Written by Dao Huy (Lucas), Vietnamese translator & localization specialist (EN · ZH · FR → Vietnamese). See translation services →
