English · 한국어
Musebase's UI is translated via per-locale JSON catalogs. You can contribute directly on GitHub — edit a file and open a pull request, or suggest a fix via an issue. No translation platform needed.
- Catalogs:
src/Musebase.Windows/i18n/(e.g.ko.json,ja.json,de.json) - Reference (source) language: English (
en.json) — the basis for all other languages - Format: flat
key → stringJSON. Arguments/plurals use ICU MessageFormat ({value},{count, plural, ...})
- Open the language file (e.g.
ko.json) in thei18n/folder above. If it doesn't exist yet, copyen.jsonto create it. - Click the pencil (✏️ Edit) icon at the top right. You only need a GitHub account.
- Translate/fix the values. Keep the keys (left side) and curly-brace placeholders unchanged.
- Click "Propose changes" → "Create pull request"; a fork and PR are created automatically.
- Once a maintainer reviews and merges, it ships to users via the next release's auto-update.
Open a translation suggestion issue — just fill in the language, key, and suggested text. A maintainer will apply it.
- Keep curly-brace placeholders like
{value},{version},{track}unchanged (do not translate them). - For plural syntax
{count, plural, one {...} other {...}}, keep the structure and translate only the inner text. - Leave markers like
[mm:ss.xx],[tr],[tt],【 】as-is. - Languages other than en/ko are machine-translation (DeepL) seeds and may read awkwardly — polishing is very welcome.
The supported-language list is in Services/Localization.cs
(SupportedLanguages). To add one, add a LanguageOption(code, nativeName) entry there and create
src/Musebase.Windows/i18n/<code>.json (a missing file falls back to English).
- Regenerate MT seeds:
tools/mt-bootstrap.ps1(DeepL). ICU placeholders are protected with XML tags and validated. - If it grows, you can migrate to a self-hosted open-source TMS (Tolgee / Weblate) or Hosted Weblate (libre, needs approval). The current JSON + git structure is reused as-is.