Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow translations to be provided on external media #316

Merged
merged 6 commits into from
Jan 5, 2025

Conversation

woodcoder
Copy link
Contributor

@woodcoder woodcoder commented Jan 5, 2025

This PR provides support for extending or overriding the standard gettext language translations for the canute-ui.

The change will look for a locale directory on removable media (SD card or USB drive) containing files such as: de_DE.UTF-8@ueb1/LC_MESSAGES/canute.mo

These should be compiled from the canute.po file containing translations, based on the most up to date canute.pot template file.

When found, each file is checked for a msgid "Language Name, UEB grade" entry which should provide the actual language name for that file, in a suitable form for showing in the language and code menu list.

If there are duplicate languages with the exact same code, then the files on SD are taken, followed by USB1 & USB2 before finally falling back to the built-in translations supplied with the unit/this repo.

If a state file contains a language code that is no longer available, it will fall back to using en_GB.UTF-8@ueb2.

If no languages are found on external media then the only effect this PR has is to show the language menu in a different order (it sorts by the language code so de_DE is shown before en-GB).

Fixes #198

@woodcoder woodcoder requested a review from pachpict January 5, 2025 18:29
@woodcoder woodcoder self-assigned this Jan 5, 2025
@woodcoder woodcoder merged commit a464640 into main Jan 5, 2025
1 check passed
@pachpict
Copy link
Member

pachpict commented Jan 5, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support language packs on external media
2 participants