Skip to content
kidhab edited this page Oct 28, 2022 · 19 revisions

Adapting software for multiple languages consists of three areas:

  1. Internationalisation (i18n) - adding support in the software to lookup texts. This is mostly a programmer’s job.
  2. Translation - translating texts and phrases to different languages. This is a translator’s job.
  3. Localisation (l10n) - supporting different number formats, currencies, date representations, etc.

Translators

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.

Developers

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.

Related links

Clone this wiki locally