On 21/02/2014 10:40, Daniel Kelley wrote:
I’m wondering whether anyone can help me with a translation exercise. I have a
package named “oce”, which does oceanographic processing, and I’d like to make
it produce graphs with labels that work in different languages. For example,
in English I write “Depth” and in Spanish I’d like to write “Profundidad”.
In my “po” directory I have R-oce.pot and es.po. As a first step, I’ve
translated just the phrases “Depth (m)” and “Depth [m]”. Then I build and
installed my package. Within R,
library(oce)
bindtextdomain("R-oce”)
I don't think you know what that does. And do not post HTML (see the
posting guide): you have ended up with an invalid directional quote in
there.
yields
[1] "/Library/Frameworks/R.framework/Versions/3.0/Resources/library/oce/po”
and then, in the OSX shell,
msgunfmt
/Library/Frameworks/R.framework/Versions/3.0/Resources/library/oce/po/es/LC_MESSAGES/R-oce.mo
| grep -1 Depth
yields
msgid "Depth (m)"
msgstr "Profundidad (m)"
--
--
msgid "Depth [m]"
msgstr "Profundidad [m]”
so it seems that I have successfully installed the translations. Then, I run R
from the shell with
LC_MESSAGES=es_ES.UTF-8 R --no-save < spanish.R
where spanish.R consists of
library(oce)
cat(gettext("Depth (m)"), "\n")
Read the help:
If ‘domain’ is ‘NULL’ or ‘""’, a domain is searched for based on
the namespace which contains the function calling ‘gettext’ or
‘ngettext’.
You are not calling this from a namespace and so need to specify the
domain rather than the default of NULL.
Example
gettext("empty model supplied")
> gettext("empty model supplied")
[1] "empty model supplied"
> Sys.setenv(LANGUAGE="fr")
> gettext("empty model supplied")
[1] "empty model supplied"
> gettext("empty model supplied", domain = "R-stats")
[1] "modèle fourni vide"
and I get
...
R es un software libre y viene sin GARANTIA ALGUNA.
...
(i.e. a Spanish introduction paragraph from R) which suggests that my
env-variable is OK, followed by
library(oce)
Loading required package: mapproj
Loading required package: maps
cat(gettext("Depth (m)"), "\n")
Depth (m)
which, obviously, has not translated the text. A similar test with
LANG=es_ES.UTF-8 R --no-save < spanish.R
yields the same results.
All of this is with R 3.0.2 on an Apple OSX platform (Mavericks); session info
is below.
sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] es_ES.UTF-8/es_ES.UTF-8/es_ES.UTF-8/C/es_ES.UTF-8/es_ES.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] oce_0.9-14 mapproj_1.2-1 maps_2.3-2
QUESTION: any hints on how I can get the translations to be passed through
gettext()?
Thanks!
Dan E. Kelley, Professor and Graduate Coordinator
Oceanography Department, Dalhousie University
PO BOX 15000
Halifax, NS B3H 4R2
phone:(902)494-1694 fax:(…)-3877 dan.kel...@dal.ca<mailto:dan.kel...@dal.ca>
http://oceanography.dal.ca/person/Kelley_Dan.html
http://graduatecoordinator.oceanography.dal.ca/
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.