Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: tags/R-2-15-3

This branch is 1054 commits ahead and 5113 commits behind trunk

Fetching latest commit…

Cannot retrieve the latest commit at this time

The here was originally produced by gettextize, but has
since been modified extensively.

If you convert a C file for use with gettext, add it to and
then run

	make update-po

to recreate R.pot and update the automated `translations'.


	make update-pkg-po

updates the message catalogs for the C and R code in the standard packages,
uses msgmerge --update to update the translations and then re-makes the
compiled (.mo) files.

To do this for an individual standard package use

	make pkg-update PKG=<pkgname>

If you add a package, R-level catalogs are produced automatically but
for a C-level catalog you need to touch path/to/package/po/package.pot.

To add a new translation, add the lang.po file to this directory and
add the language to LINGUAS, and translators to THANKS.

If there are no problems with the translations 'make all R' (in the
builddir, if separate) will do the rest (create and install it
as required).  For fuller manual control, use

	msgfmt -c --statistics -o ll.po

to check and compile the translation, and

	mkdir R_BUILD_DIR/share/locale/ll/LC_MESSAGES
	cp R_BUILD_DIR/share/locale/ll/LC_MESSAGES/

to install it manually for testing.

An R-core member, after fixing a translation file, e.g.,
needs to use msgfmt as above, e.g., inside the <pkg>/po/ directory,
        msgfmt -c --statistics -o R-<ll>.gmo R-<ll>.po
and     mv R-<ll>.gmo ../inst/po/<ll>/LC_MESSAGES/

Windows RGui translations

These are contained in RGui.pot, created by running 'make RGui.pot-update'.

Translations should be called RGui-ll.po for language 'll': such a file is
compiled by

	msgfmt -c --statistics -o RGui-ll.po

To add a translation, add both the .po and .gmo files to the
RGUI-CATALOGS macro in it will then be automatically

To test a translation on Windows, use

	cp ../share/locale/ll/LC_MESSAGES/

and then startup RGui.exe in an appropriate locale, or set LANGUAGE=ll
on the command line.  (All RGui-*.gmo files will installed to the
right places when 'make -f' is run in this directory,
which is part of the main 'make' process.)

To re-make RGui.pot and all the translations use 'make update-RGui'.

Adding translations to other packages

To create the .pot files for a package PKG with absolute path PKGDIR, use

   mkdir ${PKGDIR}/po

and (only) if there are marked translations in the C source code

    touch ${PKGDIR}/po/${PKG}.pot

Then run from this directory

     make pkg-update PKG=${PKG} PKGDIR=${PKGDIR}

This will create ${PKGDIR}/po/R-${PKG}.pot, and update
${PKGDIR}/po/${PKG}.pot if it already exists.  It will then create
en@quot translations and install them.

Running the same make command at a later stage will update the
template files, and update and install any new translations that have
been added in ${PKGDIR}/po.

Note to FreeBSD and OS X users

NB: FreeBSD's sed does not work correctly (it appends LF to every
line), so GNU sed is required.  Set the environment variable SED as
Something went wrong with that request. Please try again.