Modello di tabella di localizzazione
Una tabella di stringhe su cui i traduttori possono lavorare: una riga per chiave, con il suo contesto, il limite di lunghezza, il testo inglese di origine e quattro traduzioni, più un glossario e una guida di stile per ogni lingua. Scaricala come .zip: la tabella è un file CSV (UTF-8, separato da virgole), il resto è Markdown, e l’insieme si importa in Nodary, dove il CSV diventa un foglio da usare come tabella di traduzione.
4 file in un .zip (Markdown e CSV), 5 kB
Gratis, senza account e senza email. Usalo, modificalo, condividilo.
Leggi ogni file prima di scaricarlo
La panoramica spiega le colonne, come nominare le chiavi, le variabili e gli stati di traduzione. La tabella contiene 13 stringhe di esempio di Saltmarrow, il gioco di esempio che questo sito usa ovunque; due celle sono sbagliate apposta, per mostrare cosa rilevano i controlli.
Documenti
File Modello di tabella di localizzazione/Tabella di localizzazione.md
Tabella di localizzazione
Come usare questo modello: le righe in corsivo sono indicazioni. Sostituiscile con parole tue, poi cancellale. I valori tra parentesi quadre li compili tu. La tabella vera e propria è il file CSV accanto a questa pagina.
I file
- Stringhe: la tabella stessa, una riga per stringa, una colonna per lingua
- Glossario: le parole tradotte sempre allo stesso modo, e i nomi che non si traducono mai
- Guida di stile: come parla il gioco in ogni lingua
Colonne
| Colonna | Cosa contiene |
|---|---|
| key | Un nome unico per la stringa, mai mostrato ai giocatori |
| context | Dove compare il testo e chi lo dice: ciò che un traduttore non può indovinare |
| max_length | Il numero massimo di caratteri che il testo può occupare a schermo |
| en | Il testo di origine |
| fr, de, es, pl | Una colonna per lingua, con il suo codice come nome |
Nominare le chiavi
Nomina le chiavi in base a dove vive il testo, dal generale al particolare, così le stringhe collegate stanno vicine.
- Schema: [schermata].[elemento].[dettaglio], come menu.play o hud.tide.warning
- Minuscole, con punti tra le parti e senza spazi
- Non riusare mai una chiave per un testo diverso: aggiungine una nuova
Variabili e markup
I valori che il gioco inserisce restano tra graffe, come {count}; ogni traduzione conserva ogni variabile della sua fonte. I tag di markup, come il tag del grassetto in item.crystal.desc, restano attorno alle parole che marcano.
Stati di traduzione
- MancanteBozza
- BozzaRivista
- RivistaDefinitiva
- DefinitivaDa aggiornare
- Da aggiornareBozza
Mermaid
flowchart LR n0["Mancante"] n1["Bozza"] n2["Rivista"] n3["Definitiva"] n4["Da aggiornare"] n0 --> n1 n1 --> n2 n2 --> n3 n3 --> n4 n4 --> n1
Esempio (Saltmarrow, un gioco di esempio): Due celle dell’esempio sono sbagliate apposta. menu.settings in tedesco, Einstellungen, ha 13 caratteri dove il pulsante ne contiene 10, quindi il controllo di lunghezza lo segnala; il saluto dell’Archivista non ha ancora il polacco, quindi conta come mancante.
Questo modello è libero da usare, modificare e condividere. Viene da Nodary, dove questi file si importano come mappa di documenti collegati e il CSV come foglio.
File Modello di tabella di localizzazione/Tabella di localizzazione/Stringhe.csv
Stringhe
| key | context | max_length | en | fr | de | es | pl |
|---|---|---|---|---|---|---|---|
| menu.play | Pulsante del menu principale | 12 | Play | Jouer | Spielen | Jugar | Graj |
| menu.settings | Pulsante del menu principale; il pulsante contiene 10 caratteri | 10 | Settings | Paramètres | Einstellungen | Ajustes | Ustawienia |
| menu.quit | Pulsante del menu principale | 12 | Quit | Quitter | Beenden | Salir | Wyjdź |
| hud.tide.warning | Mostrato nell’HUD due minuti prima che la marea giri; {minutes} è un numero | 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 | Contatore dell’HUD; {count} è un numero | 20 | Salt: {count} | Sel : {count} | Salz: {count} | Sal: {count} | Sól: {count} |
| dialogue.archivist.greet | L’Archivista Annegato, primo incontro. Calmo e formale: dà del lei al giocatore | 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 | Nome dell’oggetto, nell’inventario e nel negozio | 24 | Memory crystal | Cristal de mémoire | Erinnerungskristall | Cristal de memoria | Kryształ pamięci |
| item.crystal.desc | Descrizione dell’oggetto; <b> marca la parola da evidenziare | 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 | Titolo della missione nel diario | 32 | Before the horn | Avant la corne | Vor dem Horn | Antes del cuerno | Zanim zabrzmi róg |
| quest.horn.goal | Obiettivo della missione nel diario; {count} è un numero | 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 | Messaggio dopo il salvataggio, mostrato per due secondi | 40 | Game saved | Partie sauvegardée | Spiel gespeichert | Partida guardada | Gra zapisana |
| ui.tide.low | Etichetta dell’indicatore di marea | 16 | Low tide | Marée basse | Ebbe | Marea baja | Odpływ |
| ui.tide.high | Etichetta dell’indicatore di marea | 16 | High tide | Marée haute | Flut | Marea alta | Przypływ |
File Modello di tabella di localizzazione/Tabella di localizzazione/01 Glossario.md
Glossario
Aggiungi un termine la prima volta che un traduttore lo chiede. Una parola tradotta in due modi confonde i giocatori e raddoppia le domande al supporto.
Termini
| Termine (en) | fr | de | es | pl | Note |
|---|---|---|---|---|---|
| tide | marée | Gezeiten | marea | pływ | Il livello dell’acqua che guida ogni sistema |
| salt | sel | Salz | sal | sól | La risorsa comune |
| memory crystal | cristal de mémoire | Erinnerungskristall | cristal de memoria | kryształ pamięci | Sempre il nome completo, mai «cristallo» da solo nel negozio |
| horn | corne | Horn | cuerno | róg | Il segnale due minuti prima che la marea giri |
| [termine] | [...] | [...] | [...] | [...] | [...] |
Da non tradurre mai
- Saltmarrow, il nome del gioco
- [Nomi di personaggi e luoghi che restano come sono]
- [Nomi di piattaforme e marchi]
File Modello di tabella di localizzazione/Tabella di localizzazione/02 Guida di stile.md
Guida di stile
Voce
Tre parole per la voce del gioco, e come non suona mai.
- Voce: [...]
- Mai: [...]
Esempio (Saltmarrow, un gioco di esempio): Calma e un po’ antiquata, come il custode di un archivio. Frasi brevi. Niente gergo moderno.
Lingua per lingua
| Lingua | Come ci si rivolge al giocatore | Tipografia | Note |
|---|---|---|---|
| Francese (fr) | [tu o vous] | Uno spazio indivisibile prima di : ; ! ? e dentro « » | [...] |
| Tedesco (de) | [du o Sie] | „Virgolette“, sostantivi con la maiuscola | Spesso più lungo dell’inglese: controlla prima max_length |
| Spagnolo (es) | [tú o usted] | ¿ e ¡ in apertura | [...] |
| Polacco (pl) | [ty, o Pan e Pani] | „Virgolette”, tre forme plurali | Le parole attorno al nome del giocatore cambiano con il genere |
| [Lingua] | [...] | [...] | [...] |
Lunghezza
Lascia spazio: le traduzioni dall’inglese sono spesso più lunghe, fino a un terzo in alcune lingue. Fissa max_length dallo spazio a schermo, non dall’inglese.
Plurali e numeri
Le lingue contano in modo diverso: il polacco ha tre forme plurali dove l’inglese ne ha due. Metti il numero dopo un’etichetta (Sale: {count}) o usa il sistema di plurali del tuo motore, e formatta numeri e date per ogni lingua.
Come usarlo
Sostituisci le stringhe di esempio
Tieni le colonne e la denominazione delle chiavi, e inserisci le tue stringhe. Dai a ogni stringa un contesto e un limite di lunghezza prima che vada a un traduttore.
Scrivi presto il glossario
Aggiungi ogni termine la prima volta che un traduttore lo chiede, con la sua traduzione in ogni lingua. Una parola tradotta in due modi confonde i giocatori e raddoppia le domande al supporto.
Concorda lo stile di ogni lingua
Decidi come ogni lingua si rivolge al giocatore e le sue regole tipografiche prima di iniziare la traduzione. Cambiarle dopo significa rileggere ogni stringa.
Congela la fonte prima di inviarla
Manda le stringhe in traduzione quando il loro inglese è definitivo. Se una fonte cambia dopo, le sue traduzioni vanno ricontrollate.
Importalo in Nodary e usalo come tabella di traduzione
Nodary è uno spazio di lavoro AI-native in cui i documenti di un team si collegano invece di accumularsi. Importa lo .zip e il CSV arriva come foglio sotto la panoramica, con il glossario e la guida di stile accanto. Sul foglio, Tabella di traduzione legge i ruoli dalle intestazioni (key, context, max_length e una colonna per lingua), poi controlla lunghezza e variabili di ogni traduzione, le assegna uno stato, segna una traduzione come da aggiornare quando la sua fonte cambia, ed esporta file per Unity, Unreal e Godot: CSV, JSON, gettext .po e XLIFF.
- Apri la mappa di un progetto e scegli «Importa».
- Scegli la scheda «Cartella o ZIP», poi «Scegli uno ZIP», seleziona il file e importa.
- Apri Stringhe, scegli «Tabella di traduzione», controlla i ruoli letti dalle intestazioni, poi «Usa come tabella di traduzione».
Il piano Free contiene dieci documenti per spazio di lavoro, pagina del progetto inclusa: i quattro del modello ci stanno con margine. La colonna di origine è l’inglese: se il tuo gioco è scritto in un’altra lingua, rendi quella colonna l’origine quando Nodary mostra i ruoli.
Come Nodary gestisce la localizzazione dei giochi
Tenere una tabella di stringhe su cui i traduttori possono lavorare
Una tabella di stringhe non funziona quando i traduttori devono indovinare cosa significa una riga o quanto spazio ha, o quando un testo cambia dopo la traduzione e nessuno se ne accorge. Queste abitudini evitano tutti e tre i casi.
Dai un contesto a ogni stringa
Chi la dice, dove compare, a cosa risponde. «Open» è un verbo su una porta e un aggettivo su un negozio: solo il contesto lo dice.
Fissa la lunghezza dallo schermo
Misura quanti caratteri contiene il pulsante, la riga o il fumetto, e scrivi quel limite, non la lunghezza dell’inglese.
Mai costruire frasi a pezzi
Unire «Hai trovato» e «3 cristalli» nel codice rompe l’ordine delle parole e la grammatica nella maggior parte delle lingue. Dai a ogni frase la sua chiave, con le variabili.
Tieni intatte le variabili
Ogni traduzione conserva ogni {variabile} e ogni tag della sua fonte. Un {count} perso mostra un vuoto ai giocatori, o manda in crash il gioco.
Una chiave, un significato
Non riusare mai una chiave per un testo diverso. Aggiungi una nuova chiave; togli la vecchia quando niente la usa più.
Congela la fonte prima di inviarla
Traduci testo definitivo. Se una fonte cambia comunque, segna le sue traduzioni come da aggiornare, così vengono ricontrollate.
Domande sulle tabelle di localizzazione
Che cos’è una tabella di localizzazione?
Una tabella di stringhe contiene ogni testo che un gioco mostra, una riga per stringa: una chiave usata dal codice, il testo di origine, note per i traduttori, un limite di lunghezza e una colonna per lingua. Il gioco carica il testo per chiave nella lingua del giocatore, così il testo può cambiare ed essere tradotto senza toccare il codice.
Quali colonne deve avere una tabella di stringhe?
Almeno una chiave e il testo di origine, poi una colonna per lingua. Una colonna di contesto e una di lunghezza massima risparmiano la maggior parte delle domande che i traduttori farebbero. Questo modello le ha tutte e cinque, con l’inglese come origine e francese, tedesco, spagnolo e polacco.
Come nominare le chiavi delle stringhe?
In base a dove vive il testo, dal generale al particolare, come menu.play o hud.tide.warning: minuscole, con punti tra le parti. Così le stringhe collegate stanno vicine, e una chiave dice dove guardare nel gioco.
Come gestire i plurali?
Le lingue contano in modo diverso: il polacco ha tre forme plurali dove l’inglese e l’italiano ne hanno due. Metti il numero dopo un’etichetta, come «Sale: {count}», oppure usa il sistema di plurali del tuo motore con un testo per forma.
Come apro il CSV in Excel?
Google Sheets, LibreOffice Calc, Numbers e Nodary lo aprono così com’è. Excel lo apre con un doppio clic solo se il separatore di elenco del computer è la virgola; con le impostazioni italiane è il punto e virgola, e ogni riga finisce in una sola colonna. Importalo invece: nella scheda Dati scegli l’importazione da testo/CSV, seleziona il file, imposta l’origine del file su UTF-8 e il delimitatore su Virgola, poi caricalo.
Unity, Unreal o Godot leggono questo CSV?
Il CSV del modello è fatto per i fogli di calcolo e per l’importazione in Nodary. Ogni motore legge il suo formato: dalla stessa tabella, la tabella di traduzione di Nodary esporta CSV per Godot e Unity, gettext .po per Unreal e Godot, JSON per la maggior parte dei motori e XLIFF per gli strumenti di traduzione.
Posso aggiungere lingue?
Sì. Aggiungi una colonna con il codice della lingua, come it o pt-BR. Nodary riconosce codici e nomi di lingua nelle intestazioni, e la sua tabella di traduzione può anche aggiungere una colonna per una lingua.
Tieni i testi del gioco dove lavora il team.
Importa il modello in Nodary e la tabella di stringhe sta sulla stessa mappa del design e dei dialoghi, con lo stato di ogni traduzione sotto gli occhi. Gratis con due membri, un progetto e dieci documenti, senza carta.