Localization: required 12 languages
Every released VORIVOX game must support the same 12 product languages: ru, en, zh-Hans, es, ar, hi, pt, fr, de, ja, kk, uz.
Selecting a language
Launcher supplies the session locale in sdk.Manifest.Locale. Select the dictionary before ReadyAsync(). Map regional forms such as ru-RU and en-US to base keys; keep simplified Chinese as zh-Hans.
static readonly string[] Supported = {
"ru","en","zh-Hans","es","ar","hi",
"pt","fr","de","ja","kk","uz"
};
static string ResolveLocale(string value)
{
if (!string.IsNullOrWhiteSpace(value) &&
value.StartsWith("zh", StringComparison.OrdinalIgnoreCase))
return "zh-Hans";
string baseCode = (value ?? "").Split('-')[0].ToLowerInvariant();
return Array.IndexOf(Supported, baseCode) >= 0 ? baseCode : "en";
}
What must be translated
- menus, rules and onboarding;
- hints and session states;
- results, mode names and errors;
- subtitles and textual dialogue.
Do not bake text into images. Fonts must contain required glyphs and ship with the game.
Arabic and complex scripts
Test ar with RTL-aware layout. Verify real glyph coverage, wrapping and projector readability for Chinese, Hindi, Japanese, Kazakh and Uzbek.
Fallback
English fallback is an emergency guard for an unknown locale, not a substitute for translation. Release QA must pass all 12 languages.
Dictionary QA
All locale files must expose the same key set. Automate that check in CI and still open every locale in the actual game.