Skip to content

Getting involved as a Translator

The translation of texts that are visible in the UI of InvenioRDM is integrated with the Transifex platform.

Trust-chain approval

Access requests are approved once a current translator / partner vouches for you in Discord #rdm-translations.

If you wish to contribute by translating your desired language, please follow these steps:

Step 1 - Get a Transifex account

Sign up for a free Open Source Transifex account at https://explore.transifex.com/inveniosoftware/invenio/ (any other Transifex account will do as well).

For more details, check out the Transifex Getting Started Guide.

Step 2 - Submit your Transifex join request

Before introducing yourself on Discord, make sure that you are signed in to Transifex and have submitted the relevant request. This allows the team to find and approve your pending request.

  1. Go to the inveniosoftware Invenio project on Transifex.
  2. Check the existing languages.
  3. Submit the relevant request:
    • If your desired language is not on the list, click Request language and search for the language you need. transifex request language
    • If your desired language already exists, choose the language and click Join team.
  4. In your Transifex request, include:
    • your target language(s).
    • whether you would like to join as a translator or a reviewer.

For more details, check out the “Joining a translation team” section of the Transifex guide.

Step 3 - Introduce yourself on Discord

Required Discord introduction

To process language and team-join requests, introduce yourself in the Discord translations channel after submitting your Transifex request. Include your Transifex username, target language(s), requested role, and the organization you represent. Requests that do not include this information are not reviewed.

Post your Transifex username, target language(s), requested role (translator or reviewer), and the organization you work with in Discord #rdm-translations. A member of the team will confirm they can vouch for you and approve the pending Transifex request.

Step 4 - Learn about your translation team

  • Check with the InvenioRDM translation team via Discord #rdm-translations
    • to get sorted within your language team.
    • to find out whether you need the reviewer status.

Step 5 - Get familiar with Transifex

Step 6 - Check out workflows, experiences and advices

There are some workflows to be aware of and we collected some advice and experiences that you might find useful:

  • Every change you make should be reviewed by another member of your language team. You might need to press the Unreview button after changing a reviewed item.
  • For each item you translate/review you can add comments including mentioning other members using @name.
  • Several words/sentences appear in different places and packages. To create consistency, try to use the same translations. You might find the transifex-inveniosoftware-Search Strings and its filters helpful. transifex search strings
  • Gender-neutral language: if the language you are translating uses different words for male, female, etc.
    • try to use a neutral way.
    • try to stick to one translation style.
  • Sometimes it is hard to translate a sentence without seeing its context. If you cannot find it in the InvenioRDM UI (e.g., in the InvenioRDM-demo) contact the InvenioRDM translation team in Discord #rdm-translations. They can point you and show you some tricks.

Submitting Translations for Pages Outside Transifex

For certain static pages, like help pages, translating directly via Transifex is impractical due to the extensive use of _() functions required for each string. For these specific cases, we use language-specific HTML files (e.g., page.sv.html for Swedish or page.de.html for German) for these static content-heavy pages.

If you are working on translations for these static pages, submit your translations as Pull Requests directly to invenio-app-rdm on GitHub. Here is a full list of pages that are translated this way:

Once your Pull Request is merged, the changes will be reflected in the next release of InvenioRDM.

Translation release policy

Translations are provided only for maint-* branches, where message IDs (msgids) are expected to remain stable, rather than master, where changes during development would require every language to update its translations repeatedly. For each new InvenioRDM release, updated strings are pushed to Transifex and the updated translations are published in a subsequent release.

Troubleshooting

If you have any questions or suggestions, reach out to the InvenioRDM translation team via Discord #rdm-translations.