-
Notifications
You must be signed in to change notification settings - Fork 30
User Interface Translation: Contributors' Guide
The Recogito user interface is available in different languages. Translations are based on language resource files. These are lists of labels that Recogito inserts into UI components, according to users' browser settings.
When adding support for a new language, we usually create template files, pre-filled with the English labels, and then start to translate them. If you want to help add support for a new translation, or fill gaps in an existing one, contributing via GitHub is easy!
- Fork the recogito2 code repository to your GitHub account.
- Add or edit language resource files in your fork
- Issue a pull request, so we can merge your additions back into the main repository.
Recogito is under active development. As we extend functionality, new user interface components get added. So even if there's nothing to do in the language(s) of your choice at the moment, there might be later. We greatly appreciate any contribution, no matter how large or small.
Language resource files reside in two different different areas. That's due to a technical distinction between server-generated pages and client-side code, which require different translation mechanisms. The labels related to server-generated pages reside in a single resource file per language.
| Language | Resource File | Status |
|---|---|---|
| Dutch | conf/messages.nl | minor gaps only |
| Farsi | conf/messages.fa | minor gaps only |
| French | conf/messages.fr | minor gaps only |
| German | conf/messages.de | minor gaps only |
| Greek | conf/messages.el | minor gaps only |
| Hebrew | conf/messages.he | in progress |
| Italian | conf/messages.it | minor gaps only |
| Japanese | conf/messages.ja | minor gaps only |
| Spanish | conf/messages.es | in progress |
| Turkish | conf/messages.tr | in progress |
Labels for client-side widgets are organized in a different way, according to the component hierarchy of the user interface.
- The root folder for client-side language resources is app/assets/javascripts/common/i18n
- Within that folder you find (nested) subfolders for Recogito's different areas. E.g. document/annotation/nls for the annotation area. The last
nlsfolder in the path is (by convention of the framework we are using) the folder which holds the resource files.
by ISO language code. Within those folders, there are resource files, one for each specific component.
For example, the resource folder for the annotation area is located at
javascripts/common/i18n/docum
| Language | Resource File Folder | Status |
|---|---|---|
| Dutch | javascripts/common/i18n/document/annotation/nls/nl | in progress |
| Farsi | javascripts/common/i18n/document/annotation/nls/fa | untranslated |
| French | javascripts/common/i18n/document/annotation/nls/fr | untranslated |
| German | javascripts/common/i18n/document/annotation/nls/de | untranslated |
| Greek | javascripts/common/i18n/document/annotation/nls/el | untranslated |
| Hebrew | javascripts/common/i18n/document/annotation/nls/he | untranslated |
| Italian | javascripts/common/i18n/document/annotation/nls/it | untranslated |
| Japanese | javascripts/common/i18n/document/annotation/nls/de | untranslated |
| Spanish | javascripts/common/i18n/document/annotation/nls/de | in progress |
| Turkish | javascripts/common/i18n/document/annotation/nls/de | untranslated |