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

Internationalization (i18n) #125

Merged
merged 46 commits into from
May 27, 2018
Merged

Internationalization (i18n) #125

merged 46 commits into from
May 27, 2018

Conversation

billz
Copy link
Member

@billz billz commented Oct 24, 2017

This adds support for internationalization (i18n) and localization (l12n) by using GNU's Gettext to manage multi-lingual messages in a standardized way. It's assumed that the user has configured a language package on the RPi corresponding to one of our supported translations.

To list languages currently installed on the system, use $ locale -a at the shell prompt. This should return a list like the one below:

C
C.UTF-8
en_GB.utf8
en_US.utf8
fr_FR.utf8
POSIX

To generate new locales, run $ sudo dpkg-reconfigure locales and select any other desired locales. Important: UTF-8 is the preferred encoding.

The new file includes/locale.php sets the user's current locale using a very simple method. At the moment French (fr_FR) is the only supported translation (it could almost certainly be improved 😉). The default is en_US. Alternatively, it could be set to en_GB as this locale is enabled by default on Raspbian. So far volunteers have offered to translate German, Italian and Spanish #121.

The advantages of making RaspAP a multi-lingual project are obvious. The downside is the extra burden of maintenance going forward. Any future addition or change to a label in the UI will require localization into each of the supported languages. The good news is, this can be done by editing the Portable Object (.po) files centrally and recompiling the Machine Object (.mo) files.

Thoughts?

Resolves #122

@billz billz requested review from jrmhaig and SirLagz October 24, 2017 14:46
@billz billz changed the title I18n Internationalization (i18n) Oct 24, 2017
@billz billz merged commit c054d47 into master May 27, 2018
@billz billz deleted the i18n branch May 27, 2018 16:35
@billz billz mentioned this pull request May 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant