You can contribute to the translations using the web interface (Section 1) or by manually editing files (Section 2).
If you want to contribute to the translation of one of the tesselle packages, make sure the package has started the process of providing translations by checking Table 1 (or look for the po/
directory in the package root). If the process has not started, you may want to create an issue to see if we are ready to receive translations.
Web interface
We use the Weblate instance provided by Codeberg to manage translations. It provides an easy to use graphical user interface for translators, so you don’t need to code if you want to contribute.
If you would like to contribute as a translator, first read about translating using Weblate. Then, go to the component you want to contribute to (see links in Table 1) and get started.
Translation files
As a translator, you’ll mainly be working with .po
files. If you’re not familiar with these files, it’s best to use the potools package. This package will make your translation task much easier. Start by reading the vignette for translators, the gist of which is given below.
## Install
install.packages("potools")
## Load
library(potools)
If no translation exists, run po_create('<language code>')
to create a .po
file for the language you are translating. If you want to update an existing translation, run po_update()
to update the .po
files.
Next, open the .po
file with your favourite text editor. You’ll see some metadata at the top of the file, start by updating Last-Translator
to your email address.
The rest of the file consists of pairs of msgid
and msgstr
. The msgid
is the string that appears in the R source (be it an error, warning, message, etc.). The msgstr
is the translated equivalent: just go through the file and fill in the translated strings.
Finally, the plain text .po
files are converted into binary .mo
files to be distributed with the package, either by you or by the package developer, using po_compile()
.
Code of Conduct
Please note that the tesselle project is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.