Facilitate Translation for Mac GUI

Translations
Author

Simon Urbanek and Michael Chirico

Background

The R for Mac GUI is the most comprehensive platform-specific R GUI and has been pioneering a lot of features now present in other GUIs and commercial products. Although officially supported by R Core, the Mac GUI is maintained on the Mac GUI GitHub repository rather than the R Project Subversion repository.

One aspect of the Mac GUI that has room for improvement is the translation of GUI text into languages other than English.

Problem statement

The number of languages currently supported is rather limited (German, Italian, French, Japanese, Dutch) and existing translations may be outdated.

In addition, contributing translations is not straight-forward. The preferred workflow requires use of Xcode on macOS. An alternative is to collaborate with a maintainer who will send the strings text files to be translated. However, this workflow places extra burden on the maintainers and it is difficult for contributors to identify which strings need updating. Both workflows require contributors to take special care to use UTF-8 encoding to avoid corrupting translation files.

Proposed solution

This project will add the Mac GUI strings as a component on the Weblate server for R. This would mean that the technical details are taken care of and contributors can focus on translating the text, only requiring access to a browser to contribute.

The proposed work plan is as follows:

  1. Set up Weblate to work with the strings files from the Mac GUI (collaborating with those working on Weblate Improvements), see the Weblate docs.
  2. Test the workflow of updating a translation with speakers of currently translated languages at the sprint, e.g. German, French or Japanese.
  3. Add new Left-to-Right languages. Potential additions represented at the sprint: Spanish, Brazilian Portuguese, Nepali.
  4. Add support for Right-to-Left languages, see the Apple docs.
  5. Begin to add Arabic translations.

Tasks 2 and 3 depend on a minimal viable product from task 1 (e.g. an initial set up may rely on some manual steps that could be scripted/automated later). Translators could contribute to other projects until this is ready.

Task 4 can be worked on independently of tasks 1 to 3, but task 5 is dependent on both task 1 and 4. Arabic translators may wish to work on translations for the Windows GUI in the meantime, which can already be done through Weblate.

Project requirements

Fluent speakers of languages other than English are required for the translation tasks (2, 3 and 5).

The Weblate set-up will need to be done by a Weblate admin (currently only Gergely Daróczi), but might be supported by a contributor with advanced knowledge of git.

Support for Right-to-Left languages requires modifying Objective C code with Xcode on macOS. This will likely be done by Simon Urbanek, but might be supported by a macOS user wanting to learn more about development of the Mac GUI.

Project resources

Project outcomes

Contributions to the next release of the Mac GUI.

Reactions and comments