Mall för lokaliseringstabell
En strängtabell som översättare kan arbeta i: en rad per nyckel, med sammanhang, längdgräns, den engelska källtexten och fyra översättningar, plus en ordlista och en stilguide för varje språk. Ladda ned den som .zip: tabellen är en CSV-fil (UTF-8, kommaseparerad), resten är Markdown, och allt importeras till Nodary, där CSV-filen blir ett kalkylblad du kan använda som översättningstabell.
4 filer i en .zip (Markdown och CSV), 6 kB
Gratis, inget konto, ingen e-post. Använd den, ändra den, dela den.
Läs varje fil innan du laddar ned
Översikten förklarar kolumnerna, hur nycklar namnges, platshållare och översättningsstatus. Tabellen innehåller 13 exempelsträngar från Saltmarrow, exempelspelet som den här webbplatsen använder överallt; två celler är fel med flit, för att visa vad kontrollerna fångar.
Dokument
Fil Mall för lokaliseringstabell/Lokaliseringstabell.md
Lokaliseringstabell
Så använder du mallen: kursiva rader är vägledning. Ersätt dem med dina egna ord och radera dem sedan. Värden inom hakparentes fyller du i. Själva tabellen är CSV-filen bredvid den här sidan.
Filerna
- Strängar: själva tabellen, en rad per sträng, en kolumn per språk
- Ordlista: orden som översätts likadant överallt, och namnen som aldrig översätts
- Stilguide: hur spelet talar på varje språk
Kolumner
| Kolumn | Vad den innehåller |
|---|---|
| key | Ett unikt namn för strängen, som aldrig visas för spelarna |
| context | Var texten visas och vem som säger den: det en översättare inte kan gissa |
| max_length | Högsta antalet tecken texten får ta på skärmen |
| en | Källtexten |
| fr, de, es, pl | En kolumn per språk, med språkets kod som namn |
Namnge nycklar
Namnge nycklar efter var texten finns, från det allmänna till det specifika, så att relaterade strängar sorteras tillsammans.
- Mönster: [skärm].[element].[detalj], som menu.play eller hud.tide.warning
- Gemener, med punkter mellan delarna och utan mellanslag
- Återanvänd aldrig en nyckel för en annan text: lägg till en ny
Platshållare och märkning
Värden som spelet fyller i står inom klammerparentes, som {count}; varje översättning behåller varje platshållare från källan. Märkningstaggar, som fetstilstaggen i item.crystal.desc, stannar runt orden de markerar.
Översättningsstatus
- SaknasUtkast
- UtkastGranskad
- GranskadKlar
- KlarInaktuell
- InaktuellUtkast
Mermaid
flowchart LR n0["Saknas"] n1["Utkast"] n2["Granskad"] n3["Klar"] n4["Inaktuell"] n0 --> n1 n1 --> n2 n2 --> n3 n3 --> n4 n4 --> n1
Exempel (Saltmarrow, ett exempelspel): Två celler i exemplet är fel med flit. menu.settings på tyska, Einstellungen, har 13 tecken där knappen rymmer 10, så längdkontrollen flaggar den; Arkivariens hälsning saknar ännu polska, så den räknas som saknad.
Mallen är fri att använda, ändra och dela. Den kommer från Nodary, där filerna importeras som en karta av länkade dokument och CSV-filen som ett kalkylblad.
Fil Mall för lokaliseringstabell/Lokaliseringstabell/Strängar.csv
Strängar
| key | context | max_length | en | fr | de | es | pl |
|---|---|---|---|---|---|---|---|
| menu.play | Knapp i huvudmenyn | 12 | Play | Jouer | Spielen | Jugar | Graj |
| menu.settings | Knapp i huvudmenyn; knappen rymmer 10 tecken | 10 | Settings | Paramètres | Einstellungen | Ajustes | Ustawienia |
| menu.quit | Knapp i huvudmenyn | 12 | Quit | Quitter | Beenden | Salir | Wyjdź |
| hud.tide.warning | Visas i HUD två minuter innan tidvattnet vänder; {minutes} är ett tal | 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 | Räknare i HUD; {count} är ett tal | 20 | Salt: {count} | Sel : {count} | Salz: {count} | Sal: {count} | Sól: {count} |
| dialogue.archivist.greet | Den drunknade arkivarien, första mötet. Lugn och formell: niar spelaren | 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 | Föremålets namn, i inventariet och i butiken | 24 | Memory crystal | Cristal de mémoire | Erinnerungskristall | Cristal de memoria | Kryształ pamięci |
| item.crystal.desc | Föremålets beskrivning; <b> markerar ordet som ska framhävas | 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 | Uppdragets titel i dagboken | 32 | Before the horn | Avant la corne | Vor dem Horn | Antes del cuerno | Zanim zabrzmi róg |
| quest.horn.goal | Uppdragets mål i dagboken; {count} är ett tal | 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 | Meddelande efter sparning, visas i två sekunder | 40 | Game saved | Partie sauvegardée | Spiel gespeichert | Partida guardada | Gra zapisana |
| ui.tide.low | Etikett på tidvattenmätaren | 16 | Low tide | Marée basse | Ebbe | Marea baja | Odpływ |
| ui.tide.high | Etikett på tidvattenmätaren | 16 | High tide | Marée haute | Flut | Marea alta | Przypływ |
Fil Mall för lokaliseringstabell/Lokaliseringstabell/01 Ordlista.md
Ordlista
Lägg till en term första gången en översättare frågar om den. Ett ord som översätts på två sätt förvirrar spelarna och fördubblar supportfrågorna.
Termer
| Term (en) | fr | de | es | pl | Anteckningar |
|---|---|---|---|---|---|
| tide | marée | Gezeiten | marea | pływ | Vattennivån som styr alla system |
| salt | sel | Salz | sal | sól | Den vanliga resursen |
| memory crystal | cristal de mémoire | Erinnerungskristall | cristal de memoria | kryształ pamięci | Alltid hela namnet, aldrig bara ”kristall” i butiken |
| horn | corne | Horn | cuerno | róg | Signalen två minuter innan tidvattnet vänder |
| [term] | [...] | [...] | [...] | [...] | [...] |
Översätts aldrig
- Saltmarrow, spelets namn
- [Namn på figurer och platser som behålls som de är]
- [Plattforms- och varumärkesnamn]
Fil Mall för lokaliseringstabell/Lokaliseringstabell/02 Stilguide.md
Stilguide
Röst
Tre ord för spelets röst, och hur det aldrig låter.
- Röst: [...]
- Aldrig: [...]
Exempel (Saltmarrow, ett exempelspel): Lugn och lite gammaldags, som en arkivvaktare. Korta meningar. Ingen modern slang.
Språk för språk
| Språk | Tilltal av spelaren | Typografi | Anteckningar |
|---|---|---|---|
| Franska (fr) | [tu eller vous] | Ett hårt mellanslag före : ; ! ? och innanför « » | [...] |
| Tyska (de) | [du eller Sie] | „Citattecken“, substantiv med versal | Ofta längre än engelskan: kontrollera max_length först |
| Spanska (es) | [tú eller usted] | Inledande ¿ och ¡ | [...] |
| Polska (pl) | [ty, eller Pan och Pani] | „Citattecken”, tre pluralformer | Orden kring spelarens namn ändras med genus |
| [Språk] | [...] | [...] | [...] |
Längd
Lämna utrymme: översättningar från engelska blir ofta längre, upp till en tredjedel i vissa språk. Sätt max_length utifrån utrymmet på skärmen, inte utifrån engelskan.
Plural och tal
Språk räknar olika: polska har tre pluralformer där engelska har två. Sätt talet efter en etikett (Salt: {count}) eller använd spelmotorns pluralsystem, och formatera tal och datum för varje språk.
Så använder du den
Byt ut exempelsträngarna
Behåll kolumnerna och namngivningen av nycklar och lägg in dina egna strängar. Ge varje sträng ett sammanhang och en längdgräns innan den går till en översättare.
Skriv ordlistan tidigt
Lägg till varje term första gången en översättare frågar om den, med översättningen på varje språk. Ett ord som översätts på två sätt förvirrar spelarna och fördubblar supportfrågorna.
Kom överens om stilen per språk
Bestäm hur varje språk tilltalar spelaren och vilka typografiska regler det har innan översättningen börjar. Att ändra det senare betyder att läsa om varje sträng.
Frys källan innan du skickar den
Skicka strängar till översättning när den engelska texten är slutgiltig. När en källa ändras efteråt måste dess översättningar kontrolleras igen.
Importera den till Nodary och använd den som översättningstabell
Nodary är en AI-native arbetsyta där ett teams dokument länkas i stället för att samlas i högar. Importera .zip-filen så kommer CSV-filen som ett kalkylblad under översikten, med ordlistan och stilguiden bredvid. På kalkylbladet läser Översättningstabell rollerna från rubrikerna (key, context, max_length och en kolumn per språk), kontrollerar sedan varje översättnings längd och platshållare, ger var och en en status, markerar en översättning som inaktuell när dess källa ändras och exporterar filer för Unity, Unreal och Godot: CSV, JSON, gettext .po och XLIFF.
- Öppna ett projekts karta och välj Importera.
- Välj fliken ”Mapp eller ZIP”, sedan ”Välj en ZIP-fil”, välj filen och importera.
- Öppna Strängar, välj ”Översättningstabell”, kontrollera rollerna som lästs från rubrikerna och välj sedan ”Använd som översättningstabell”.
Free-planen rymmer tio dokument per arbetsyta, projektets egen sida inräknad: mallens fyra får gott och väl plats. Källkolumnen är engelska: om ditt spel är skrivet på ett annat språk, gör den kolumnen till källa när Nodary visar rollerna.
Så hanterar Nodary spellokalisering
En strängtabell som översättare kan arbeta i
En strängtabell misslyckas när översättare måste gissa vad en rad betyder eller hur mycket plats den har, eller när text ändras efter översättningen utan att någon märker det. De här vanorna förhindrar alla tre.
Ge varje sträng ett sammanhang
Vem som säger den, var den visas, vad den svarar på. ”Open” är ett verb på en dörr och ett adjektiv på en butik: bara sammanhanget avgör.
Sätt längden utifrån skärmen
Mät hur många tecken knappen, raden eller pratbubblan rymmer, och skriv den gränsen, inte längden på engelskan.
Bygg aldrig meningar av bitar
Att foga ihop ”Du hittade” och ”3 kristaller” i koden förstör ordföljd och grammatik i de flesta språk. Ge varje mening en egen nyckel, med platshållare.
Håll platshållarna hela
Varje översättning behåller varje {platshållare} och varje tagg från källan. En tappad {count} visar spelarna ett tomrum, eller kraschar spelet.
En nyckel, en betydelse
Återanvänd aldrig en nyckel för en annan text. Lägg till en ny nyckel och ta bort den gamla när inget längre använder den.
Frys källan innan du skickar den
Översätt text som är slutgiltig. Om en källa ändå ändras, markera dess översättningar som inaktuella så att de kontrolleras igen.
Frågor om lokaliseringstabeller
Vad är en lokaliseringstabell?
En strängtabell rymmer all text som ett spel visar, en rad per sträng: en nyckel som koden använder, källtexten, anteckningar till översättare, en längdgräns och en kolumn per språk. Spelet laddar texten via nyckeln på spelarens språk, så texten kan ändras och översättas utan att koden rörs.
Vilka kolumner ska en strängtabell ha?
Minst en nyckel och källtexten, sedan en kolumn per språk. En sammanhangskolumn och en kolumn för maxlängd sparar de flesta frågor som översättare annars skulle ställa. Mallen har alla fem slagen, med engelska som källa och franska, tyska, spanska och polska.
Hur ska jag namnge strängnycklar?
Efter var texten finns, från det allmänna till det specifika, som menu.play eller hud.tide.warning: gemener, med punkter mellan delarna. Då sorteras relaterade strängar tillsammans, och en nyckel säger var i spelet man ska titta.
Hur hanterar jag plural?
Språk räknar olika: polska har tre pluralformer där engelska och svenska har två. Sätt antingen talet efter en etikett, som ”Salt: {count}”, eller använd spelmotorns pluralsystem med en text per form.
Hur öppnar jag CSV-filen i Excel?
Google Sheets, LibreOffice Calc, Numbers och Nodary öppnar den som den är. Excel öppnar den med ett dubbelklick bara om datorns listavgränsare är ett kommatecken; med svenska inställningar är det semikolon, och varje rad hamnar då i en enda kolumn. Importera filen i stället: välj import från text/CSV på fliken Data, välj filen, ange UTF-8 som filursprung och kommatecken som avgränsare, och läs in den.
Läser Unity, Unreal eller Godot den här CSV-filen?
Mallens CSV är gjord för kalkylprogram och för Nodarys import. Spelmotorerna läser var sitt format: från samma tabell exporterar Nodarys översättningstabell CSV för Godot och Unity, gettext .po för Unreal och Godot, JSON för de flesta motorer och XLIFF för översättningsverktyg.
Kan jag lägga till språk?
Ja. Lägg till en kolumn som heter språkets kod, som sv eller pt-BR. Nodary känner igen koder och språknamn i rubrikerna, och dess översättningstabell kan också lägga till en kolumn för ett språk.
Håll spelets text där teamet arbetar.
Importera mallen till Nodary så ligger strängtabellen på samma karta som designen och dialogen, med varje översättnings status synlig. Gratis med två medlemmar, ett projekt och tio dokument, inget kort behövs.