Skip to content

User Interface Translation: Contributors' Guide

Rainer Simon edited this page May 25, 2018 · 22 revisions

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.

UI labels for server-rendered page components

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

UI labels for client-side widgets

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 resource files 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 nls folder 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

Clone this wiki locally