Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Adapting software for multiple languages consists of three areas:
- Internationalisation (i18n) - adding support in the software to lookup texts. This is mostly a programmer's job.
- Translation - translating texts and phrases to different languages. This is a translator's job.
- Localisation (l10n) - supporting different number formats, currencies, date representations, etc.
You can work on translations using localeapp in project 4867 (sign up to edit). Translation updates from localeapp become almost immediately visible on a special foodsoft installation - you might need to wait a couple of seconds and reload to see your changes. Login with
secret. Changing the language is possible in the user profile, but also by appending
?locale=hu (or whatever your two-letter language code is) to the url.
Translating software can be tricky, as texts are often very short, sometimes with an unclear context. Please read the translation notes, and feel free to add to them.
Translations live in the files
config/locales/:lang.yml. For some hints on moving from texts in templates to internationalized texts, please see translating templates.
When adding a translation, please add them to localeapp too. This can be done by adding the keys manually (using
localeapp or the web interface), or re-importing the whole file (but DO CHECK that you don't overwrite updated translations in localeapp!!!). Then pull changes so that the files contain what is returned from localeapp, which may have different whitespace and such than your edit. We'd like to keep it clean.
We're discussing about details on doing that on our mailing list. TODO this need to be smoothed out in a no-fail step-by-step flow
Foodsoft translation instance
To aid translators, a foodsoft instance for translators is setup on heroku. At the moment this needs to be updated manually. From a clean tree, run
LOCALEAPP_KEY=1234567890abcdef script/heroku_deploy. After some time, the instance is created/upated. See script/heroku_deploy more more variables that can be set.
- Issues: #84 on i18n and English, #31 on cleaning i18n foodcoop-adam#1 on Dutch
- Translation-notes and Translating-Templates
- In old versions of foodsoft, the current language can be changed in application_controller.rb#147 (
I18n.locale = :en).
- Helpful online tools