-
Notifications
You must be signed in to change notification settings - Fork 147
Translation
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 crowdin in the foodsoft project (sign up to edit). Translation updates can be seen directly here, look here for credentials, and they can also be edited in-place (in-context localization). (Note that you may need to disable some tracking protection for login to work here, sorry for that.)
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.
note we’ve recently moved from localeapp to crowdin, this section is a work in progress.
Translations live in the files config/locales/:lang.yml
. and plugins have their own counterparts. For some hints on moving from texts in templates to internationalized texts, please see translating templates.
When adding a new string, it should appear in crowdin as well (if not, we may need to change some settings). When translations are added in the source, they probably need to be imported in crowdin as well. This can be done by adding the keys manually (using the crowdin web interface), or re-importing the whole file (but DO CHECK that you don’t overwrite updated translations!!). Then pull changes so that the files contain what is returned from crowdin, which may have different whitespace and such than your edit. We’d like to keep it clean.
In the past, we’ve discussed about our previous workflow using localeapp on our forum.
- 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
- search in an open source translation memory
- Google translate