Szablon tabeli lokalizacji
Tabela tekstów, na której tłumacze mogą pracować: jeden wiersz na klucz, z kontekstem, limitem długości, angielskim źródłem i czterema tłumaczeniami, a do tego glosariusz i przewodnik stylu dla każdego języka. Pobierz ją jako .zip: tabela to plik CSV (UTF-8, wartości rozdzielone przecinkami), reszta to Markdown, a całość zaimportujesz do Nodary, gdzie CSV staje się arkuszem, którego używasz jako tabeli tłumaczeń.
4 pliki w archiwum .zip (Markdown i CSV), 5 kB
Za darmo, bez konta, bez e-maila. Używaj, zmieniaj, udostępniaj.
Przeczytaj każdy plik przed pobraniem
Przegląd wyjaśnia kolumny, nazewnictwo kluczy, zmienne i statusy tłumaczeń. Tabela zawiera 13 przykładowych tekstów z Saltmarrow, przykładowej gry, którą ta strona pokazuje wszędzie; dwie komórki są celowo błędne, żeby pokazać, co wyłapują kontrole.
Dokumenty
Plik Szablon tabeli lokalizacji/Tabela lokalizacji.md
Tabela lokalizacji
Jak korzystać z szablonu: wiersze kursywą to wskazówki. Zastąp je własnymi słowami, a potem usuń. Wartości w nawiasach kwadratowych uzupełniasz sam. Sama tabela to plik CSV obok tej strony.
Pliki
- Teksty: sama tabela, jeden wiersz na tekst, jedna kolumna na język
- Glosariusz: słowa tłumaczone wszędzie tak samo i nazwy, których się nie tłumaczy
- Przewodnik stylu: jak gra mówi w każdym języku
Kolumny
| Kolumna | Co zawiera |
|---|---|
| key | Unikalna nazwa tekstu, której gracze nigdy nie widzą |
| context | Gdzie tekst się pojawia i kto go mówi: to, czego tłumacz nie zgadnie |
| max_length | Największa liczba znaków, jaką tekst może zająć na ekranie |
| en | Tekst źródłowy |
| fr, de, es, pl | Jedna kolumna na język, nazwana jego kodem |
Nazywanie kluczy
Nazywaj klucze według miejsca, w którym żyje tekst, od ogółu do szczegółu, żeby powiązane teksty układały się obok siebie.
- Wzór: [ekran].[element].[szczegół], na przykład menu.play albo hud.tide.warning
- Małymi literami, z kropkami między częściami, bez spacji
- Nigdy nie używaj klucza ponownie do innego tekstu: dodaj nowy
Zmienne i znaczniki
Wartości, które wstawia gra, zostają w nawiasach klamrowych, na przykład {count}; każde tłumaczenie zachowuje każdą zmienną źródła. Znaczniki formatowania, na przykład znacznik pogrubienia w item.crystal.desc, zostają wokół słów, które oznaczają.
Statusy tłumaczeń
- BrakSzkic
- SzkicSprawdzone
- SprawdzoneOstateczne
- OstateczneNieaktualne
- NieaktualneSzkic
Mermaid
flowchart LR n0["Brak"] n1["Szkic"] n2["Sprawdzone"] n3["Ostateczne"] n4["Nieaktualne"] n0 --> n1 n1 --> n2 n2 --> n3 n3 --> n4 n4 --> n1
Przykład (Saltmarrow, przykładowa gra): Dwie komórki przykładu są celowo błędne. menu.settings po niemiecku, Einstellungen, ma 13 znaków, a przycisk mieści 10, więc kontrola długości to zgłasza; powitanie Archiwistki nie ma jeszcze polskiej wersji i liczy się jako brak.
Z tego szablonu możesz swobodnie korzystać, a także go zmieniać i udostępniać. Pochodzi z Nodary, gdzie te pliki importują się jako mapa połączonych dokumentów, a CSV jako arkusz.
Plik Szablon tabeli lokalizacji/Tabela lokalizacji/Teksty.csv
Teksty
| key | context | max_length | en | fr | de | es | pl |
|---|---|---|---|---|---|---|---|
| menu.play | Przycisk w menu głównym | 12 | Play | Jouer | Spielen | Jugar | Graj |
| menu.settings | Przycisk w menu głównym; przycisk mieści 10 znaków | 10 | Settings | Paramètres | Einstellungen | Ajustes | Ustawienia |
| menu.quit | Przycisk w menu głównym | 12 | Quit | Quitter | Beenden | Salir | Wyjdź |
| hud.tide.warning | Pokazywane w HUD dwie minuty przed zmianą pływu; {minutes} to liczba | 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 | Licznik w HUD; {count} to liczba | 20 | Salt: {count} | Sel : {count} | Salz: {count} | Sal: {count} | Sól: {count} |
| dialogue.archivist.greet | Utopiona Archiwistka, pierwsze spotkanie. Spokojna i oficjalna: zwraca się do gracza formalnie | 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 | Nazwa przedmiotu, w ekwipunku i w sklepie | 24 | Memory crystal | Cristal de mémoire | Erinnerungskristall | Cristal de memoria | Kryształ pamięci |
| item.crystal.desc | Opis przedmiotu; <b> oznacza słowo do wyróżnienia | 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 | Tytuł zadania w dzienniku | 32 | Before the horn | Avant la corne | Vor dem Horn | Antes del cuerno | Zanim zabrzmi róg |
| quest.horn.goal | Cel zadania w dzienniku; {count} to liczba | 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 | Komunikat po zapisie gry, widoczny przez dwie sekundy | 40 | Game saved | Partie sauvegardée | Spiel gespeichert | Partida guardada | Gra zapisana |
| ui.tide.low | Etykieta wskaźnika pływu | 16 | Low tide | Marée basse | Ebbe | Marea baja | Odpływ |
| ui.tide.high | Etykieta wskaźnika pływu | 16 | High tide | Marée haute | Flut | Marea alta | Przypływ |
Plik Szablon tabeli lokalizacji/Tabela lokalizacji/01 Glosariusz.md
Glosariusz
Dodaj pojęcie, gdy tłumacz po raz pierwszy o nie zapyta. Słowo przetłumaczone na dwa sposoby myli graczy i podwaja pytania do wsparcia.
Pojęcia
| Pojęcie (en) | fr | de | es | pl | Uwagi |
|---|---|---|---|---|---|
| tide | marée | Gezeiten | marea | pływ | Poziom wody, od którego zależy każdy system |
| salt | sel | Salz | sal | sól | Podstawowy surowiec |
| memory crystal | cristal de mémoire | Erinnerungskristall | cristal de memoria | kryształ pamięci | Zawsze pełna nazwa, nigdy samo „kryształ” w sklepie |
| horn | corne | Horn | cuerno | róg | Sygnał dwie minuty przed zmianą pływu |
| [pojęcie] | [...] | [...] | [...] | [...] | [...] |
Nigdy nie tłumacz
- Saltmarrow, nazwa gry
- [Imiona postaci i nazwy miejsc, które zostają bez zmian]
- [Nazwy platform i marek]
Plik Szablon tabeli lokalizacji/Tabela lokalizacji/02 Przewodnik stylu.md
Przewodnik stylu
Głos
Trzy słowa o głosie gry i o tym, jak nigdy nie brzmi.
- Głos: [...]
- Nigdy: [...]
Przykład (Saltmarrow, przykładowa gra): Spokojny i nieco staroświecki, jak strażniczka archiwum. Krótkie zdania. Żadnego współczesnego slangu.
Język po języku
| Język | Zwracanie się do gracza | Typografia | Uwagi |
|---|---|---|---|
| Francuski (fr) | [tu albo vous] | Spacja nierozdzielająca przed : ; ! ? i wewnątrz « » | [...] |
| Niemiecki (de) | [du albo Sie] | Cudzysłów „…“, rzeczowniki wielką literą | Często dłuższy niż angielski: najpierw sprawdź max_length |
| Hiszpański (es) | [tú albo usted] | Otwierające ¿ i ¡ | [...] |
| Polski (pl) | [ty albo Pan i Pani] | Cudzysłów „…”, trzy formy liczby mnogiej | Słowa wokół imienia gracza zmieniają się z płcią |
| [Język] | [...] | [...] | [...] |
Długość
Zostaw miejsce: tłumaczenia z angielskiego bywają dłuższe, w niektórych językach nawet o jedną trzecią. Ustalaj max_length według miejsca na ekranie, a nie według angielskiego tekstu.
Liczba mnoga i liczby
Języki liczą różnie: polski ma trzy formy liczby mnogiej tam, gdzie angielski ma dwie. Umieść liczbę po etykiecie (Sól: {count}) albo użyj systemu liczby mnogiej swojego silnika, a liczby i daty formatuj dla każdego języka.
Jak z niego korzystać
Zastąp przykładowe teksty
Zachowaj kolumny i sposób nazywania kluczy, a wstaw własne teksty. Zanim tekst trafi do tłumaczenia, nadaj mu kontekst i limit długości.
Zacznij glosariusz wcześnie
Dodaj każde pojęcie, gdy tłumacz po raz pierwszy o nie zapyta, z tłumaczeniem na każdy język. Słowo przetłumaczone na dwa sposoby myli graczy i podwaja pytania do wsparcia.
Ustal styl każdego języka
Przed tłumaczeniem zdecyduj, jak każdy język zwraca się do gracza i jakie ma zasady typograficzne. Zmiana później oznacza ponowne czytanie każdego tekstu.
Zamroź źródło przed wysłaniem
Wysyłaj teksty do tłumaczenia, gdy ich angielska wersja jest ostateczna. Gdy źródło zmieni się później, jego tłumaczenia trzeba sprawdzić ponownie.
Zaimportuj go do Nodary i używaj jako tabeli tłumaczeń
Nodary to przestrzeń robocza oparta na AI, w której dokumenty zespołu łączą się ze sobą, zamiast się piętrzyć. Zaimportuj .zip, a CSV pojawi się jako arkusz pod przeglądem, z glosariuszem i przewodnikiem stylu obok. W arkuszu „Tabela tłumaczeń” odczytuje role z nagłówków (key, context, max_length i jedna kolumna na język), sprawdza długość i zmienne każdego tłumaczenia, nadaje każdemu status, oznacza tłumaczenie jako nieaktualne, gdy zmieni się jego źródło, i eksportuje pliki dla Unity, Unreala i Godota: CSV, JSON, gettext .po i XLIFF.
- Otwórz mapę projektu i wybierz „Importuj”.
- Wybierz kartę „Folder lub ZIP”, potem „Wybierz plik ZIP”, wskaż plik i zaimportuj.
- Otwórz „Teksty”, wybierz „Tabela tłumaczeń”, sprawdź role odczytane z nagłówków, a potem „Użyj jako tabeli tłumaczeń”.
Plan Free mieści dziesięć dokumentów na przestrzeń roboczą, wliczając stronę samego projektu: cztery dokumenty szablonu zmieszczą się z zapasem. Kolumna źródłowa to angielski: jeśli twoja gra jest pisana w innym języku, ustaw tę kolumnę jako źródło, gdy Nodary pokaże role.
Jak Nodary obsługuje lokalizację gier
Jak prowadzić tabelę tekstów, na której tłumacze mogą pracować
Tabela tekstów zawodzi, gdy tłumacze muszą zgadywać, co znaczy wiersz albo ile ma miejsca, lub gdy tekst zmienia się po przetłumaczeniu i nikt tego nie zauważa. Te nawyki zapobiegają wszystkim trzem sytuacjom.
Każdy tekst z kontekstem
Kto to mówi, gdzie się pojawia, na co odpowiada. „Open” na drzwiach to czasownik, a na sklepie przymiotnik: mówi to tylko kontekst.
Długość ustalaj na podstawie ekranu
Zmierz, ile znaków zmieści przycisk, wiersz albo dymek, i zapisz ten limit, a nie długość angielskiego tekstu.
Nigdy nie składaj zdań z kawałków
Sklejanie w kodzie „Znalazłeś” i „3 kryształy” psuje szyk i gramatykę w większości języków. Daj każdemu zdaniu własny klucz ze zmiennymi.
Zmienne zostawiaj nietknięte
Każde tłumaczenie zachowuje każdą {zmienną} i każdy znacznik źródła. Zgubione {count} pokazuje graczowi dziurę albo wysypuje grę.
Jeden klucz, jedno znaczenie
Nigdy nie używaj klucza ponownie do innego tekstu. Dodaj nowy klucz, a stary usuń, gdy nic już z niego nie korzysta.
Zamroź źródło przed wysłaniem
Tłumacz tekst ostateczny. Gdy źródło mimo to się zmieni, oznacz jego tłumaczenia jako nieaktualne, żeby zostały sprawdzone ponownie.
Pytania o tabelę lokalizacji
Czym jest tabela lokalizacji?
Tabela lokalizacji (tabela tekstów) zawiera każdy tekst, który pokazuje gra, jeden wiersz na tekst: klucz używany w kodzie, tekst źródłowy, uwagi dla tłumaczy, limit długości i jedną kolumnę na język. Gra wczytuje tekst po kluczu w języku gracza, więc tekst można zmieniać i tłumaczyć bez dotykania kodu.
Jakie kolumny powinna mieć tabela tekstów?
Co najmniej klucz i tekst źródłowy, a potem kolumnę na każdy język. Kolumna kontekstu i kolumna maksymalnej długości oszczędzają większość pytań tłumaczy. Ten szablon ma wszystkie pięć rodzajów, z angielskim jako źródłem oraz francuskim, niemieckim, hiszpańskim i polskim.
Jak nazywać klucze tekstów?
Według miejsca, w którym żyje tekst, od ogółu do szczegółu, na przykład menu.play albo hud.tide.warning: małymi literami, z kropkami między częściami. Powiązane teksty układają się wtedy obok siebie, a klucz mówi, gdzie szukać w grze.
Jak radzić sobie z liczbą mnogą?
Języki liczą różnie: polski ma trzy formy liczby mnogiej tam, gdzie angielski ma dwie. Umieść liczbę po etykiecie, na przykład „Sól: {count}”, albo użyj systemu liczby mnogiej swojego silnika z jednym tekstem na formę.
Jak otworzyć plik CSV w Excelu?
Google Sheets, LibreOffice Calc, Numbers i Nodary otwierają go bez zmian. Excel otwiera go dwuklikiem tylko wtedy, gdy separatorem listy w systemie jest przecinek; przy polskich ustawieniach jest nim średnik i każdy wiersz trafia do jednej kolumny. Wtedy zaimportuj plik: na karcie Dane wybierz import z pliku tekstowego/CSV, wskaż plik, ustaw pochodzenie pliku na UTF-8, a ogranicznik na przecinek, i załaduj.
Czy Unity, Unreal albo Godot odczytają ten plik CSV?
CSV z szablonu jest przeznaczony dla arkuszy kalkulacyjnych i importu w Nodary. Każdy silnik czyta własny format: z tej samej tabeli tabela tłumaczeń Nodary eksportuje CSV dla Godota i Unity, gettext .po dla Unreala i Godota, JSON dla większości silników i XLIFF dla narzędzi tłumaczeniowych.
Czy mogę dodać języki?
Tak. Dodaj kolumnę nazwaną kodem języka, na przykład ja albo pt-BR. Nodary rozpoznaje kody i nazwy języków w nagłówkach, a jego tabela tłumaczeń potrafi też sama dodać kolumnę dla języka.
Trzymaj teksty gry tam, gdzie pracuje zespół.
Zaimportuj szablon do Nodary, a tabela tekstów znajdzie się na tej samej mapie co projekt i dialogi, ze statusem każdego tłumaczenia na widoku. Za darmo dla dwóch członków, jednego projektu i dziesięciu dokumentów, bez karty.