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
+98 -8
View File
@@ -506,7 +506,7 @@
<data name="ChatLog_AutoTellTabs_Section_Title" xml:space="preserve">
<value>Auto-Tell-Tabs</value>
<value>자동 귓속말 탭</value>
</data>
<data name="ChatLog_AutoTellTabs_Enable_Name" xml:space="preserve">
<value>모든 /tell에 대해 대화 상대별 탭 자동 열기</value>
@@ -997,7 +997,7 @@
<value>입력 및 미리 보기</value>
</data>
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>자동 텔 탭</value>
<value>자동 귓속말 탭</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>감정 표현</value>
@@ -1200,10 +1200,10 @@
<value>차단</value>
</data>
<data name="Settings_NotifyFailedTell_Name" xml:space="preserve">
<value>텔이 전달되지 않으면 알림</value>
<value>귓속말이 전달되지 않으면 알림</value>
</data>
<data name="Settings_NotifyFailedTell_Description" xml:space="preserve">
<value>게임은 텔 실패를 로그에만 표시합니다. 이 설정은 대신 알림을 띄워, 오프라인이거나 다른 월드에 있는 상대에게 보낸 메시지를 놓치지 않게 합니다.</value>
<value>게임은 귓속말 실패를 로그에만 표시합니다. 이 설정은 대신 알림을 띄워, 오프라인이거나 다른 월드에 있는 상대에게 보낸 메시지를 놓치지 않게 합니다.</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>최신 메시지로 이동</value>
@@ -1248,7 +1248,7 @@
<value>크기 조절 동작</value>
</data>
<data name="Settings_Section_TellAutoOpen" xml:space="preserve">
<value>텔 자동 열기</value>
<value>귓속말 자동 열기</value>
</data>
<data name="Settings_Section_Sidebar" xml:space="preserve">
<value>사이드바</value>
@@ -1299,13 +1299,13 @@
<value>입력 중에 명령어 힌트 목록을 어느 쪽에 표시할지.</value>
</data>
<data name="Settings_Channels_TellAutoOpenMode_Name" xml:space="preserve">
<value>텔 자동 열기 방식</value>
<value>귓속말 자동 열기 방식</value>
</data>
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>텔이 도착했을 때 어디에서 열릴지.</value>
<value>귓속말이 도착했을 때 어디에서 열릴지.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>텔마다 탭으로 전환</value>
<value>귓속말마다 탭으로 전환</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Description" xml:space="preserve">
<value>그렇지 않으면 첫 통 이후 탭이 배경에서 열립니다.</value>
@@ -1358,4 +1358,94 @@
<data name="Settings_About_CustomRepo" xml:space="preserve">
<value>커스텀 저장소 매니페스트</value>
</data>
<data name="Settings_Theme_ActiveTheme" xml:space="preserve">
<value>현재 테마: {0}</value>
</data>
<data name="Settings_Theme_ForkAndEdit" xml:space="preserve">
<value>복제 후 편집</value>
</data>
<data name="Settings_Theme_ForkTooltip" xml:space="preserve">
<value>기본 제공 테마는 직접 편집할 수 없습니다. 복제하면 편집하고 저장할 수 있는 사용자 테마가 만들어집니다.</value>
</data>
<data name="Settings_Theme_EditTheme" xml:space="preserve">
<value>테마 편집</value>
</data>
<data name="Settings_Theme_Editing" xml:space="preserve">
<value>편집 중: {0}</value>
</data>
<data name="Settings_Theme_Group_Surfaces" xml:space="preserve">
<value>표면</value>
</data>
<data name="Settings_Theme_Group_Borders" xml:space="preserve">
<value>테두리</value>
</data>
<data name="Settings_Theme_Group_Text" xml:space="preserve">
<value>텍스트</value>
</data>
<data name="Settings_Theme_Group_Identity" xml:space="preserve">
<value>아이덴티티</value>
</data>
<data name="Settings_Theme_Group_Status" xml:space="preserve">
<value>상태</value>
</data>
<data name="Settings_Theme_Save" xml:space="preserve">
<value>저장</value>
</data>
<data name="Settings_Theme_Cancel" xml:space="preserve">
<value>취소</value>
</data>
<data name="Settings_Theme_ResetToSource" xml:space="preserve">
<value>원본으로 되돌리기</value>
</data>
<data name="Settings_Theme_ResetUnavailable" xml:space="preserve">
<value>복제본을 편집하는 동안에는 되돌릴 수 없습니다. 먼저 저장하거나 취소하세요.</value>
</data>
<data name="Settings_Theme_LockedTooltip" xml:space="preserve">
<value>먼저 변경 사항을 저장하거나 취소하세요</value>
</data>
<data name="Settings_Theme_Custom" xml:space="preserve">
<value>사용자 지정 ({0})</value>
</data>
<data name="Settings_Theme_ForkActive" xml:space="preserve">
<value>현재 테마 복제</value>
</data>
<data name="Settings_Theme_ImportFile" xml:space="preserve">
<value>테마 파일 가져오기…</value>
</data>
<data name="Settings_Theme_ExportActive" xml:space="preserve">
<value>현재 테마 내보내기…</value>
</data>
<data name="Settings_Theme_ImportPathHint" xml:space="preserve">
<value>JSON 파일 경로 (또는 폴더로 끌어다 놓기)</value>
</data>
<data name="Settings_Theme_ExportDialogTitle" xml:space="preserve">
<value>테마 내보내기</value>
</data>
<data name="Settings_Theme_Category_Cool" xml:space="preserve">
<value>쿨</value>
</data>
<data name="Settings_Theme_Category_Natural" xml:space="preserve">
<value>내추럴</value>
</data>
<data name="Settings_Theme_Category_Classic" xml:space="preserve">
<value>클래식</value>
</data>
<data name="Settings_Theme_Category_Retro" xml:space="preserve">
<value>레트로</value>
</data>
<data name="Settings_Fonts_Bundled" xml:space="preserve">
<value>Hellion Inter (기본 포함)</value>
</data>
<data name="Settings_Fonts_GameFont" xml:space="preserve">
<value>게임 글꼴</value>
</data>
<data name="Settings_Fonts_Global" xml:space="preserve">
<value>전역: {0}</value>
</data>
<data name="Settings_Fonts_Active" xml:space="preserve">
<value>사용 중: {0}</value>
</data>
<data name="Settings_Preview_TypeAMessage" xml:space="preserve">
<value>메시지를 입력하세요...</value>
</data>
</root>