Localisation
Cette page traite des langues de l'interface propre du produit. Localiser le texte de votre jeu — clés, traductions, StringTables Unity Localization — est un sujet distinct avec sa propre page : Feuilles de localisation.
L'interface du produit — menus, fenêtre de création, inspecteurs, boîtes de dialogue, rapports, infobulles — est livrée en 10 langues :
English (par défaut) · 한국어 · 日本語 · 简体中文 · 繁體中文 · Español · Français · Deutsch · Português (Brasil) · Русский
La frontière exacte, y compris quels fragments de rapport restent en anglais, est détaillée dans « La frontière de la localisation » ci-dessous.
Changer de langue
- Au premier lancement, la langue de l'interface est définie automatiquement à partir de la langue du système d'exploitation de votre éditeur. Neuf langues correspondent directement ; toute autre langue reste en anglais. Une ligne de console signale ce choix. Changez-le à tout moment comme ci-dessous — un choix explicite n'est jamais écrasé.
- Edit ▸ Preferences ▸ SheetForge → menu contextuel de langue, ou le champ « Langue de l'éditeur » en haut de l'inspecteur des paramètres d'import (les deux lisent/écrivent la même valeur).
- La langue est un paramètre par utilisateur (EditorPrefs) — chaque coéquipier utilise sa propre langue, et rien à ce sujet ne touche le contrôle de version (aucun bruit dans le dépôt).
Les menus sont eux aussi localisés
Les libellés [MenuItem] sont des attributs statiques qui ne peuvent pas changer à l'exécution. SheetForge régénère donc un fichier de menu léger (Assets/SheetForge/Editor/Generated/, gitignoré) dans la langue sélectionnée. Changer de langue déclenche une courte recompilation unique — aucune boucle, et un contenu identique n'est jamais réécrit.
Si le dossier est absent ou que la langue ne correspond pas (par ex. juste après un clone), il s'autorépare automatiquement. La racine Tools/SheetForge est une constante de marque fixe ; les libellés terminaux suivent la langue.
Les changements de langue sont verrouillés pendant qu'un import/export/push est en cours — la recompilation de régénération de menu ne doit pas perturber un pipeline en cours d'exécution. Changez-la après coup.
La frontière de la localisation
Entièrement localisé dans les 10 langues :
- Interface dessinée par l'éditeur : menus, fenêtre de création, inspecteur, boîtes de dialogue, boutons, infobulles.
- Le squelette du rapport et les phrases « pourquoi »/« comment » de chaque erreur.
En anglais, en ligne (à l'intérieur du squelette localisé) :
- Les fragments de détail du rapport — la valeur fautive, les suggestions de correspondance la plus proche, et d'autres éléments interpolés à l'exécution, qui ne peuvent pas exister comme clés de table de langue.
- Les exceptions de bas niveau et les logs de développeur (
[SheetForge]).
Une lacune en attente, énoncée honnêtement : environ 345–360 des 1,043 clés conservent encore leur texte anglais dans les huit langues autres que l'anglais et le coréen. Ces clés sont les 227 clés ui.studio.* du Data Studio, plus la préférence de thème et les lignes de dialogue et de log les plus récentes.
Chaque clé existe dans chaque fichier, et la parité est imposée par les tests, donc rien ne retombe sur une clé brute. Il s'agit d'une passe de traduction en attente plutôt que d'une lacune structurelle. Voir Capacités et limites ▸ Périmètre de la localisation.
Un test de garde sur les deux harnais de test impose que le code source du produit ne contient aucun littéral de chaîne coréen — la langue de développement ne fuit jamais dans l'interface. (La seule exception de données : l'auto-désignation de chaque langue, par ex. 한국어, dans le sélecteur de langue.)
Ajouter ou corriger des traductions
Chaque langue tient dans exactement un fichier : Assets/SheetForge/Core/Tooling/Localization/Lang/Lang{Language}.cs. C'est un dictionnaire statique pur, si bien que les traducteurs travaillent en parallèle sans conflit de fusion entre les langues.
- L'anglais (
LangEn) est la liste de clés canonique. Chaque autre langue doit couvrir les mêmes clés. - Un test de parité détecte immédiatement une clé manquante, une clé en trop, ou un placeholder endommagé (
{name}) dans n'importe quelle langue. - Pour ajuster une traduction : modifiez le fichier de la langue, gardez les placeholders intacts, exécutez les tests.
Pages associées
- Prise en main — où les menus apparaissent pendant la configuration
- Feuilles de localisation — localiser le texte de votre jeu avec des feuilles
- Capacités et limites — l'entrée sur le périmètre de la localisation dans la liste des limites