-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #22 from r-devel/mac-gui-translation
add Mac GUI translation project
- Loading branch information
Showing
1 changed file
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
--- | ||
title: Facilitate Translation for Mac GUI # Warning: changing the title may create a new Discussions thread! | ||
description: "" # Optional short description for post on Discussions | ||
author: Simon Urbanek and Michael Chirico # and co-authors if applicable | ||
output: html_document | ||
categories: [Translation] # use labels from https://github.com/r-devel/r-project-sprint-2023/labels | ||
comments: | ||
giscus: | ||
repo: "r-devel/r-project-sprint-2023" | ||
repo-id: "R_kgDOIhAibA" | ||
category: "Proposals" | ||
category-id: "DIC_kwDOIhAibM4CW3GY" | ||
mapping: "title" | ||
reactions-enabled: true | ||
loading: lazy | ||
--- | ||
|
||
```{=html} | ||
<!-- | ||
This template is based on https://contributor.r-project.org/r-project-sprint-2023/projects/quartz-alpha-mask/. | ||
The sections are provided as a guide and may not be appropriate to your proposal, feel free to skip or change sections. | ||
Please label any R code chunks, especially those producing images. | ||
--> | ||
``` | ||
```{r setup} | ||
``` | ||
|
||
## 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](https://github.com/R-macos/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](https://translate.rx.studio/projects/r-project/). 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](https://contributor.r-project.org/r-project-sprint-2023/projects/weblate-improvements/)), see the [Weblate docs](https://docs.weblate.org/en/latest/formats/apple.html#apple). | ||
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](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/SupportingRight-To-LeftLanguages/SupportingRight-To-LeftLanguages.html#//apple_ref/doc/uid/10000171i-CH17-SW1). | ||
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](https://translate.rx.studio/projects/r-project/base-r-gui/ar/) in the meantime, which can already be done through Weblate. | ||
|
||
## Project requirements | ||
|
||
<!-- Include here prerequisite knowledge and any operating system 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 | ||
|
||
- [Mac GUI GitHub repository](https://github.com/R-macos/Mac-GUI/) | ||
|
||
- [Weblate documentation on Apple strings](https://docs.weblate.org/en/latest/formats/apple.html#apple) | ||
|
||
- [Apple developer documentation on RTL language support](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPInternational/SupportingRight-To-LeftLanguages/SupportingRight-To-LeftLanguages.html#//apple_ref/doc/uid/10000171i-CH17-SW1) | ||
|
||
## Project outcomes | ||
|
||
Contributions to the next release of the Mac GUI. | ||
|
||
## Reactions and comments | ||
|
||
```{=html} | ||
<!-- | ||
Please leave the Reactions and comments section | ||
- a Giscus comment box will be automatically added here | ||
--> | ||
``` |