Modèle de table de localisation
Une table de chaînes sur laquelle les traducteurs peuvent travailler : une ligne par clé, avec son contexte, sa limite de longueur, la source en anglais et quatre traductions, plus un glossaire et un guide de style par langue. Téléchargez-la en .zip : la table est un fichier CSV (UTF-8, séparé par des virgules), le reste est en Markdown, et l’ensemble s’importe dans Nodary, où le CSV devient un tableur que vous utilisez comme table de traduction.
4 fichiers dans un .zip (Markdown et CSV), 6 ko
Gratuit, sans compte, sans e-mail. Utilisez-le, modifiez-le, partagez-le.
Lisez chaque fichier avant de télécharger
La vue d’ensemble explique les colonnes, le nommage des clés, les variables et les états de traduction. La table contient 13 chaînes d’exemple de Saltmarrow, le jeu d’exemple que ce site montre partout ; deux cellules sont fausses exprès, pour montrer ce que les contrôles détectent.
Documents
Fichier Modèle de table de localisation/Table de localisation.md
Table de localisation
Mode d’emploi : les lignes en italique sont des consignes. Remplacez-les par vos propres mots, puis supprimez-les. Les valeurs entre crochets sont à remplir. La table elle-même est le fichier CSV à côté de cette page.
Les fichiers
- Chaînes : la table elle-même, une ligne par chaîne, une colonne par langue
- Glossaire : les mots traduits de la même façon partout, et les noms jamais traduits
- Guide de style : comment le jeu parle dans chaque langue
Colonnes
| Colonne | Ce qu’elle contient |
|---|---|
| key | Un nom unique pour la chaîne, jamais montré aux joueurs |
| context | Où le texte apparaît et qui le dit : ce qu’un traducteur ne peut pas deviner |
| max_length | Le nombre maximal de caractères que le texte peut prendre à l’écran |
| en | Le texte source |
| fr, de, es, pl | Une colonne par langue, nommée par son code |
Nommer les clés
Nommez les clés selon l’endroit où vit le texte, du général au particulier, pour que les chaînes liées se rangent ensemble.
- Forme : [écran].[élément].[détail], comme menu.play ou hud.tide.warning
- En minuscules, des points entre les parties, sans espaces
- Ne réutilisez jamais une clé pour un autre texte : ajoutez-en une nouvelle
Variables et balises
Les valeurs que le jeu insère restent entre accolades, comme {count} ; chaque traduction garde chaque variable de sa source. Les balises de mise en forme, comme la balise de gras de item.crystal.desc, restent autour des mots qu’elles marquent.
États de traduction
- ManquanteBrouillon
- BrouillonRelue
- RelueFinale
- FinaleObsolète
- ObsolèteBrouillon
Mermaid
flowchart LR n0["Manquante"] n1["Brouillon"] n2["Relue"] n3["Finale"] n4["Obsolète"] n0 --> n1 n1 --> n2 n2 --> n3 n3 --> n4 n4 --> n1
Exemple (Saltmarrow, un jeu d’exemple) : Deux cellules de l’exemple sont fausses exprès. menu.settings en allemand, Einstellungen, compte 13 caractères là où le bouton en tient 10 : le contrôle de longueur le signale. Le salut de l’Archiviste n’a pas encore de polonais : il compte comme manquant.
Ce modèle est libre d’utilisation, de modification et de partage. Il vient de Nodary, où ces fichiers s’importent sous forme de carte de documents liés, et le CSV en tableur.
Fichier Modèle de table de localisation/Table de localisation/Chaînes.csv
Chaînes
| key | context | max_length | en | fr | de | es | pl |
|---|---|---|---|---|---|---|---|
| menu.play | Bouton du menu principal | 12 | Play | Jouer | Spielen | Jugar | Graj |
| menu.settings | Bouton du menu principal ; le bouton tient 10 caractères | 10 | Settings | Paramètres | Einstellungen | Ajustes | Ustawienia |
| menu.quit | Bouton du menu principal | 12 | Quit | Quitter | Beenden | Salir | Wyjdź |
| hud.tide.warning | Affiché dans le HUD deux minutes avant que la marée tourne ; {minutes} est un nombre | 40 | The tide turns in {minutes} min | La marée tourne dans {minutes} min | Gezeitenwechsel in {minutes} Min. | La marea cambia en {minutes} min | Zmiana pływu za {minutes} min |
| hud.salt.count | Compteur du HUD ; {count} est un nombre | 20 | Salt: {count} | Sel : {count} | Salz: {count} | Sal: {count} | Sól: {count} |
| dialogue.archivist.greet | L’Archiviste noyée, première rencontre. Calme et soutenue : vouvoie le joueur | 120 | You came down with the tide. Most who do, stay. | Vous êtes descendu avec la marée. La plupart de ceux qui le font restent. | Sie sind mit der Flut herabgestiegen. Die meisten, die das tun, bleiben. | Ha bajado con la marea. La mayoría de quienes lo hacen se quedan. | |
| item.crystal.name | Nom d’objet, dans l’inventaire et la boutique | 24 | Memory crystal | Cristal de mémoire | Erinnerungskristall | Cristal de memoria | Kryształ pamięci |
| item.crystal.desc | Description d’objet ; <b> marque le mot à mettre en avant | 140 | Holds one <b>memory</b> of the drowned city. Sells well in the village. | Contient un <b>souvenir</b> de la cité engloutie. Se vend bien au village. | Enthält eine <b>Erinnerung</b> an die versunkene Stadt. Verkauft sich gut im Dorf. | Guarda un <b>recuerdo</b> de la ciudad sumergida. Se vende bien en el pueblo. | Zawiera jedno <b>wspomnienie</b> zatopionego miasta. Dobrze się sprzedaje w wiosce. |
| quest.horn.title | Titre de quête dans le journal | 32 | Before the horn | Avant la corne | Vor dem Horn | Antes del cuerno | Zanim zabrzmi róg |
| quest.horn.goal | Objectif de quête dans le journal ; {count} est un nombre | 60 | Crystals to bring up before the horn: {count} | Cristaux à remonter avant la corne : {count} | Kristalle, die vor dem Horn nach oben müssen: {count} | Cristales que subir antes del cuerno: {count} | Kryształy do wyniesienia, zanim zabrzmi róg: {count} |
| ui.save.done | Message après une sauvegarde, affiché deux secondes | 40 | Game saved | Partie sauvegardée | Spiel gespeichert | Partida guardada | Gra zapisana |
| ui.tide.low | Libellé de l’indicateur de marée | 16 | Low tide | Marée basse | Ebbe | Marea baja | Odpływ |
| ui.tide.high | Libellé de l’indicateur de marée | 16 | High tide | Marée haute | Flut | Marea alta | Przypływ |
Fichier Modèle de table de localisation/Table de localisation/01 Glossaire.md
Glossaire
Ajoutez un terme la première fois qu’un traducteur pose la question. Un mot traduit de deux façons perd les joueurs et double les questions au support.
Termes
| Terme (en) | fr | de | es | pl | Notes |
|---|---|---|---|---|---|
| tide | marée | Gezeiten | marea | pływ | Le niveau de l’eau, qui fait tourner tous les systèmes |
| salt | sel | Salz | sal | sól | La ressource courante |
| memory crystal | cristal de mémoire | Erinnerungskristall | cristal de memoria | kryształ pamięci | Toujours le nom complet, jamais « cristal » seul dans la boutique |
| horn | corne | Horn | cuerno | róg | Le signal deux minutes avant que la marée tourne |
| [terme] | [...] | [...] | [...] | [...] | [...] |
Ne jamais traduire
- Saltmarrow, le nom du jeu
- [Noms de personnages et de lieux qui restent tels quels]
- [Noms de plateformes et de marques]
Fichier Modèle de table de localisation/Table de localisation/02 Guide de style.md
Guide de style
Voix
Trois mots pour la voix du jeu, et ce à quoi elle ne ressemble jamais.
- Voix : [...]
- Jamais : [...]
Exemple (Saltmarrow, un jeu d’exemple) : Calme et un peu désuète, comme la gardienne d’une archive. Des phrases courtes. Pas d’argot moderne.
Langue par langue
| Langue | S’adresser au joueur | Typographie | Notes |
|---|---|---|---|
| Français (fr) | [tu ou vous] | Une espace insécable avant : ; ! ? et à l’intérieur des « » | [...] |
| Allemand (de) | [du ou Sie] | Guillemets „…“, noms communs en majuscule | Souvent plus long que l’anglais : vérifiez max_length d’abord |
| Espagnol (es) | [tú ou usted] | ¿ et ¡ en ouverture | [...] |
| Polonais (pl) | [ty, ou Pan et Pani] | Guillemets „…”, trois formes de pluriel | Les mots autour du nom du joueur changent avec le genre |
| [Langue] | [...] | [...] | [...] |
Longueur
Laissez de la place : les traductions depuis l’anglais sont souvent plus longues, jusqu’à un tiers dans certaines langues. Fixez max_length d’après la place à l’écran, pas d’après l’anglais.
Pluriels et nombres
Les langues ne comptent pas pareil : le polonais a trois formes de pluriel là où l’anglais en a deux. Placez le nombre après une étiquette (Sel : {count}) ou utilisez le système de pluriels de votre moteur, et formatez nombres et dates pour chaque langue.
Comment s’en servir
Remplacez les chaînes d’exemple
Gardez les colonnes et le nommage des clés, et mettez vos propres chaînes. Donnez à chaque chaîne un contexte et une limite de longueur avant qu’elle parte en traduction.
Écrivez le glossaire tôt
Ajoutez chaque terme la première fois qu’un traducteur pose la question, avec sa traduction dans chaque langue. Un mot traduit de deux façons perd les joueurs et double les questions au support.
Fixez le style de chaque langue
Décidez comment chaque langue s’adresse au joueur et ses règles typographiques avant de lancer la traduction. Changer plus tard, c’est relire chaque chaîne.
Gelez la source avant de l’envoyer
Envoyez les chaînes en traduction une fois leur anglais définitif. Quand une source change ensuite, ses traductions sont à revérifier.
Importez-le dans Nodary et utilisez-le comme table de traduction
Nodary est un espace de travail IA où les documents d’une équipe se relient au lieu de s’empiler. Importez le .zip : le CSV arrive en tableur sous la vue d’ensemble, avec le glossaire et le guide de style à côté. Sur le tableur, Table de traduction lit les rôles dans les en-têtes (key, context, max_length et une colonne par langue), puis contrôle chaque traduction pour la longueur et les variables, donne un état à chacune, marque une traduction comme obsolète quand sa source change, et exporte des fichiers pour Unity, Unreal et Godot : CSV, JSON, gettext .po et XLIFF.
- Ouvrez la carte d’un projet et choisissez Importer.
- Choisissez l’onglet Dossier ou ZIP, puis Choisir un ZIP, sélectionnez le fichier et importez.
- Ouvrez Chaînes, choisissez Table de traduction, vérifiez les rôles lus dans les en-têtes, puis Utiliser comme table de traduction.
L’offre gratuite compte dix documents par espace de travail, page du projet comprise : les quatre du modèle tiennent largement. La colonne source est l’anglais : si votre jeu est écrit dans une autre langue, faites de cette colonne la source quand Nodary montre les rôles.
Comment Nodary gère la localisation de jeux
Tenir une table de chaînes sur laquelle les traducteurs peuvent travailler
Une table de chaînes échoue quand les traducteurs doivent deviner ce qu’une ligne veut dire ou la place qu’elle a, ou quand un texte change après sa traduction sans que personne le remarque. Ces habitudes évitent les trois.
Donnez un contexte à chaque chaîne
Qui le dit, où il apparaît, à quoi il répond. « Open » est un verbe sur une porte et un adjectif sur une boutique : seul le contexte le dit.
Fixez la longueur depuis l’écran
Mesurez combien de caractères tient le bouton, la ligne ou la bulle, et écrivez cette limite, pas la longueur de l’anglais.
Ne construisez jamais de phrase en morceaux
Coller « Vous avez trouvé » et « 3 cristaux » dans le code casse l’ordre des mots et la grammaire de la plupart des langues. Donnez à chaque phrase sa clé, avec des variables.
Gardez les variables intactes
Chaque traduction garde chaque {variable} et chaque balise de sa source. Un {count} perdu montre un vide au joueur, ou fait planter le jeu.
Une clé, un sens
Ne réutilisez jamais une clé pour un autre texte. Ajoutez une nouvelle clé ; retirez l’ancienne quand plus rien ne s’en sert.
Gelez la source avant de l’envoyer
Traduisez du texte définitif. Quand une source change quand même, marquez ses traductions comme obsolètes pour qu’elles soient revérifiées.
Questions sur la table de localisation
Qu’est-ce qu’une table de localisation ?
Une table de localisation (ou table de chaînes) contient chaque texte qu’un jeu affiche, une ligne par chaîne : une clé utilisée par le code, le texte source, des notes pour les traducteurs, une limite de longueur, et une colonne par langue. Le jeu charge le texte par sa clé dans la langue du joueur : le texte change et se traduit sans toucher au code.
Quelles colonnes doit avoir une table de chaînes ?
Au minimum une clé et le texte source, puis une colonne par langue. Une colonne de contexte et une colonne de longueur maximale évitent l’essentiel des questions des traducteurs. Ce modèle a les cinq sortes, avec l’anglais comme source et le français, l’allemand, l’espagnol et le polonais.
Comment nommer les clés ?
Selon l’endroit où vit le texte, du général au particulier, comme menu.play ou hud.tide.warning : en minuscules, avec des points entre les parties. Les chaînes liées se rangent alors ensemble, et une clé dit où chercher dans le jeu.
Comment gérer les pluriels ?
Les langues ne comptent pas pareil : le polonais a trois formes de pluriel là où l’anglais en a deux. Placez le nombre après une étiquette, comme « Sel : {count} », ou utilisez le système de pluriels de votre moteur avec un texte par forme.
Comment ouvrir le CSV dans Excel ?
Google Sheets, LibreOffice Calc, Numbers et Nodary l’ouvrent tel quel. Excel ne l’ouvre d’un double-clic que si le séparateur de liste de l’ordinateur est la virgule ; avec des réglages français, c’est le point-virgule, et chaque ligne tient alors dans une seule colonne. Importez-le plutôt : dans l’onglet Données, choisissez l’import à partir d’un fichier texte/CSV, sélectionnez le fichier, réglez l’origine du fichier sur UTF-8 et le délimiteur sur Virgule, puis chargez-le.
Unity, Unreal ou Godot liront-ils ce CSV ?
Le CSV du modèle est fait pour les tableurs et pour l’import de Nodary. Chaque moteur lit son propre format : depuis la même table, la table de traduction de Nodary exporte du CSV pour Godot et Unity, du gettext .po pour Unreal et Godot, du JSON pour la plupart des moteurs et du XLIFF pour les outils de traduction.
Puis-je ajouter des langues ?
Oui. Ajoutez une colonne nommée par le code de la langue, comme ja ou pt-BR. Nodary reconnaît les codes et les noms de langues dans les en-têtes, et sa table de traduction sait aussi ajouter une colonne pour une langue.
Gardez les textes du jeu là où l’équipe travaille.
Importez le modèle dans Nodary et la table de chaînes rejoint la carte du design et des dialogues, avec l’état de chaque traduction sous les yeux. Gratuit avec deux membres, un projet et dix documents, sans carte bancaire.