From 7508e7c742e2ece07a1f0b648e0036ec65bb6a9d Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Tue, 19 Jul 2022 21:16:39 -0700 Subject: [PATCH 01/39] initial work on a translations guide for RDevGuide --- .gitignore | 3 ++ 13-translations.Rmd | 71 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 13-translations.Rmd diff --git a/.gitignore b/.gitignore index a8fb504..6042139 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ .DS_Store docs/ rdevguide.rds + +# temp files +*~ diff --git a/13-translations.Rmd b/13-translations.Rmd new file mode 100644 index 0000000..fa41da7 --- /dev/null +++ b/13-translations.Rmd @@ -0,0 +1,71 @@ +# Translations + +This chapter covers internationalization in R, i.e., the display of messages in languages other than English. +R leverages the [`gettext`](https://www.gnu.org/software/gettext/) program to handle the conversion from English +to arbitrary target languages. + +Having messages available in other languages can be an important bridge for R learners not confident in English -- +rather than learning two things at once (coding in R and processing diagnostic information in English), they can +focus on coding while getting more natural errors/warnings in their native tongue. + +The [`gettext` manual](https://www.gnu.org/software/gettext/manual/index.html) is a more canonical reference for +deep understanding of how `gettext` works. This chapter will just give a broad overview of how it works, with +particular focus on how things work for R, with the goal of making it as low-friction as possible for developers +and users to contribute new/updated translations. + +## How translations work + +Each of the default packages distributed with R (i.e., those found in `./src/library` such as `base`, `utils`, +and `stats`) contains a `po` directory that is the central location for cataloguing/translating each package's +messages. + +### .pot files + +The `.pot` file is a snapshot of the messages available in a given **domain**. A domain in R typically identifies +a source package and a source language (either R or C/C++). For example, the file `R-base.pot` +(found in the R sources in `./src/library/base/po`) is a catalogue of all messages produced by R code in the +`base` package, while `stats.pot` (_viz._, `./src/library/stats/po`) is a catalogue of all messages produced +by C code in the `stats` package. + +There are two exceptions to the basic pattern described above. The first is the domain for C messages produced +by the `base` package. Well, technically, they are not "produced by the `base` package" in the normal sense +that code in the `src` directory of base is not where these messages come from, but rather, the C code which +is the fundamental backing of R itself (especially, but not exclusively, the C code under `./src/main`). +Given this idisyncrasy, the associated `.pot` file is `R.pot` and it's found in the `po` directory for `base`. + +The second is the domain for the Windows R GUI, i.e., the text in the menus and elsewhere in the R GUI program +available for running R on Windows. These messages are stored in the `RGui.pot` domain, also in the `po` +directory for `base`, and are most commonly derived from C code found in `./src/gnuwin32`. One reason to keep +this domain separate is that it is only relevant to one platform (Windows). In particular, Windows has historically +different character encodings, so that it made more sense for Windows developers to produce translations +for Windows, since it is non-trivial for non-Windows users to test their translations for the Windows GUI. + +#### Generating .pot files + +For outside contributors, there's no need to update .pot files -- translators will typically take the R .pot files +as given and generate .po files from them to be sent to an R-core maintainer as a patch. + +To emphasize, this section is almost always not needed for contributing translations -- it is here for +completeness and edification. + +### .po files + +### .mo files + +.po files are plain text, but while helpful for human readers, this is inefficient for consumption by computers. +The .mo format is a "compiled" version of the .po file optimized for retrieving messages when R is running. + +In R-devel, the conversion from .po to .mo is done by R-core -- you don't need to compile these files yourself. +They are stored in the R sources at `./src/library/translations/inst` in various language-specific subdirectories. + +## How to contribute new translations + +Creating and editing .po files, testing the translations worked, **encoding**, translation teams, release schedule + +## Current status of translations in R + +https://contributor.r-project.org/translations/ + +## Helpful references + + - Statistical terms glossary From 532ef2701e9fc1d47a2baadc46d83ef10a0d4006 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Mon, 12 Sep 2022 23:50:47 -0700 Subject: [PATCH 02/39] improve intro paragraph Co-authored-by: Saranjeet Kaur --- 13-translations.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/13-translations.Rmd b/13-translations.Rmd index fa41da7..4d9345d 100644 --- a/13-translations.Rmd +++ b/13-translations.Rmd @@ -1,6 +1,6 @@ # Translations -This chapter covers internationalization in R, i.e., the display of messages in languages other than English. +This chapter covers internationalization in R, i.e., the display of messages in languages other than English. All output in R (such as messages emitted by `stop()`, `warning()`, or `message()`) is eligible for translation, as are menu labels in the GUI. Depending on the version of R that you are using, some of the languages might already be available while others may need work. R leverages the [`gettext`](https://www.gnu.org/software/gettext/) program to handle the conversion from English to arbitrary target languages. From 951761932e4fb394ef842bf8b25c03df36243498 Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Tue, 13 Sep 2022 18:45:30 +0530 Subject: [PATCH 03/39] Update 13-translations.Rmd Co-authored-by: nbenn <3158446+nbenn@users.noreply.github.com> --- 13-translations.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/13-translations.Rmd b/13-translations.Rmd index 4d9345d..8288728 100644 --- a/13-translations.Rmd +++ b/13-translations.Rmd @@ -31,7 +31,7 @@ There are two exceptions to the basic pattern described above. The first is the by the `base` package. Well, technically, they are not "produced by the `base` package" in the normal sense that code in the `src` directory of base is not where these messages come from, but rather, the C code which is the fundamental backing of R itself (especially, but not exclusively, the C code under `./src/main`). -Given this idisyncrasy, the associated `.pot` file is `R.pot` and it's found in the `po` directory for `base`. +Given this idiosyncrasy, the associated `.pot` file is `R.pot` and it is found in the `po` directory for `base`. The second is the domain for the Windows R GUI, i.e., the text in the menus and elsewhere in the R GUI program available for running R on Windows. These messages are stored in the `RGui.pot` domain, also in the `po` From e977d0540b3072c33d5576bbc3bd48cd2b1b65f7 Mon Sep 17 00:00:00 2001 From: benubah Date: Fri, 16 Sep 2022 17:43:35 +0100 Subject: [PATCH 04/39] add favicon --- header.html | 1 + img/favicon.png | Bin 0 -> 1334 bytes 2 files changed, 1 insertion(+) create mode 100644 img/favicon.png diff --git a/header.html b/header.html index 10e4a48..73b0fd7 100644 --- a/header.html +++ b/header.html @@ -1,3 +1,4 @@ + diff --git a/img/favicon.png b/img/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..79ca9530b30c0a7b6a136eb0940d7e8beb59cf01 GIT binary patch literal 1334 zcmV-61y8qFM7}{YeW!oK{oIGCvV%qQMb`bDrz!2j@NKJs&Wv`K#{j-8t{O`?;^{xvu+p z?-%&5N5Vf@4MCb_W4Masim4?cG66r z^U@4ouLKS>G?r0XE-Acgg@J=A&=}T}tRs1hhApJ&GGrnRGe{0KhQmqo2+5R?I%FLU z$IY8J%NLixfrdkc6l)}P?>bic7Lp&6TsyvCY;$kE0zk#O4M`-QrQs4o-V;<~Gs)u8 z(w9SaBmlsHgNHIi{X)@egGWlwFGwyb$bX{k%k6tJ{`4uUM?1o#N%ADg>j^T;yosG< zL5qqPESOtu6L0~5q*97rNuaGjxZuM4F^{dZ7aVIzm{4`tQ`vndNcOJ~tQEeO0)n`ab0IasQc1zSuTl$di5+tq6ACngX2LMs%BRB-PBs>pj z|Go>UpR``P7^*X|n}A|ShH#90?e9g7C< z24gfh0Bt<++1R;uPWCIi3jpnMfJ4&2cE8m^GPD-x9wujO>AQU=B!XmOJOX4~*{vv= z^-6$#rqg^!VBx-{kbHKt%D`k~#r&O1dg(S!_e9d~ovBiIRSkROhq+q*jn> zb@&gGmdJ{ltvix>?16CckSg&{gT761`M2ft|7*6-Z@n{W)Psy5kUu7`mE^0@Z#0s* zBx^TSZ%vO;pl{$!l9swHQ~YFR^MiF;4BCv9|YC}J4x{Cf9WhJ4>K*X>z&Du7sndO~_Uvsj;4uo=vAJe@F3Ht~92Pa#@l%Tj zwZErE?0itlwd41uw;%3j1-w68Ov`WT@PyO|D)Zj?io&Jwu&j6wrxZ=9CpnUa(@7qT zP$Q1)w|csA?o9QS3{2|Cf5>||8XOW{8!)5B8xPAB?;!w`6c+{nQ~{_eU%Nhs=Wug}yZ*E9)mB67}G6b1l&q{_T>xXF;$4S?aFw^PKX?ymzM$ sTLU2wBxird@PX`%)EmY8KW=LL4LMf8YkDkMDgXcg07*qoM6N<$f~lc;t^fc4 literal 0 HcmV?d00001 From b520b6d37a070ca4399b6166b1442e37d327ee5c Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Fri, 16 Sep 2022 23:12:19 +0530 Subject: [PATCH 05/39] add pdf epub options --- _output.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/_output.yml b/_output.yml index 11d8e3f..4109a98 100644 --- a/_output.yml +++ b/_output.yml @@ -13,3 +13,12 @@ bookdown::gitbook: after: |
  • Published with bookdown
  • + download: ["pdf", "epub"] +bookdown::pdf_book: + includes: + in_header: preamble.tex + latex_engine: xelatex + citation_package: natbib + keep_tex: yes +bookdown::epub_book: default +bookdown::bs4_book: default From 7fb05e1ca7485afa6cb082d4c7ae2febd355de00 Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Fri, 16 Sep 2022 23:30:34 +0530 Subject: [PATCH 06/39] add acknow --- index.Rmd | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/index.Rmd b/index.Rmd index d5c0cb2..7daf187 100644 --- a/index.Rmd +++ b/index.Rmd @@ -3,6 +3,7 @@ title: "R Development Guide" author: "R Contribution Working Group" date: "`r Sys.Date()`" site: bookdown::bookdown_site +output: bookdown::gitbook documentclass: book bibliography: [book.bib] biblio-style: apalike @@ -12,10 +13,8 @@ url: 'TDDO' description: "A guide to R development." --- -# {-} +# Acknowledgement -Initial chapters of this guide were developed by Saranjeet Kaur Bhogal, in a project funded by the R Foundation, mentored by Heather Turner and Michael Lawrence. It draws on documentation and articles written by the R Core Team. +Initial chapters of this guide were developed by Saranjeet Kaur Bhogal, in a project funded by the R Foundation, mentored by Heather Turner and Michael Lawrence. It draws on documentation and articles written by the R Core Team. The initial version of the guide was upgraded as a part of the [Google Season of Docs 2022](https://github.com/rstats-gsod/gsod2022/wiki/GSOD-2022-Proposal) project with two Technical Writers and reviewed by the [Steering Committee](https://github.com/rstats-gsod/gsod2022/wiki/GSOD-2022-Proposal#steering-committee). -This guide has benefited from contributions and reviews by the following (names are in alphabetical order): - -Bettina Gruen, Carol Willing, Gabriel Becker, Kara Woo, Lluís Revilla Sancho, Maya Gans, Michael Chirico, Mine Cetinkaya-Rundel, Toby Dylan Hocking. +This guide has benefited and continues to be benefited from varied contributions by several [contributors](https://github.com/r-devel/rdevguide#contributors-). From ca8421ed438f2e4e8c4bf88262126c81ef1181ac Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Fri, 16 Sep 2022 23:49:58 +0530 Subject: [PATCH 07/39] add cover image --- index.Rmd | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.Rmd b/index.Rmd index 7daf187..944caef 100644 --- a/index.Rmd +++ b/index.Rmd @@ -10,9 +10,12 @@ biblio-style: apalike link-citations: yes github-repo: forwards/rdevguide url: 'TDDO' +cover-image: "img/Rlogo.png" +favicon: "img/Rlogo.svg" description: "A guide to R development." --- + # Acknowledgement Initial chapters of this guide were developed by Saranjeet Kaur Bhogal, in a project funded by the R Foundation, mentored by Heather Turner and Michael Lawrence. It draws on documentation and articles written by the R Core Team. The initial version of the guide was upgraded as a part of the [Google Season of Docs 2022](https://github.com/rstats-gsod/gsod2022/wiki/GSOD-2022-Proposal) project with two Technical Writers and reviewed by the [Steering Committee](https://github.com/rstats-gsod/gsod2022/wiki/GSOD-2022-Proposal#steering-committee). From af90150cb3bc85cb9edfd3178a6333c99caa5e85 Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Fri, 16 Sep 2022 23:56:43 +0530 Subject: [PATCH 08/39] add license --- index.Rmd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.Rmd b/index.Rmd index 944caef..78cba8c 100644 --- a/index.Rmd +++ b/index.Rmd @@ -21,3 +21,8 @@ description: "A guide to R development." Initial chapters of this guide were developed by Saranjeet Kaur Bhogal, in a project funded by the R Foundation, mentored by Heather Turner and Michael Lawrence. It draws on documentation and articles written by the R Core Team. The initial version of the guide was upgraded as a part of the [Google Season of Docs 2022](https://github.com/rstats-gsod/gsod2022/wiki/GSOD-2022-Proposal) project with two Technical Writers and reviewed by the [Steering Committee](https://github.com/rstats-gsod/gsod2022/wiki/GSOD-2022-Proposal#steering-committee). This guide has benefited and continues to be benefited from varied contributions by several [contributors](https://github.com/r-devel/rdevguide#contributors-). + + +[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/){width=180px} + +This project is licensed under a [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/). Some pages may contain materials that are subject to copyright, in which case you will see the copyright notice. From e1067aef567afbebcaa40c1ae615b3ce5929587b Mon Sep 17 00:00:00 2001 From: Heather Turner Date: Mon, 26 Sep 2022 09:46:06 +0100 Subject: [PATCH 09/39] add local copy of image in the Introduction --- 01-Introduction.Rmd | 2 +- README.md | 5 +++++ img/edit_icon.png | Bin 0 -> 5707 bytes 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 img/edit_icon.png diff --git a/01-Introduction.Rmd b/01-Introduction.Rmd index 6588e68..df53817 100644 --- a/01-Introduction.Rmd +++ b/01-Introduction.Rmd @@ -6,7 +6,7 @@ This guide is heavily influenced by the [Python Developer Guide](https://devguid This guide is built using bookdown which makes editing it easier, provided you have a GitHub account (sign-up at [github.com](https://github.com/)). After you log-in to GitHub, click on the ‘Edit’ icon highlighted with a red ellipse in the image below. This will take you to an editable version of the the source R Markdown file that generated the page you are on: -![](https://user-images.githubusercontent.com/28556616/122679827-03314a80-d20a-11eb-9714-06ae588127f0.png) +![Screenshot of the toolbar in the HTML version of the guide, with the Edit button (pencil and paper icon) circled in red.](img/edit_icon.png) Use the [issue tracker](https://github.com/forwards/rdevguide/issues) to raise an issue about the guide’s content or to make a feature request. diff --git a/README.md b/README.md index c6904fd..028c719 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,11 @@ You can also suggest changes by editing the .Rmd files that are at the root of t You can push directly to `master` for small fixes. Please use PRs to `master` for discussing larger updates - try to limit to one section or at least one chapter in each PR, so that changes are easier to review. +## Editing notes + +* Images must be included in the source, not provided as URLs, for the PDF boo to compile. +* Images should have alt text for accessibility - note this is shown as a caption in the EPUB version. + ## Technical details Deployment is done via Travis CI: diff --git a/img/edit_icon.png b/img/edit_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f07daddf1353d2c53ce9bd76ccaf31a5839455 GIT binary patch literal 5707 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 O&YCZD)hbnNqy7h=7Eam# literal 0 HcmV?d00001 From e619af862cc40e3cd308bda83347a58afa4c1996 Mon Sep 17 00:00:00 2001 From: Heather Turner Date: Mon, 26 Sep 2022 09:46:53 +0100 Subject: [PATCH 10/39] update GitHub action to deploy PDF and EPUB --- .github/workflows/deploy_bookdown.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy_bookdown.yml b/.github/workflows/deploy_bookdown.yml index 73aeba2..7c518f7 100644 --- a/.github/workflows/deploy_bookdown.yml +++ b/.github/workflows/deploy_bookdown.yml @@ -11,14 +11,19 @@ jobs: name: Render-Book runs-on: macOS-latest steps: - - uses: actions/checkout@v1 - - uses: r-lib/actions/setup-r@v1 - - uses: r-lib/actions/setup-pandoc@v1 + - uses: actions/checkout@v3 + - uses: r-lib/actions/setup-r@v2 + - uses: r-lib/actions/setup-pandoc@v2 + - uses: r-lib/actions/setup-tinytex@v2 - name: Install rmarkdown run: Rscript -e 'install.packages(c("rmarkdown","bookdown"))' - - name: Render Book - run: Rscript -e 'bookdown::render_book("index.Rmd")' - - uses: actions/upload-artifact@v1 + - name: Render HTML + run: Rscript -e 'bookdown::render_book("index.Rmd", "gitbook")' + - name: Render PDF + run: Rscript -e 'bookdown::render_book("index.Rmd", "pdf_book")' + - name: Render ePub + run: Rscript -e 'bookdown::render_book("index.Rmd", "epub_book")' + - uses: actions/upload-artifact@v3 with: name: docs path: docs/ From f934789db57bbb1821af5872b05b44197ce2adb7 Mon Sep 17 00:00:00 2001 From: Heather Turner Date: Mon, 26 Sep 2022 09:53:03 +0100 Subject: [PATCH 11/39] remove bs4 book --- _output.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/_output.yml b/_output.yml index 4109a98..7eeeb1b 100644 --- a/_output.yml +++ b/_output.yml @@ -21,4 +21,3 @@ bookdown::pdf_book: citation_package: natbib keep_tex: yes bookdown::epub_book: default -bookdown::bs4_book: default From af4aa2acc3609403a0e49d7dabb9060b81d032b6 Mon Sep 17 00:00:00 2001 From: Heather Turner Date: Mon, 26 Sep 2022 09:57:18 +0100 Subject: [PATCH 12/39] add instruction on previewing PDF/EPUB --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 028c719..bbab53d 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ If you want to render the guide locally, you need to install `bookdown`. Then us ```bookdown::render_book('index.Rmd', 'bookdown::gitbook')``` -and the book will be generated in the `docs` folder. You can open the guide on the command line via `open docs/index.html`. +and the book will be generated in the `docs` folder. You can open the guide on the command line via `open docs/index.html`. To preview the PDF or EPUB versions locally, replace `'bookdown::gitbook'` with `'bookdown::pdf_book'` or `'bookdown::epub_book`' as appropriate. ## Code of Conduct From 4595ce64561f2d2e8369c111bca91e083e74d556 Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Mon, 26 Sep 2022 14:37:18 +0530 Subject: [PATCH 13/39] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bbab53d..a979108 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ You can push directly to `master` for small fixes. Please use PRs to `master` fo ## Editing notes -* Images must be included in the source, not provided as URLs, for the PDF boo to compile. +* Images must be included in the source, not provided as URLs, for the PDF book to compile. * Images should have alt text for accessibility - note this is shown as a caption in the EPUB version. ## Technical details From a7a0365606de929d336f4ecb0160ab66a50aeb85 Mon Sep 17 00:00:00 2001 From: Heather Turner Date: Mon, 26 Sep 2022 10:17:41 +0100 Subject: [PATCH 14/39] try adding namespace to output formats --- .github/workflows/deploy_bookdown.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy_bookdown.yml b/.github/workflows/deploy_bookdown.yml index 7c518f7..48e4a3e 100644 --- a/.github/workflows/deploy_bookdown.yml +++ b/.github/workflows/deploy_bookdown.yml @@ -18,11 +18,11 @@ jobs: - name: Install rmarkdown run: Rscript -e 'install.packages(c("rmarkdown","bookdown"))' - name: Render HTML - run: Rscript -e 'bookdown::render_book("index.Rmd", "gitbook")' + run: Rscript -e 'bookdown::render_book("index.Rmd", "bookdown::gitbook")' - name: Render PDF - run: Rscript -e 'bookdown::render_book("index.Rmd", "pdf_book")' + run: Rscript -e 'bookdown::render_book("index.Rmd", "bookdown::pdf_book")' - name: Render ePub - run: Rscript -e 'bookdown::render_book("index.Rmd", "epub_book")' + run: Rscript -e 'bookdown::render_book("index.Rmd", "bookdown::epub_book")' - uses: actions/upload-artifact@v3 with: name: docs From eae35e6d57afc05bb1f3bc7392041ec6024abfd9 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Tue, 27 Sep 2022 00:27:54 -0700 Subject: [PATCH 15/39] Rename to chapter 8, narrow wide line --- 13-translations.Rmd => 08-translations.Rmd | 8 +++++--- ..._versions.Rmd => 09-testing_pre_release_R_versions.Rmd | 0 09-R_Core_Developers.Rmd => 10-R_Core_Developers.Rmd | 0 10-where_to_get_help.Rmd => 11-where_to_get_help.Rmd | 0 ...and_announcements.Rmd => 12-news_and_announcements.Rmd | 0 12-developer_tools.Rmd => 13-developer_tools.Rmd | 0 6 files changed, 5 insertions(+), 3 deletions(-) rename 13-translations.Rmd => 08-translations.Rmd (89%) rename 08-testing_pre_release_R_versions.Rmd => 09-testing_pre_release_R_versions.Rmd (100%) rename 09-R_Core_Developers.Rmd => 10-R_Core_Developers.Rmd (100%) rename 10-where_to_get_help.Rmd => 11-where_to_get_help.Rmd (100%) rename 11-news_and_announcements.Rmd => 12-news_and_announcements.Rmd (100%) rename 12-developer_tools.Rmd => 13-developer_tools.Rmd (100%) diff --git a/13-translations.Rmd b/08-translations.Rmd similarity index 89% rename from 13-translations.Rmd rename to 08-translations.Rmd index 8288728..9693f9e 100644 --- a/13-translations.Rmd +++ b/08-translations.Rmd @@ -1,8 +1,10 @@ # Translations -This chapter covers internationalization in R, i.e., the display of messages in languages other than English. All output in R (such as messages emitted by `stop()`, `warning()`, or `message()`) is eligible for translation, as are menu labels in the GUI. Depending on the version of R that you are using, some of the languages might already be available while others may need work. -R leverages the [`gettext`](https://www.gnu.org/software/gettext/) program to handle the conversion from English -to arbitrary target languages. +This chapter covers internationalization in R, i.e., the display of messages in languages other than English. All +output in R (such as messages emitted by `stop()`, `warning()`, or `message()`) is eligible for translation, as +are menu labels in the GUI. Depending on the version of R that you are using, some of the languages might already +be available while others may need work. R leverages the [`gettext`](https://www.gnu.org/software/gettext/) program +to handle the conversion from English to arbitrary target languages. Having messages available in other languages can be an important bridge for R learners not confident in English -- rather than learning two things at once (coding in R and processing diagnostic information in English), they can diff --git a/08-testing_pre_release_R_versions.Rmd b/09-testing_pre_release_R_versions.Rmd similarity index 100% rename from 08-testing_pre_release_R_versions.Rmd rename to 09-testing_pre_release_R_versions.Rmd diff --git a/09-R_Core_Developers.Rmd b/10-R_Core_Developers.Rmd similarity index 100% rename from 09-R_Core_Developers.Rmd rename to 10-R_Core_Developers.Rmd diff --git a/10-where_to_get_help.Rmd b/11-where_to_get_help.Rmd similarity index 100% rename from 10-where_to_get_help.Rmd rename to 11-where_to_get_help.Rmd diff --git a/11-news_and_announcements.Rmd b/12-news_and_announcements.Rmd similarity index 100% rename from 11-news_and_announcements.Rmd rename to 12-news_and_announcements.Rmd diff --git a/12-developer_tools.Rmd b/13-developer_tools.Rmd similarity index 100% rename from 12-developer_tools.Rmd rename to 13-developer_tools.Rmd From 4121d740fec475002ede5dd05e3ce01669b28f3d Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Tue, 27 Sep 2022 01:16:32 -0700 Subject: [PATCH 16/39] Add some exposition on .po file basics --- 08-translations.Rmd | 95 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 91 insertions(+), 4 deletions(-) diff --git a/08-translations.Rmd b/08-translations.Rmd index 9693f9e..1f910a7 100644 --- a/08-translations.Rmd +++ b/08-translations.Rmd @@ -11,9 +11,9 @@ rather than learning two things at once (coding in R and processing diagnostic i focus on coding while getting more natural errors/warnings in their native tongue. The [`gettext` manual](https://www.gnu.org/software/gettext/manual/index.html) is a more canonical reference for -deep understanding of how `gettext` works. This chapter will just give a broad overview of how it works, with -particular focus on how things work for R, with the goal of making it as low-friction as possible for developers -and users to contribute new/updated translations. +deep understanding of how `gettext` works. This chapter will just give a broad overview, with particular focus on +how things work for R, with the goal of making it as low-friction as possible for developers and users to contribute +new/updated translations. ## How translations work @@ -52,6 +52,93 @@ completeness and edification. ### .po files +.po files are the most important artifacts for translators. They provide the (human-readable!) mapping between +the messages as they appear in the source code and how the messages will appear to users in translated locales. + +#### Singular messages + +Most messages appear as `msgid`/`msgstr` pairs. The former gives the message at it appears in the code, while the +latter shows how it should appear in translation. For example, here is an error in German (locale: `de`) informing +the user that their input must be of class `POSIXt` +([source](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L537-L538)): + +``` +msgid "'to' must be a \"POSIXt\" object" +msgstr "'to' muss ein \"POSIXt\" Objekt sein" +``` + +The same message can also be found in +[`R-it.po`](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-it.po#L532-L533) +giving the translation to Italian: + +``` +msgid "'to' must be a \"POSIXt\" object" +msgstr "'to' dev'essere un oggetto \"POSIXt\"" +``` + +#### Plural messages + +Some messages will have different translations depending on some input determined at run time (e.g., the `length()` of +an input object or the `nrow()` of a `data.frame`). This presents a challenge for translation, because different languages +have different rules for how to pluralize different ordinal +numbers[^See the [relevant section](https://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html) of the `gettext` manual]. +For example, English typically adds `s` to any quantity of items besides 1 (1 dog, 2 dog`s`, 100 dog`s`, even 0 dog`s`). +Chinese typically does not alter the word itself in similar situations (一只狗, 两只狗, 一百只狗, 零只狗); Arabic has _six_ +different ways to pluralize a quantity. + +In .po files, this shows up in the form of `msgid_plural` entries, followed by several ordered `msgstr` entries. Here's an example from +[`R-de.po`](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L2015-L2018): + +``` +msgid "Warning message:\n" +msgid_plural "Warning messages:\n" +msgstr[0] "Warnmeldung:\n" +msgstr[1] "Warnmeldungen:\n" +``` + +The two entries in English correspond to the singular and plural messages; the two entries in German correspond similarly, because +pluralization rules in German are similar to those in English. The situation in Lithuanian +([`R-lt.po`](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-lt.po#L1999-L2003)) +is more divergent: + +``` +msgid "Warning message:\n" +msgid_plural "Warning messages:\n" +msgstr[0] "Įspėjantis pranešimas:\n" +msgstr[1] "Įspėjantys pranešimai:\n" +msgstr[2] "Įspėjančių pranešimų:\n" +``` + +This corresponds to the 3 different ways to pluralize words in Polish. + +What do `0`, `1`, and `2` correspond to, exactly? Ideally, this will be clear to native speakers of the language, but for +clarity, it is the solution to a small arithmetic problem that can be found in the language's metadata entry. Look for the +`Plural-Forms` entry in the metadata at the top of the .po file; +[here it is for Lithuanian](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-lt.po#L18-L19): + +``` +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2);\n" +``` + +`nplurals` tells us how many entries correspond to each `msgid_plural` for this language. `plural` tells us, for the +quantity `n`, which entry to use. The arithmetic is C code; most important if you really want to parse this and are only +familiar with R code is C's [ternary operator](https://en.wikipedia.org/wiki/%3F:): `test ? valueIfTrue : valueIfFalse` +is a handy way to write R's `if (test) valueIfTrue else valueIfFalse`. + +Parsing, we get the following associations: + + - the `0` entry corresponds to when a number equals 1 modulo 10 (i.e., 1, 11, 21, 31, ...) _except_ numbers equaling + 11 modulo 100 (i.e., 11, 111, 211, 311, ...). Combining, that's 1, 21, 31, ..., 91, 101, 121, 131, ..., 191, ... + - the `1` entry corresponds to numbers at least 2 modulo 10 (2, 3, ..., 8, 9, 12, 13, 14, ...) and _either_ + below 10 modulo 100 (0, 1, ..., 9, 100, 101, ..., 109, ...) _or_ exceeding 20 modulo 100 (21, 22, ..., 99). Combining, + that's 2, 3, ..., 9, 22, 23, ..., 29, 32, 33, ... 39, ..., 102, 103, ..., 109, 122, 123, ... + - The `2` entry corresponds to all other numbers, i.e. 0, 10, 11, 12, ..., 19, 20, 30, ..., 90, 100, 110, 111, 112, ... + +TODO(michaelchirico): How to discover a new `nplurals/plural`. +TODO(michaelchirico): sprintf templates (`%s`) and redirections (`%1$s`) +TODO(michaelchirico): fuzzy translations + ### .mo files .po files are plain text, but while helpful for human readers, this is inefficient for consumption by computers. @@ -62,7 +149,7 @@ They are stored in the R sources at `./src/library/translations/inst` in various ## How to contribute new translations -Creating and editing .po files, testing the translations worked, **encoding**, translation teams, release schedule +TODO(michaelchirico): Creating and editing .po files, testing the translations worked, **encoding**, translation teams, release schedule ## Current status of translations in R From 1647ec750424a880f8849fdc9493632b0966c2f2 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Wed, 28 Sep 2022 00:51:04 -0700 Subject: [PATCH 17/39] Feedback from Heather --- 08-translations.Rmd | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/08-translations.Rmd b/08-translations.Rmd index 1f910a7..752b3a0 100644 --- a/08-translations.Rmd +++ b/08-translations.Rmd @@ -10,7 +10,7 @@ Having messages available in other languages can be an important bridge for R le rather than learning two things at once (coding in R and processing diagnostic information in English), they can focus on coding while getting more natural errors/warnings in their native tongue. -The [`gettext` manual](https://www.gnu.org/software/gettext/manual/index.html) is a more canonical reference for +The [`gettext` manual](https://www.gnu.org/software/gettext/manual/index.html) is a more canonical reference for a deep understanding of how `gettext` works. This chapter will just give a broad overview, with particular focus on how things work for R, with the goal of making it as low-friction as possible for developers and users to contribute new/updated translations. @@ -24,16 +24,14 @@ messages. ### .pot files The `.pot` file is a snapshot of the messages available in a given **domain**. A domain in R typically identifies -a source package and a source language (either R or C/C++). For example, the file `R-base.pot` -(found in the R sources in `./src/library/base/po`) is a catalogue of all messages produced by R code in the -`base` package, while `stats.pot` (_viz._, `./src/library/stats/po`) is a catalogue of all messages produced -by C code in the `stats` package. +a source package and a source language (either R or C/C++). For example, the file `R-stats.pot` +(found in the R sources in `./src/library/stats/po`) is a catalogue of all messages produced by R code in the +`base` package, while `stats.pot` is a catalogue of all messages produced by C code in the `stats` package. -There are two exceptions to the basic pattern described above. The first is the domain for C messages produced -by the `base` package. Well, technically, they are not "produced by the `base` package" in the normal sense -that code in the `src` directory of base is not where these messages come from, but rather, the C code which -is the fundamental backing of R itself (especially, but not exclusively, the C code under `./src/main`). -Given this idiosyncrasy, the associated `.pot` file is `R.pot` and it is found in the `po` directory for `base`. +There are two exceptions to the basic pattern described above. The first is the domain for messages produced by +the C code which is the fundamental backing of R itself (especially, but not exclusively, the C code under +./src/main). The associated .pot file is R.pot and it is found in `./src/library/base/po`. R-base.pot is a +normal .pot file because base has a normal `R` directory. The second is the domain for the Windows R GUI, i.e., the text in the menus and elsewhere in the R GUI program available for running R on Windows. These messages are stored in the `RGui.pot` domain, also in the `po` @@ -45,7 +43,8 @@ for Windows, since it is non-trivial for non-Windows users to test their transla #### Generating .pot files For outside contributors, there's no need to update .pot files -- translators will typically take the R .pot files -as given and generate .po files from them to be sent to an R-core maintainer as a patch. +as given and generate .po files. These will be sent along to a language-specific translation maintainer, who then +compiles them to send to the R Core developer responsible for translations, who finally applies them as a patch. To emphasize, this section is almost always not needed for contributing translations -- it is here for completeness and edification. @@ -60,7 +59,7 @@ the messages as they appear in the source code and how the messages will appear Most messages appear as `msgid`/`msgstr` pairs. The former gives the message at it appears in the code, while the latter shows how it should appear in translation. For example, here is an error in German (locale: `de`) informing the user that their input must be of class `POSIXt` -([source](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L537-L538)): +([.po file source](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L537-L538)): ``` msgid "'to' must be a \"POSIXt\" object" @@ -135,21 +134,21 @@ Parsing, we get the following associations: that's 2, 3, ..., 9, 22, 23, ..., 29, 32, 33, ... 39, ..., 102, 103, ..., 109, 122, 123, ... - The `2` entry corresponds to all other numbers, i.e. 0, 10, 11, 12, ..., 19, 20, 30, ..., 90, 100, 110, 111, 112, ... -TODO(michaelchirico): How to discover a new `nplurals/plural`. -TODO(michaelchirico): sprintf templates (`%s`) and redirections (`%1$s`) -TODO(michaelchirico): fuzzy translations + + + ### .mo files .po files are plain text, but while helpful for human readers, this is inefficient for consumption by computers. The .mo format is a "compiled" version of the .po file optimized for retrieving messages when R is running. -In R-devel, the conversion from .po to .mo is done by R-core -- you don't need to compile these files yourself. +In R-devel, the conversion from .po to .mo is done by R Core -- you don't need to compile these files yourself. They are stored in the R sources at `./src/library/translations/inst` in various language-specific subdirectories. ## How to contribute new translations -TODO(michaelchirico): Creating and editing .po files, testing the translations worked, **encoding**, translation teams, release schedule + ## Current status of translations in R From 77468afdfd94236235cc55aa062d526274b55381 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Wed, 28 Sep 2022 23:48:45 -0700 Subject: [PATCH 18/39] Update 08-translations.Rmd Co-authored-by: Heather Turner --- 08-translations.Rmd | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/08-translations.Rmd b/08-translations.Rmd index 752b3a0..5b30bac 100644 --- a/08-translations.Rmd +++ b/08-translations.Rmd @@ -56,15 +56,14 @@ the messages as they appear in the source code and how the messages will appear #### Singular messages -Most messages appear as `msgid`/`msgstr` pairs. The former gives the message at it appears in the code, while the +Most messages appear as `msgid`/`msgstr` pairs. The former gives the message as it appears in the code, while the latter shows how it should appear in translation. For example, here is an error in German (locale: `de`) informing the user that their input must be of class `POSIXt` -([.po file source](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L537-L538)): -``` -msgid "'to' must be a \"POSIXt\" object" -msgstr "'to' muss ein \"POSIXt\" Objekt sein" -``` + msgid "'to' must be a \"POSIXt\" object" + msgstr "'to' muss ein \"POSIXt\" Objekt sein" + +See this in context in the [`R-de.po` source file](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L537-L538). The same message can also be found in [`R-it.po`](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-it.po#L532-L533) From d6022b86bdcfb159465536e3c9b11c5950aa3c14 Mon Sep 17 00:00:00 2001 From: Michael Chirico Date: Wed, 28 Sep 2022 23:49:49 -0700 Subject: [PATCH 19/39] prefer code gate over indentation --- 08-translations.Rmd | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/08-translations.Rmd b/08-translations.Rmd index 5b30bac..b13d07a 100644 --- a/08-translations.Rmd +++ b/08-translations.Rmd @@ -60,8 +60,10 @@ Most messages appear as `msgid`/`msgstr` pairs. The former gives the message as latter shows how it should appear in translation. For example, here is an error in German (locale: `de`) informing the user that their input must be of class `POSIXt` - msgid "'to' must be a \"POSIXt\" object" - msgstr "'to' muss ein \"POSIXt\" Objekt sein" +``` +msgid "'to' must be a \"POSIXt\" object" +msgstr "'to' muss ein \"POSIXt\" Objekt sein" +``` See this in context in the [`R-de.po` source file](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L537-L538). From e66845087819459b02db9aafc816d071b9436350 Mon Sep 17 00:00:00 2001 From: bettinagruen <3341603+bettinagruen@users.noreply.github.com> Date: Fri, 30 Sep 2022 09:48:05 +0200 Subject: [PATCH 20/39] Update 07-documenting_R.Rmd Typo fixed. --- 07-documenting_R.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/07-documenting_R.Rmd b/07-documenting_R.Rmd index 293be63..6e07222 100644 --- a/07-documenting_R.Rmd +++ b/07-documenting_R.Rmd @@ -68,7 +68,7 @@ The language used in the documentations should follow these basic rules: 3. Short code examples can help in understanding better. Readers can often grasp a simple example more quickly than they can digest a formal description. Usually people learn faster with concrete, motivating examples that match the context of a typical use case. -4. Giving a code equivalent (or approximate equivalent) can be a useful in addition to the description provided. You should carefully weigh whether the code equivalent adds value to the document. +4. Giving a code equivalent (or approximate equivalent) can be a useful addition to the description provided. You should carefully weigh whether the code equivalent adds value to the document. 5. The tone of the documentation needs to be respectful of the reader’s background. Lay out the relevant information, show motivating use cases, provide glossary links, and do your best to connect-the-dots. The documentation is meant for newcomers, many of whom will be using it to evaluate the R language as a whole. The experience needs to be positive and not leave the reader with worries that something bad will happen if they make a mistake. From 136cd7fdc37c28c7db59090f6ac1a8bb4198b707 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:00:06 +0000 Subject: [PATCH 21/39] docs: update README.md [skip ci] --- README.md | 48 +++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index a979108..4f57436 100644 --- a/README.md +++ b/README.md @@ -59,29 +59,31 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

    Heather Turner

    🖋 💻 🚧 🧑‍🏫 📆 👀 🔍 💬 📋 📢

    Saranjeet Kaur

    🖋 📖 🤔 🔍 💬 📋 📢 📹

    Maya Gans

    🚇

    Carol Willing

    👀

    Lluís

    👀

    Toby Dylan Hocking

    👀 💡

    bettinagruen

    👀

    Martin Mächler

    👀

    Anelda van der Walt

    👀

    Mine Cetinkaya-Rundel

    👀

    Michael Chirico

    👀 💬

    Elin Waring

    💬

    Michael Lawrence

    👀 🤔 🧑‍🏫

    Gabe Becker

    👀 💬

    Kirill Müller

    💬

    Lionel Henry

    💬

    John Hayes

    👀
    Heather Turner
    Heather Turner

    🖋 💻 🚧 🧑‍🏫 📆 👀 🔍 💬 📋 📢
    Saranjeet Kaur
    Saranjeet Kaur

    🖋 📖 🤔 🔍 💬 📋 📢 📹
    Maya Gans
    Maya Gans

    🚇
    Carol Willing
    Carol Willing

    👀
    Lluís
    Lluís

    👀
    Toby Dylan Hocking
    Toby Dylan Hocking

    👀 💡
    bettinagruen
    bettinagruen

    👀
    Martin Mächler
    Martin Mächler

    👀
    Anelda van der Walt
    Anelda van der Walt

    👀
    Mine Cetinkaya-Rundel
    Mine Cetinkaya-Rundel

    👀
    Michael Chirico
    Michael Chirico

    👀 💬 🖋 📖 🔬
    Elin Waring
    Elin Waring

    💬
    Michael Lawrence
    Michael Lawrence

    👀 🤔 🧑‍🏫
    Gabe Becker
    Gabe Becker

    👀 💬
    Kirill Müller
    Kirill Müller

    💬
    Lionel Henry
    Lionel Henry

    💬
    John Hayes
    John Hayes

    👀
    From 80041b93de30d8153c490b61f498e144a2ac8c28 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:00:07 +0000 Subject: [PATCH 22/39] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index c914150..c3a0f25 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -119,7 +119,10 @@ "profile": "https://github.com/MichaelChirico", "contributions": [ "review", - "question" + "question", + "content", + "doc", + "research" ] }, { @@ -185,5 +188,6 @@ "projectOwner": "r-devel", "repoType": "github", "repoHost": "https://github.com", - "skipCi": true + "skipCi": true, + "commitConvention": "angular" } From 3a05c741283ae9816adc2eba6a57181b43eebf8c Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:02:22 +0000 Subject: [PATCH 23/39] docs: update README.md [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f57436..5c4416b 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Carol Willing
    Carol Willing

    👀 Lluís
    Lluís

    👀 Toby Dylan Hocking
    Toby Dylan Hocking

    👀 💡 - bettinagruen
    bettinagruen

    👀 + bettinagruen
    bettinagruen

    👀 🔬 💬 Martin Mächler
    Martin Mächler

    👀 From 1d529a32d74fa1cc96a7e6f8643d8f7c542b46e2 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:02:23 +0000 Subject: [PATCH 24/39] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index c3a0f25..3563c33 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -82,7 +82,9 @@ "avatar_url": "https://avatars.githubusercontent.com/u/3341603?v=4", "profile": "https://github.com/bettinagruen", "contributions": [ - "review" + "review", + "research", + "question" ] }, { From c2821894f246466c6440235e95cfc09b1de615ce Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:04:41 +0000 Subject: [PATCH 25/39] docs: update README.md [skip ci] --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c4416b..a5b20e4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # A Guide to Contributing to R Core -[![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square)](#contributors-) This guide is a work in progress, inspired by http://devguide.python.org/. It is currently deployed at https://forwards.github.io/rdevguide/. @@ -82,6 +82,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Kirill Müller
    Kirill Müller

    💬 Lionel Henry
    Lionel Henry

    💬 John Hayes
    John Hayes

    👀 + nbenn
    nbenn

    👀 🔬 💬 From 49227a006526dab08da58aaa324cc3634f8399a4 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:04:42 +0000 Subject: [PATCH 26/39] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 3563c33..7b761dd 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -183,6 +183,17 @@ "contributions": [ "review" ] + }, + { + "login": "nbenn", + "name": "nbenn", + "avatar_url": "https://avatars.githubusercontent.com/u/3158446?v=4", + "profile": "https://github.com/nbenn", + "contributions": [ + "review", + "research", + "question" + ] } ], "contributorsPerLine": 7, From 4a7b3838d4c77df4b28b97f4dddf168b723dee97 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:07:00 +0000 Subject: [PATCH 27/39] docs: update README.md [skip ci] --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a5b20e4..1997146 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # A Guide to Contributing to R Core -[![All Contributors](https://img.shields.io/badge/all_contributors-18-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-19-orange.svg?style=flat-square)](#contributors-) This guide is a work in progress, inspired by http://devguide.python.org/. It is currently deployed at https://forwards.github.io/rdevguide/. @@ -83,6 +83,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Lionel Henry
    Lionel Henry

    💬 John Hayes
    John Hayes

    👀 nbenn
    nbenn

    👀 🔬 💬 + Ben
    Ben

    🖋 👀 🔬 💬 From 0274ec290c5b0d5fc12dfe1bcc83b456d207cb11 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:07:01 +0000 Subject: [PATCH 28/39] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 7b761dd..20def35 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -194,6 +194,18 @@ "research", "question" ] + }, + { + "login": "benubah", + "name": "Ben", + "avatar_url": "https://avatars.githubusercontent.com/u/11357251?v=4", + "profile": "https://github.com/benubah", + "contributions": [ + "content", + "review", + "research", + "question" + ] } ], "contributorsPerLine": 7, From 838262baeb969bb8d102f275cf5fbad283f140ae Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:08:19 +0000 Subject: [PATCH 29/39] docs: update README.md [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1997146..ca8ad58 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Maya Gans
    Maya Gans

    🚇 Carol Willing
    Carol Willing

    👀 Lluís
    Lluís

    👀 - Toby Dylan Hocking
    Toby Dylan Hocking

    👀 💡 + Toby Dylan Hocking
    Toby Dylan Hocking

    👀 💡 🔬 💬 bettinagruen
    bettinagruen

    👀 🔬 💬 From cdf39ad27dd220af5a8d1d016eaedf382c4c3e5d Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Wed, 12 Oct 2022 15:08:20 +0000 Subject: [PATCH 30/39] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 20def35..3234c8d 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -73,7 +73,9 @@ "profile": "http://tdhock.github.io", "contributions": [ "review", - "example" + "example", + "research", + "question" ] }, { From df78e1d743421c20b1876e276133f8a877068fc5 Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Wed, 12 Oct 2022 20:52:05 +0530 Subject: [PATCH 31/39] Update 08-translations.Rmd --- 08-translations.Rmd | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/08-translations.Rmd b/08-translations.Rmd index b13d07a..700b051 100644 --- a/08-translations.Rmd +++ b/08-translations.Rmd @@ -18,10 +18,10 @@ new/updated translations. ## How translations work Each of the default packages distributed with R (i.e., those found in `./src/library` such as `base`, `utils`, -and `stats`) contains a `po` directory that is the central location for cataloguing/translating each package's +and `stats` and which have priority base) contains a `po` directory that is the central location for cataloguing/translating each package's messages. -### .pot files +### `.pot` files The `.pot` file is a snapshot of the messages available in a given **domain**. A domain in R typically identifies a source package and a source language (either R or C/C++). For example, the file `R-stats.pot` @@ -30,26 +30,25 @@ a source package and a source language (either R or C/C++). For example, the fil There are two exceptions to the basic pattern described above. The first is the domain for messages produced by the C code which is the fundamental backing of R itself (especially, but not exclusively, the C code under -./src/main). The associated .pot file is R.pot and it is found in `./src/library/base/po`. R-base.pot is a -normal .pot file because base has a normal `R` directory. +./src/main). The associated `.pot` file is `R.pot` and it is found in `./src/library/base/po`. `R-base.pot` is a +normal `.pot` file because base has a normal `R` directory. The second is the domain for the Windows R GUI, i.e., the text in the menus and elsewhere in the R GUI program available for running R on Windows. These messages are stored in the `RGui.pot` domain, also in the `po` directory for `base`, and are most commonly derived from C code found in `./src/gnuwin32`. One reason to keep this domain separate is that it is only relevant to one platform (Windows). In particular, Windows has historically -different character encodings, so that it made more sense for Windows developers to produce translations -for Windows, since it is non-trivial for non-Windows users to test their translations for the Windows GUI. +different character encodings, so that it made more sense for Windows developers to produce translations specifically for Windows, since it is non-trivial for non-Windows users to test their translations for the Windows GUI. -#### Generating .pot files +#### Generating `.pot` files -For outside contributors, there's no need to update .pot files -- translators will typically take the R .pot files -as given and generate .po files. These will be sent along to a language-specific translation maintainer, who then +For outside contributors, there's no need to update .pot files -- translators will typically take the R `.pot` files +as given and generate `.po` files. These will be sent along to a language-specific translation maintainer, who then compiles them to send to the R Core developer responsible for translations, who finally applies them as a patch. To emphasize, this section is almost always not needed for contributing translations -- it is here for completeness and edification. -### .po files +### `.po` files .po files are the most important artifacts for translators. They provide the (human-readable!) mapping between the messages as they appear in the source code and how the messages will appear to users in translated locales. @@ -65,10 +64,10 @@ msgid "'to' must be a \"POSIXt\" object" msgstr "'to' muss ein \"POSIXt\" Objekt sein" ``` -See this in context in the [`R-de.po` source file](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L537-L538). +See this in context in the [`R-de.po` source file](https://svn.r-project.org/R/trunk/src/library/base/po/R-de.po). The same message can also be found in -[`R-it.po`](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-it.po#L532-L533) +[`R-it.po`](https://svn.r-project.org/R/trunk/src/library/base/po/R-it.po) giving the translation to Italian: ``` @@ -86,7 +85,7 @@ For example, English typically adds `s` to any quantity of items besides 1 (1 do Chinese typically does not alter the word itself in similar situations (一只狗, 两只狗, 一百只狗, 零只狗); Arabic has _six_ different ways to pluralize a quantity. -In .po files, this shows up in the form of `msgid_plural` entries, followed by several ordered `msgstr` entries. Here's an example from +In `.po` files, this shows up in the form of `msgid_plural` entries, followed by several ordered `msgstr` entries. Here's an example from [`R-de.po`](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-de.po#L2015-L2018): ``` @@ -113,7 +112,7 @@ This corresponds to the 3 different ways to pluralize words in Polish. What do `0`, `1`, and `2` correspond to, exactly? Ideally, this will be clear to native speakers of the language, but for clarity, it is the solution to a small arithmetic problem that can be found in the language's metadata entry. Look for the -`Plural-Forms` entry in the metadata at the top of the .po file; +`Plural-Forms` entry in the metadata at the top of the `.po` file; [here it is for Lithuanian](https://github.com/r-devel/r-svn/blob/c715d61cb74b3fee2d035faed9b258e86e420b75/src/library/base/po/R-lt.po#L18-L19): ``` @@ -139,9 +138,9 @@ Parsing, we get the following associations: -### .mo files +### `.mo` files -.po files are plain text, but while helpful for human readers, this is inefficient for consumption by computers. +`.po` files are plain text, but while helpful for human readers, this is inefficient for consumption by computers. The .mo format is a "compiled" version of the .po file optimized for retrieving messages when R is running. In R-devel, the conversion from .po to .mo is done by R Core -- you don't need to compile these files yourself. From 268b5781b0faf003982180377aded0c548c9c9e9 Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Fri, 14 Oct 2022 20:16:35 +0530 Subject: [PATCH 32/39] change to bug-reporting channel --- 04-reviewing_bugs_in_R.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/04-reviewing_bugs_in_R.Rmd b/04-reviewing_bugs_in_R.Rmd index 0900233..4c57abb 100644 --- a/04-reviewing_bugs_in_R.Rmd +++ b/04-reviewing_bugs_in_R.Rmd @@ -40,7 +40,7 @@ If you would like to see how bugs are reviewed on Bugzilla, [here](https://bugs. **Note**: -There is a `#bugreports-for-review` channel on the [R Contributors slack](https://r-contributors.slack.com/) where you can share your bug report(s) for review/feedback before submitting to Bugzilla. This can help with checking that it really is a bug, that you have included the important information and excluded redundant information. +There is a `#bug-reporting` channel on the [R Contributors slack](https://r-contributors.slack.com/) where you can share your bug report(s) for review/feedback before submitting to Bugzilla. This can help with checking that it really is a bug, that you have included the important information and excluded redundant information. ## See also From 2dee8cfc2e6a4a150e9a9445e958893fe8491d89 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:49:41 +0000 Subject: [PATCH 33/39] docs: update README.md [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca8ad58..90cbd37 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Saranjeet Kaur
    Saranjeet Kaur

    🖋 📖 🤔 🔍 💬 📋 📢 📹 Maya Gans
    Maya Gans

    🚇 Carol Willing
    Carol Willing

    👀 - Lluís
    Lluís

    👀 + Lluís
    Lluís

    👀 🖋 💬 🔬 📖 💡 Toby Dylan Hocking
    Toby Dylan Hocking

    👀 💡 🔬 💬 bettinagruen
    bettinagruen

    👀 🔬 💬 From cd57ce9febef54bffdc4a01ae6195fdf52eb8fc3 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:49:42 +0000 Subject: [PATCH 34/39] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 3234c8d..c5f8201 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -63,7 +63,12 @@ "avatar_url": "https://avatars.githubusercontent.com/u/6818218?v=4", "profile": "http://llrs.dev", "contributions": [ - "review" + "review", + "content", + "question", + "research", + "doc", + "example" ] }, { From 2b499a7e1d1a3cf7774643e0e3374ad856c22ff0 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:54:14 +0000 Subject: [PATCH 35/39] docs: update README.md [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 90cbd37..e76b4d0 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Heather Turner
    Heather Turner

    🖋 💻 🚧 🧑‍🏫 📆 👀 🔍 💬 📋 📢 - Saranjeet Kaur
    Saranjeet Kaur

    🖋 📖 🤔 🔍 💬 📋 📢 📹 + Saranjeet Kaur
    Saranjeet Kaur

    🖋 📖 🤔 🔍 💬 📋 📢 📹 👀 💡 🔬 Maya Gans
    Maya Gans

    🚇 Carol Willing
    Carol Willing

    👀 Lluís
    Lluís

    👀 🖋 💬 🔬 📖 💡 From 2d5e9139170b57b517875e7176ad104c495d1c1e Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Fri, 14 Oct 2022 14:54:15 +0000 Subject: [PATCH 36/39] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index c5f8201..69d6d4a 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -36,7 +36,10 @@ "question", "eventOrganizing", "talk", - "video" + "video", + "review", + "example", + "research" ] }, { From a0ec372981d7d8a972984209aac2153739f9594e Mon Sep 17 00:00:00 2001 From: SaranjeetKaur Date: Thu, 20 Oct 2022 18:48:16 +0530 Subject: [PATCH 37/39] update acknowledgement --- img/ccby.png | Bin 0 -> 1283 bytes index.Rmd | 7 ++++--- 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 img/ccby.png diff --git a/img/ccby.png b/img/ccby.png new file mode 100644 index 0000000000000000000000000000000000000000..cf596085a4ba8e2efe2c5bf1094b7226e03aa127 GIT binary patch literal 1283 zcmYk*X;4#F6bJB^gjy1t$Y6l7SV9K_j7X^)ZXkq!qyomEg%*&s0VA@AKu6F30YR36 z7_lgbLWN-*V)7EQlN}Pm5)ufDg~FgBQ&1^&jg1R^eCwItz5jD(&ZjeTtI4s4(I__* z003xG6p;dD0(3m>5zu|y*=B(PM~kAw0KkQ<0KmKi0ROH*xeNfm1OmWQDgf-i2>>o< zuchcCp;G*^ z5B2vC>GgvUoenb4*Ei6oGxYTtdV3AMTD?ZIPOZ_Y)jE~BPo;wNDwXRLYPDLSRVcJ_ zg+?LQ$mN=z9yLTJQ$eIsr9`3-i{&Cwk5Jen5XuAsX?M4j-!0+uB|N^E#}k7*5eSO7 zppeTGfLtMmE8u|LAV+Zjem5HgK{mguwf)YWw%e_(t&L5M4L2KD*IBFvR(*Yab!~O| zdPjcG!qtCv6=y^>^)G^3c>LpRB>idrZgnseOaf zo2EbBo<4BkJguP41$hZ(|2aZMlEh&%57PJKO%;dbOMMsuZH~9CD2qnRd;bFVr31zm zObZyxPIK)UNj>w7`bUU-$?eTMr`*ge+AC5jqO90lMPt&J7Z?%K#H}U7^NAH+R(eUG zLh6{PzLnc`FWSFTsD+uU!g+z!!-=Hhhz@IZqDg^DYmSs43W*q*$-=nO_ z1i!kI1O_#+V5yb!GnJ7=rDX4!mX{`{T&!0)d0)~>I@2c^;asuJr>?{8oU1ST)@KiN z#-xN8SuqLeO0aK>CXx`(oeS|Bqp&h$yIra)d+DtmfweffVLN3&DcjKCLE&gk)=c=- z+VWl3tn!sBFPa{Hpkyk)N+Kq2z}9fIcYjlr&mM8>^ft~u;Cb*Pc~IK|4!ZAV<1#S)HBeKthE2N|;1ZJ3VQgS5Qbl8lgSTUOi>>E4gC z4{)uWr@~pMTr3%{JtrGGUyFssyjQ{Ui>=753G%$3@zT*$f=#=3u_-UKOW^gLDCUz@ zz)c6}Np$6yd&7=@D#b02Wz?3N2h6v)c-tJ?i#N>MskJ&!yuh1Yb Date: Thu, 20 Oct 2022 21:41:08 +0530 Subject: [PATCH 38/39] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e76b4d0..6bc391c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/) -# A Guide to Contributing to R Core +# A Guide for Contributing to R Core [![All Contributors](https://img.shields.io/badge/all_contributors-19-orange.svg?style=flat-square)](#contributors-) From 0564fd3299db0b25b831b59d5d46b0887286a916 Mon Sep 17 00:00:00 2001 From: Saranjeet Kaur Date: Thu, 20 Oct 2022 22:08:08 +0530 Subject: [PATCH 39/39] Add issue templates Add templates for bug report, feature request, and custom issue --- .github/ISSUE_TEMPLATE/bug_report.md | 38 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/custom.md | 10 ++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 ++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/custom.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dd84ea7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md new file mode 100644 index 0000000..48d5f81 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -0,0 +1,10 @@ +--- +name: Custom issue template +about: Describe this issue template's purpose here. +title: '' +labels: '' +assignees: '' + +--- + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here.