Translating R Messages/Warnings/Errors

Translations
Author

María Nanton and Saranjeet Kaur

Background

R supports translation of messages, errors and warnings from English to other languages. This relies on contributed translations for the message strings. This project will gather contributors to work both on translations and guidelines for translation teams.

Contributors to this project will work closely with sprint participants working on other projects related to translation.

Problem statement

Although the message translations for some languages are well-maintained, others have become out of date, with many incorrect or missing translations. (See the post R Can Use Your Help: Translating R Messages on the R Blog for more information). There are other widely-spoken languages that are currently not covered at all.

In addition, the process of contributing messages has recently been enhanced with a web-based, user-friendly, translation interface. The Weblate server makes it easier for R users to contribute. However there is a need to document the process of contribution and provide guidelines for contributors, to ensure quality and consistency.

Some details of the translation process are probably known by translation teams, but are not explicitly spelled out in the Translating R Messages documentation on the R Developer site:

  • Since the *.pot files are not continuously updated, when in the version cycle is it best to submit translation updates?

  • For some languages, the *.po translation files are stored in legacy 8-bit encodings. Since most R users are expected to be running a UTF-8 locale, is it worth converting the *.po files to UTF-8? Potential advantages include having to load one less shared library on systems with GNU iconv and being able to use Unicode features to disambiguate homographs with a syllable emphasis mark. The disadvantages may include giant diffs not fully readable in either encoding and decreased compatibility with non-Unicode encodings. (What does gettext() do when running with a locale encoding which cannot fully represent the translation?)

Proposed solution

This project will focus on languages requiring work, especially where there are multiple fluent speakers at the sprint that can benefit from working together. Specific targets include:

  • Hindi: Finish translating R and C messages in the base package, so that Hindi might be added to next minor release of R (~500 strings). Ensure translations are reviewed and do not fail Weblate checks.

  • Japanese: Add translations for the parallel package (~50 strings across R and C code) and translations for C messages in the utils package (~50 strings). Currently these components are completely untranslated.

  • Spanish: Finish translating R messages in the base package (~400 strings) and review translations marked as “needs editing”.

  • Brazilian Portuguese: Finish translating R messages in the tools package (~100 strings) and review translations marked as “needs editing”.

  • Arabic: Add translations for the Windows GUI (~250 strings).

As time allows, translators can work towards further targets as appropriate, contributing translations, reviewing each other’s translations and making sure the strings pass Weblate’s checks (e.g. no trailing white space).

In addition, translators will work across languages on the following tasks:

  • Updating the R Development Guide to cover contributing translations via Weblate. There is overlap here with the Weblate Improvements project.

  • Drafting guidelines for translation teams, building on the current Translations wiki. These may later be incorporated into the R Dev Guide.

  • Guidelines/tooling to support the use of glossaries, building on past work such as the “R French Dictionary”.

Project requirements

For specific translation targets, fluency in the relevant language is required.

Previous knowledge of Weblate is not required, this can be picked up at the sprint.

Experience of translation in any context will be beneficial for working on guidelines.

Project resources

Project outcomes

Contributions that should be included in the next release of R.

Stronger networks among R contributors that speak a common language.

Reactions and comments