Menu

Localization Coverage

Bayram Emekli

Localization Coverage

Audience: users, translators. Sucrose is translated on two separate surfaces that do not share the same language set or tooling: the application (WPF runtime, currently 25 languages) and the installer (Sucrose.Bundle, currently 59 languages). This page lists exactly which languages each surface ships and points to how each is maintained. To actually add or update a translation in the app, see Translating with the Localizer.

Contents


Translation surfaces

Surface Count Format Tooling Location
Application (WPF runtime) 25 languages XAML ResourceDictionary Sucrose.Localizer (XAML ⇄ CSV ⇄ POEditor) src/Library/Sucrose.Resources/Locales/
Installer (Sucrose.Bundle) 59 languages XAML ResourceDictionary Bundle Source src/Bundle/Sucrose.Bundle/Properties/

Application languages (25)

The runtime app ships these 25 languages. The display-name and maturity-version registry lives in src/Library/Sucrose.Resources/Locales/Locale.xaml (singular), which records each language's two-letter code, display name, and a translation-maturity version number. The per-language Locale.<CODE>.xaml files are merge dictionaries that aggregate each language's area-specific resource files. (The Localizer's working CSV registry is the tooling artifact .localize/Locale.csv, not a file under Sucrose.Resources.)

Code Display name
AR العربية
CS Čeština
DA Dansk
DE Deutsch
EL Ελληνική
EN English
ES Español
FR Français
HE עברית
HI हिन्दी
ID Indonesia
IT Italiano
JA 日本語
KO 한국어
MS Melayu
NB Norsk
NL Nederlands
PL Polski
PT Português
RO Română
RU Русский
SV Svenska
TR Türkçe
UK Українська
ZH 中文

Maturity notes: EN and TR are the most complete (v1.4 in the registry, e.g. Locale.EN = "English (v1.4)"). ID, MS, and PT trail at around v0.9. Newly created languages start at v0.1 (see Translating with the Localizer).


Runtime locale files

At runtime the app loads one XAML ResourceDictionary per language from src/Library/Sucrose.Resources/Locales/:

  • Locale.xaml — top-level language registry entries (display names + maturity versions); Locale.<CODE>.xaml — per-language merge dictionaries aggregating that language's area-specific resource files.
  • Grouped, area-specific files such as Portal.<area>.<CODE>.xaml (including Portal.Enum.<CODE>.xaml, which localizes enum display names like StoreServerType, ReportThemeType, and CompatibilityType (the Category enum is not among the localized enums)), plus Launcher and Discord groups.
  • Locale.xaml — the runtime locale registry mapping each code to its display name and maturity version. (The Localizer's .localize/Locale.csv is a tooling artifact, not a runtime locale file in this folder.)

The active language is chosen by the Culture setting (see Settings — General). Strings are resolved at runtime with segment keys via Sucrose.Resources.Extension.Resources.GetValue(...).


How each surface is maintained

  • Application — maintained with Sucrose.Localizer, which round-trips between the runtime XAML, the working CSVs in .localize/, and POEditor CSVs in .localize/POEditor/. Adding a language is menu option 9 of the tool. Full pipeline: Translating with the Localizer.
  • Installer — its 59 Resources_<LANG>.xaml files are maintained within the Sucrose.Bundle project (see Bundle Installer Internals).

Contributions to app translations are welcome — open an issue or PR per the Contributing guidelines.


See also


Related

Wiki: Contributing

Auth0 Logo