Skip to content

Add all Kolibri supported locales to the Windows installer language list #225

@ozer550

Description

@ozer550

Overview

Now that the Windows installer supports multi-language via ISO locale codes and .po based workflow, we need to scaffold installer locales for every locale Kolibri officially supports. This issue is not to translate them yet but only to ensure every supported locale is selectable/available in the installer and has a committed .po file ready for Crowdin.

Kolibri supported locales list: kolibri/utils/i18n.py

Changes Required

For each locale code in Kolibri’s supported locales list:

  • Register the locale in installer/translations/definitions.py:
    • Add mapping: ISO code + installer language name + Microsoft language ID according to the example given in the following PR.
  • Scaffold the translation file:
    • Run make new-language LANG=<locale> to create installer/translations/locale/<locale>/messages.po. ref
    • Commit the generated .po file.
  • Expose the locale in the installer UI:
    • Add a [Languages] entry in installer/kolibri.iss pointing to the generated .isl path, e.g.:
      - Name: "<locale>"; MessagesFile: "translations\locale\<locale>\<locale>.isl"

Acceptance Criteria

  • Locale list matches Kolibri: The Windows installer language list includes every locale in Kolibri’s supported locales (from kolibri/utils/i18n.py).
  • Definitions added: Every supported locale has an entry in installer/translations/definitions.py (ISO code -> language name + Microsoft language ID).
  • PO files generated and committed: For every supported locale, installer/translations/locale/<locale>/messages.po exists and is committed.
  • Installer configured: For every supported locale, installer/kolibri.iss has a [Languages] entry pointing to translations\locale\<locale>\<locale>.isl.
  • Build works:
    make translations-compile runs successfully and produces .isl files for all locales.
    make build-installer-windows completes successfully.
  • Manual check:
    • Running the built installer (from dist-installer/) shows the full language list.
    • Selecting a few languages changes the installer UI text where translations exist (translations are not required to be complete for this issue).

References

Check out the test section in the following PR.

Reviewers' Guidance

  • Test plan
  • Run make translations-compile
  • Run make build-installer-windows
  • Launch the built installer from dist-installer/ and confirm:
    • The language list includes all supported locales
    • Selecting at least 2–3 languages changes installer UI strings.

AI usage

This issue was written with assistance from LLMs, which were used to help structure and refine the content.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions