Repository navigation
Localization support #4541
Description
Activity
- addedRequest: Feature/EnhancementFor feature requests or possible improvementsFor feature requests or possible improvementsApp: EmuHawkRelating to EmuHawk frontendRelating to EmuHawk frontendApp: DiscoHawkRelating to DiscoHawk toolRelating to DiscoHawk toolMetaRelating to code organisation or to things that aren't codeRelating to code organisation or to things that aren't code
on Nov 11, 2025 - linked a pull request that will close this issueExperimenting with Fluent.Net (i18n) in DiscoHawk #4406
on Nov 11, 2025 See my notes #64, which I've summarised here.
Internationalisation (i18n) can be divided into 2 parts: globalisation and localisation (l10n).
Globalisation is the hard part (in terms of problem solving required), while localisation is "just" translating each string while taking into account its context and similar strings.
Once we're ready, we could accept translations through a platform like Weblate.How should these strings be organised and stored?
The most popular portable format is GNU gettext, but I think Fluent would be better. It was developed for Firefox. See #4406 for a POC.
(I don't think we should try using the format that's integrated into WinForms.)Some globalisation problems to be solved:
- Non-localised strings (such as movie headers) need to be read, written, and compared with locale-invariant methods
- Numeric values can be represented very differently across cultures (any floats, fixed-point watches, percentages, filesizes, dates...)
- Onboarding by asking the user to open the Profiles config is insufficient, there needs to be a language picker on first launch (which can be followed by a profile picker or other onboarding things)
- Controls' positions on windows should really be mirrored horizontally with RTL locales, but WinForms might support that
Fundamentally, we are limited in that even if we had all the infrastructure to translate everything, we can't exactly hire translators and I'm doubtful there would be some community support to handle translation, if we're lucky we'll have a few languages even able to be translated (assuming we're not just going to just machine translate this, which is worse than not translating at all IMO).
- linked a pull request that will close this issue中文本地化进展艰难但顺利 / Chinese localization is progressing hard but smoothly #4859
on Oct 9, 2026
The README mentions this, but I thought support for translations deserved a tracked issue.
Maybe this is effectively "won't fix"? I'd imagine this might be kind of hard to add, but maybe C# or WinForms has some way of making it easier.
(Related searchable key words: internationalization, language, i18n, translate, translation, locale)