i18n: adopt the client's word for tell, and translate the appearance tab

Two decisions, both yours.

Where Square Enix ships a client in a language, that client's word wins.
German says Flüstern, French message privé, Japanese テル, Korean
귓속말, Simplified Chinese 密语. Everywhere else there is no official
client and the loanword is what players actually say, so it stays.

That meant rewriting the whole corpus in those languages rather than
just the new keys, which is the reason the split existed in the first
place: forty German values and thirty-seven French ones carried the old
word. /tell is untouched, because that is a command and not a noun.

The mechanical pass left French with three agreement errors -- "des
message privé", "ce onglet", "messages de message privé" -- which is
what happens when you substring-replace a language with gender and
number. Fixed by hand.

Traditional Chinese keeps 悄悄話, which the file already used nineteen
times; it has no official client of its own.

The appearance tab is translated as well. Thirty keys: the colour
editor's groups and buttons, the theme categories, fork and import and
export, the font labels and the preview's input placeholder. Theme token
names stay English -- WindowBg and TextPrimary are JSON keys, not
prose -- and so do the brand strings.

465 keys, 25 files, no gaps, no orphans, no placeholder drift.

Still English and not in this commit: the database viewer behind
/hellionView, which is a documented user command rather than a
developer tool, and the symbol picker. Both are their own block.
This commit is contained in:
2026-08-19 05:11:05 +02:00
parent 5991f49c59
commit 3a1b863def
31 changed files with 2419 additions and 135 deletions
@@ -1357,4 +1357,94 @@
<data name="Settings_About_CustomRepo" xml:space="preserve">
<value>Manifest własnego repozytorium</value>
</data>
<data name="Settings_Theme_ActiveTheme" xml:space="preserve">
<value>Aktywny motyw: {0}</value>
</data>
<data name="Settings_Theme_ForkAndEdit" xml:space="preserve">
<value>Rozgałęź i edytuj</value>
</data>
<data name="Settings_Theme_ForkTooltip" xml:space="preserve">
<value>Wbudowanych motywów nie można edytować bezpośrednio. Rozgałęzienie tworzy własną kopię, którą możesz edytować i zapisać.</value>
</data>
<data name="Settings_Theme_EditTheme" xml:space="preserve">
<value>Edytuj motyw</value>
</data>
<data name="Settings_Theme_Editing" xml:space="preserve">
<value>Edytowanie: {0}</value>
</data>
<data name="Settings_Theme_Group_Surfaces" xml:space="preserve">
<value>Powierzchnie</value>
</data>
<data name="Settings_Theme_Group_Borders" xml:space="preserve">
<value>Obramowania</value>
</data>
<data name="Settings_Theme_Group_Text" xml:space="preserve">
<value>Tekst</value>
</data>
<data name="Settings_Theme_Group_Identity" xml:space="preserve">
<value>Tożsamość</value>
</data>
<data name="Settings_Theme_Group_Status" xml:space="preserve">
<value>Status</value>
</data>
<data name="Settings_Theme_Save" xml:space="preserve">
<value>Zapisz</value>
</data>
<data name="Settings_Theme_Cancel" xml:space="preserve">
<value>Anuluj</value>
</data>
<data name="Settings_Theme_ResetToSource" xml:space="preserve">
<value>Przywróć do źródła</value>
</data>
<data name="Settings_Theme_ResetUnavailable" xml:space="preserve">
<value>Przywracanie jest niedostępne podczas edycji rozgałęzienia. Najpierw zapisz lub anuluj.</value>
</data>
<data name="Settings_Theme_LockedTooltip" xml:space="preserve">
<value>Najpierw zapisz lub odrzuć swoje zmiany</value>
</data>
<data name="Settings_Theme_Custom" xml:space="preserve">
<value>Własne ({0})</value>
</data>
<data name="Settings_Theme_ForkActive" xml:space="preserve">
<value>Rozgałęź aktywny motyw</value>
</data>
<data name="Settings_Theme_ImportFile" xml:space="preserve">
<value>Importuj plik motywu…</value>
</data>
<data name="Settings_Theme_ExportActive" xml:space="preserve">
<value>Eksportuj aktywny motyw…</value>
</data>
<data name="Settings_Theme_ImportPathHint" xml:space="preserve">
<value>Ścieżka do pliku JSON (lub przeciągnij do folderu)</value>
</data>
<data name="Settings_Theme_ExportDialogTitle" xml:space="preserve">
<value>Eksportuj motyw</value>
</data>
<data name="Settings_Theme_Category_Cool" xml:space="preserve">
<value>Chłodne</value>
</data>
<data name="Settings_Theme_Category_Natural" xml:space="preserve">
<value>Naturalne</value>
</data>
<data name="Settings_Theme_Category_Classic" xml:space="preserve">
<value>Klasyczne</value>
</data>
<data name="Settings_Theme_Category_Retro" xml:space="preserve">
<value>Retro</value>
</data>
<data name="Settings_Fonts_Bundled" xml:space="preserve">
<value>Hellion Inter (w zestawie)</value>
</data>
<data name="Settings_Fonts_GameFont" xml:space="preserve">
<value>Czcionka z gry</value>
</data>
<data name="Settings_Fonts_Global" xml:space="preserve">
<value>Globalna: {0}</value>
</data>
<data name="Settings_Fonts_Active" xml:space="preserve">
<value>Aktywna: {0}</value>
</data>
<data name="Settings_Preview_TypeAMessage" xml:space="preserve">
<value>Napisz wiadomość...</value>
</data>
</root>