Repository navigation
Localization
GokuTrap's interface is translated into 35 locales.
ar, bg, bs, cs, da, de, en-US, es-ES, fa, fi, fil, fr, hr, hu, id, it, ja, ko, lt, lv, ms, nl, pl, pt-BR, ro, ru, sv-SE, th, tr, uk, vi, zh-Hans-CN, zh-Hant-HK, zh-Hant-TW — plus the neutral base Strings.resx.
Set it in Appearance#Language. A relaunch is required.
If a string has no translation for your selected locale, GokuTrap shows the English text. It does not show a resource key or an empty control.
This is the most likely reason part of the interface is still English after you switch: that particular string has not been translated into your language yet.
Current gap The strings added for the tools in Feature-Tools-Overview are English-only. In every other locale those specific tools fall back to English until someone translates them. The rest of the interface is unaffected.
Translations live in .resx resource files in the repository:
GokuTrap/Resources/Strings.resx <- neutral base (English)
GokuTrap/Resources/Strings.de.resx <- German
GokuTrap/Resources/Strings.ja.resx <- Japanese
...
Each entry is keyed by a dotted name, for example Menu.Appearance.Title or Features_SaiyanTitle.
There are two access patterns, and both must be used correctly when adding strings:
| Pattern | Used by | Key form |
|---|---|---|
| Generated accessor | Existing UI code and XAML |
Strings.Menu_Appearance_Title, which maps to resource key Menu.Appearance.Title
|
FeatureText.Get(...) |
The feature tools |
FeatureText.Get("SaiyanTitle"), which resolves Features_SaiyanTitle and falls back to the key itself if absent |
The underscore form used in code is a property name; the dotted form is the actual resource key. Getting this wrong produces an empty label rather than a compile error, which is why the automated checks verify that every referenced string resolves. See Verification-Harness.
-
Find the key in
GokuTrap/Resources/Strings.resx. -
Copy the
<value>into the same key in your locale's file. -
Keep placeholders such as
{0}and{1}— they are substituted at runtime. -
Preserve any XML escaping.
-
Build and run the checks:
dotnet build GokuTrap.sln -c Release dotnet run --project tests/GokuTrap.FeatureChecks -c Release -- . -
Open a pull request. See Contributing.
Some strings contain placeholders that carry real meaning:
| Placeholder | Example message |
|---|---|
{0} |
"Applied {0}. Changes saved; restart Roblox to use them." |
{1}, {2}
|
Bootstrapper download status: package name, downloaded size, total size |
Translate the surrounding text; leave the placeholders exactly as they are. Removing one produces a message with a literal {0} in it.
These are separate:
- Interface language — this page. GokuTrap's own windows.
- Roblox language — the language inside the Roblox client. Related but distinct; see Bootstrapper-Behaviour#Allow use of unsupported Roblox languages.
Open an issue with the key name, your locale, and what you expected. Translation problems in the feature tools are expected right now — see the gap noted above.