Lokalizacja: locale, Visual editor i zasoby Guide
Lokalizacja w Mindustry obejmuje system gry do tłumaczenia i prezentowania tekstu, edytory w grze oraz zasoby zależne od lokalizacji. Poprawna lokalizacja zapewnia, że gracze widzą menu, komunikaty i elementy interfejsu w wybranym języku oraz że funkcje zależne od lokalizacji (np. zasoby specyficzne dla regionu lub zachowanie edytora) działają przewidywalnie.
Obsługiwane locale i prezentacja tekstu
- Mindustry obsługuje wiele locale. Każde locale dostarcza przetłumaczone ciągi dla elementów interfejsu, nazw budynków i przedmiotów, podpowiedzi oraz komunikatów systemowych.
- Gdy tłumaczenie danego tekstu jest nieobecne w wybranym locale, gra cofa się do domyślnego języka (zwykle angielskiego).
- Pliki locale kontrolują nie tylko surowe tłumaczenia, ale także formatowanie liczb, dat i innych konwencji wyświetlania tam, gdzie ma to zastosowanie.
Lokalizacja edytora w grze
- Visual (wbudowany) editor — otwierany przez ikonę ołówka — jest zlokalizowany dla wygody użytkowników na różnych platformach. Zapewnia graficzny interfejs do edycji logic processors i jest polecany dla nowych graczy.
- Zaletami wbudowanego (graficznego) edytora są:
- Graficzny, blokowy interfejs odpowiedni dla początkujących.
- Prosty wybór zmiennych z wyświetleniem wszystkich dostępnych zmiennych.
- Intuicyjne obsługiwanie przepływu sterowania (np. Jump).
- Możliwość używania na urządzeniach mobilnych.
- Visual editor pozwala na import/eksport za pomocą schowka, dzięki czemu gracze mogą przenosić fragmenty logiki między instancjami i locale bez ręcznego przepisywania.
Zasoby specyficzne dla locale i dane regionu
- Niektóre zasoby gry i ustawienia są oznaczone tagami regionu. Na przykład niektóre definicje mapy lub regionu mogą odwoływać się do nazwanego obszaru shadow do załadowania; użycie wartości null oznacza normalny/domyślny obszar shadow.
- Dane locale mogą zawierać nazwy regionów (np. Serpulo) oraz inne ciągi specyficzne dla map. Powinny być one tłumaczone konsekwentnie, aby nie mylić graczy zmieniających locale.
Tłumaczenie danych liczbowych i mechaniki rozgrywki
- Pliki lokalizacyjne nie mogą zmieniać wartości liczbowych ani właściwości mechanicznych gry. Opisy są lokalizowane, ale wartości wyświetlane w interfejsie (obrażenia, prędkość, pojemność) powinny być prezentowane dokładnie tak, jak zdefiniowano w danych gry.
- Dla elementów o złożonych właściwościach (na przykład atrybuty płynów takie jak palność, eksplodowalność, lepkość, pojemność cieplna i temperatura), warstwa lokalizacyjna wyświetla etykiety i jednostki; nie zmienia ona tych mechanik.
Praca z wartościami null i brakującymi wartościami
- Niektóre pola konfiguracyjne akceptują null, aby wskazać domyślne zachowanie (na przykład null w polu "shadow" nazwy regionu, aby wskazać normalny shadow). Tłumacze i lokalizatorzy muszą zachować semantykę null i nie zastępować wartości null pustymi łańcuchami ani zlokalizowanym tekstem tam, gdzie silnik oczekuje null.
Najlepsze praktyki dla tłumaczy
- Zachowuj niezmienione tokeny zastępcze (np. {0}, %s) i utrzymuj ich kolejność, jeśli wymaga tego gramatyka języka docelowego.
- Nie tłumacz surowych identyfikatorów, kluczy technicznych ani nazw plików.
- Utrzymuj spójność terminologii dotyczącej rozgrywki (nazwy budynków, przedmiotów, nazwy regionów). Używaj ustalonych kanonicznych tłumaczeń nazw własnych, takich jak Serpulo.
- Testuj tłumaczenia w Visual editor i w grze, aby upewnić się, że interfejs mieści się w ograniczeniach układu i na ekranach mobilnych.
- Używaj importu/eksportu schowka, aby weryfikować fragmenty logiki między locale bez wprowadzania problemów z kodowaniem.
Testowanie i utrzymanie
- Weryfikuj tłumaczenia w grze, sprawdzając menu, podpowiedzi i wizualny edytor logiki.
- Upewnij się, że wszelkie odwołania do zasobów specyficznych dla locale (np. nazwy obszarów shadow) ładują się poprawnie oraz że zachowania domyślne/null pozostają nienaruszone.
- Synchronizuj pliki lokalizacyjne z aktualizacjami gry, aby uniknąć brakujących ciągów lub niezgodnych placeholderów.