[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
13.6.3 Put PO Files under Version Control
Since translations are valuable assets as well as the source code, it would make sense to put them under version control. The GNU gettext infrastructure supports two ways to deal with translations in the context of a version controlled repository.
- Both POT file and PO files are committed into the repository.
- Only PO files are committed into the repository.
If a POT file is absent when building, it will be generated by
scanning the source files with xgettext
, and then the PO files
are regenerated as a dependency. On the other hand, some maintainers
want to keep the POT file unchanged during the development phase. So,
even if a POT file is present and older than the source code, it won’t
be updated automatically. You can manually update it with make
$(DOMAIN).pot-update
, and commit it at certain point.
Special advices for particular version control systems:
-
Recent version control systems, Git for instance, ignore file’s
timestamp. In that case, PO files can be accidentally updated even if
a POT file is not updated. To prevent this, you can set
‘PO_DEPENDS_ON_POT’ variable to
no
in the ‘Makevars’ file and domake update-po
manually. -
Location comments such as
#: lib/error.c:116
are sometimes annoying, since these comments are volatile and may introduce unwanted change to the working copy when building. To mitigate this, you can decide to omit those comments from the PO files in the repository.This is possible with the
--no-location
option of themsgmerge
command (6). The drawback is that, if the location information is needed, translators have to recover the location comments by runningmsgmerge
again.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on June 7, 2014 using texi2html 5.0.