An object model for source text and translations. Find and extract translatable strings. Provide translations and seamlessly retrieve them at runtime.
Introduction
R relies on GNU gettext
to
produce multi-lingual messages (if Native Language Support is enabled).
This is well-designed software offering an extensive set of functionalities.
It is ubiquitous and has withstood the test of time. It is not the objective
of transltr
to (fully) replace it.
Package transltr
provides an alternative in-memory object
model (and further functions) to easily inspect and manipulate source text
and translations.
It does not change any aspect of the underlying locale.
It has its own data serialization formats for I/O purposes. Source text and translations can be exported to text formats that are sharable and easily modifiable, even by non-technical collaborators.
Its features are extensively documented (even internal ones).
It can always locate and extract translatable strings (no matter where they are in the source code).
Translatable source text is treated as a regular R object.
Getting Started
Write code as you normally would. Whenever a piece of text (literal
character vectors) should be available in multiple languages, pass it
to method Translator$translate()
. You may also use your
own function.
Once you are ready to translate your project, call
find_source()
. This returns aTranslator
object.Export the
Translator
object withtranslator_write()
. Fill in the underlying translation files.Import translations back into an R session with
translator_read()
.
Current language and source language are respectively set with
language_set()
and language_source_get()
. By default, the latter is set
equal to "en"
(English).
Bugs and Feedback
You may submit bugs, request features, and provide feedback by creating an issue on GitHub.
Acknowledgements
Warm thanks to Jérôme Lavoué, who supported and sponsored the first release of this project.
See also
The scattered and incomplete documentation of R's Native Language Support:
tools::xgettext2pot()
,tools::update_pkg_po()
,tools::checkPoFiles()
,Section 3 (Internationalization) of R Internals,
Section 7 (Internationalization and Localization) of R Installation and Administration, and
Section 1.8 (Internationalization) of Writing R Extensions.
The comprehensive technical documentation of
GNU gettext
.
Author
Maintainer: Jean-Mathieu Potvin [email protected] [copyright holder]
Other contributors:
Jérôme Lavoué [email protected] (ORCID) [contributor, funder, reviewer]