Skip to content

Add 23 translations for XUnity.AutoTranslator (CJK, European, Baltic, SE Asian, Swahili) - #129

Merged
ManlyMarco merged 3 commits into
BepInEx:masterfrom
MikalaiKryvusha:translations-20
Oct 14, 2026
Merged

ManlyMarco merged 3 commits into
BepInEx:masterfrom
MikalaiKryvusha:translations-20

Conversation

@MikalaiKryvusha

@MikalaiKryvusha MikalaiKryvusha commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Adds 23 translations of the Configuration Manager window for XUnity.AutoTranslator, following the contributing section of the README:
each is a copy of the ru folder with the same 23 lines (same keys, same order, the "Plugins with no options available" regex line
included). Plugin names, setting names and descriptions are not translated, as in ru.

Folder Language
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional, Taiwan)
es Spanish
fr French
pt Portuguese
id Indonesian
de German
ja Japanese
tr Turkish
vi Vietnamese
tl Filipino (Tagalog)
ko Korean
it Italian
sw Swahili
pl Polish
uk Ukrainian
be Belarusian
lt Lithuanian
lv Latvian
et Estonian
ms Malay
nl Dutch
ro Romanian

Folder names are XUnity Language= codes (the Google-style codes XUnity uses: zh-CN, zh-TW, pt).

How the languages were picked: the most spoken languages (Ethnologue order) whose scripts IMGUI can draw as-is. Hindi, Bengali,
Marathi, Telugu and Tamil are left out because Unity's IMGUI/legacy text does not do the glyph shaping these scripts need, and
right-to-left languages because IMGUI has no RTL layout (#128 handles Arabic with pre-shaped text; I did not want to guess that for
Urdu/Persian). All files are UTF-8, NFC, with no combining diacritics.

How they were checked: every line was back-translated to English with a machine translator and then reviewed line by line for
meaning in this window (e.g. "Clear" clears the search box, "Reset" restores the default), natural UI wording in that language and
consistent terms within each file. Native speakers are very welcome to suggest better wording — each language is one small file.

Testing: every language was run in a game (Unity 2020.3 Mono, BepInEx 5.4.23.5, XUnity.AutoTranslator with EnableIMGUI=True and the fix from bbepis/XUnity.AutoTranslator#876), one screenshot each — see the comment below. Testing found that a translated Reset button was pushed out of the window (also with the existing ru); commit 1234297 fixes the layout and is a no-op for the English window.

MikalaiKryvusha and others added 3 commits October 14, 2026 18:26
Each language is a copy of the ru folder with the same keys in the same order:
zh-CN, zh-TW, es, fr, pt, id, de, ja, tr, vi, tl, ko, it, sw, pl, uk, be, lt, lv, et, ms, nl, ro.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
With the full labels the header row was wider than 650 px and the window grew past its default width.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The right column reserved room for the English "Reset" only, so a longer translated label (Restablecer,
Réinitialiser, Сбросить...) pushed the button past the right edge and added a horizontal scrollbar. Three changes,
all no-ops for the untranslated window:
- the fixed-width value fields give up the difference between the translated and the English button width;
- flags fields count the spacing between toggles when wrapping, so a line no longer ends up wider than its column;
- the color field's text box may shrink below its text width.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@MikalaiKryvusha

MikalaiKryvusha commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor Author

Tested in a game, every language, one screenshot each (below).

Setup. Svarog's Dream (Unity 2020.3 Mono, BepInEx 5.4.23.5), XUnity.AutoTranslator with EnableIMGUI=True and the fix from bbepis/XUnity.AutoTranslator#876 (merged, not released yet: without it a plugin-specific file translates only the window title), ConfigurationManager built from this branch. For each language: its file placed as the plugin-specific file of the game's language (Translation/ru/Text/Plugins/ConfigurationManager/ConfigurationManager.txt — the game runs XUnity with Language=ru), a clean start, F8, the BepInEx section expanded (checkboxes and Reset buttons), screenshot.

Result. All 23: every string of the window is translated, no missing glyphs (CJK, Hangul, Vietnamese, Turkish, Baltic, Romanian ș/ț, Belarusian ў), nothing clipped (the en and sw shots are from a 4K run of the final commit, the rest from 1280×720). The untranslated window looks exactly as before.

Found and fixed while testing (commit 1234297, a separate commit so you can drop it if you prefer):
the right column only leaves room for the English "Reset", so a longer translated label (Restablecer, Réinitialiser, Сбросить, リセット…) was pushed past the right edge and a horizontal scrollbar appeared — this also happens with the existing ru file. Now the fixed-width fields give up the difference between the translated and the English button width; flags fields count the spacing between toggles when wrapping (a line could end up wider than its column); the color field's text box may shrink below its text width. All three are no-ops for the English window.
Also shortened the filter labels in tl, sw and lv (commit 0421d3c): the header row was wider than the window.

Not covered by the screenshots: the key-binding prompts ("Press any key", "Set...") and IL2CPP.


en English (unchanged)

zh-CN Chinese (Simplified)

zh-TW Chinese (Traditional)

es Spanish

fr French

pt Portuguese

id Indonesian

de German

ja Japanese

tr Turkish

vi Vietnamese

tl Filipino

ko Korean

it Italian

sw Swahili

pl Polish

uk Ukrainian

be Belarusian

lt Lithuanian

lv Latvian

et Estonian

ms Malay

nl Dutch

ro Romanian

Color row (search view, Swahili), before and after the layout fix:


before: Reset pushed out, horizontal scrollbar

after (4K)

@ManlyMarco
ManlyMarco merged commit c6bc2f0 into BepInEx:master Oct 14, 2026
1 check passed
@ManlyMarco

Copy link
Copy Markdown
Member

merged, not released yet

I did update the latest AT release to include your fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants