Home
Getting started
Welcome to the translation adventure in R! 🚀
In a world that thrives on interconnectedness and global communication, translation plays a pivotal role in bridging linguistic divides. Translation, the art of rendering one language into another, shatters those confines, unlocking a world of possibilities for understanding and collaboration.
So if you want to start, you can contribute by following these steps:
Sign up to the R Contributors Slack and introduce yourself in the #core-translations channel;
Create an account on Weblate and read the Translations chapter on the R Development guide;
Read the Conventions for translation section of this Wiki, for some conventions that should be followed;
Read the guidelines for the specific language you want to contribute to. If a guideline for your language doesn’t exist yet, please feel free to submit a pull request and create it.
Language Arabic Bengali Catalan Chinese Hindi Nepali Portuguese (Brazilian) Spanish You can start translating!
You can check the guide on how Weblate works and check this short demo on how to use the Weblate interface. You can also get access to complete documentation of Weblate through this link.
What is being translated?
All outputs in base R and recommended packages (such as messages emitted by stop()
, warning()
, or message()
) are eligible for translation, as are menu labels in the GUI.
Roles
Languages without an established translation team and so without dedicated reviewers have their translations directly approved without review. In that perspective, there’s a single role for translators, and no reviewers.
In case a team has been established for a language, we use the dedicated reviewers workflow on Weblate, where we currently manage 3 roles in the platform.
Translators
Every registered user on Weblate can act as a translator for any language. All translations need to be reviewed unless there is no reviewer assigned for that language. If you are not sure about a translation, you can make a suggestion instead. You can also use the Glossary to check which terms you shouldn’t translate and discuss with the community to add new ones if you don’t find the word you are looking for.
Reviewers
Reviewers bear the editor role to approve the work of translators and ensure the overall cohesion of the translation work in one language. For adding new reviewers for a language, please reach out to the respective team leaders via the #core-translation
channel on the R Contributors Slack workspace.
Team leaders
Team administrators and leaders keep the list of admins and reviewers for a language up to date. The team leader(s) of a particular language is(are) the initial dedicated reviewer(s) as well.
How to start a new language team
To request the creation of a new language team, please reach out on the core-translation
channel of the R Contributors Slack workspace, and the administrators of Weblate will follow the steps described in the Weblate server admin page.
In short, a new team will be created for the language with roles to approve translations and edit the language-specific glossary, then you (and others listed as team leaders) will be added to that team so that the dedicated reviewers workflow becomes enforced for that language.
Additionally, language team administrators can be also shortlisted among the reviewers with permissions to add new reviewers to the team, and to manage the team members.
Translation states
Possible state of a string:
- Untranslated: Translation is missing, and might or might not be stored in the translation file.
- Needs editing: Translation needs editing. This is usually the result of a source string change, fuzzy matching or translator action. The
fuzzy
tag might be commited to the translation file. If you are unsure about how to translate something, make a suggestion instead of clicking the “Needs editing” button. - Waiting for review: Translation is made, but not reviewed yet.
- Approved: Translation has been approved in the review. It can no longer be changed by translators, but only by reviewers. This is also committed to the repository.
Sustainability of the translations community
- The
#core-translation
channel on the R Contributors Slack workspace is the main space of communication for the translations community. Join this Slack to communicate with the community and share feedback. - We encourage people interested in translations to organize and conduct local/regional level events to promote and raise awareness about translations.
- Highlight milestones (overall and by language)!
About Weblate
Space for feedback
You can open an issue in this repository if you find something that is not working as expected in Weblate. If you want to discuss about translations and convictions you can use the Slack channels dedicated to that.
Resources
Some interesting guides, glossaries and handbooks:
- Turing way translation handbook
- R OpenSci’s draft of translation guidelines
- R OpenSci’s glossary
- R French Dictionary
- R Brazilian Portuguese guide (will be translated into English)
- cpplib translations (in Portuguese)
- International statistical glossaries
- Translating R Messages, R >= 3.0.0
- R Translation Teams
Code of Conduct
- Use the R Foundation Code of Conduct.
Future work
- Explore possible integration of dictionaries into Weblate?
- Add demos from the translator and reviewer’s perspective