Q. What should I do if I change a gettext-translated string? A. Run 'make pot' and commit the modified files. Q. What to do with those /po directories? A. If you are not familiar with PO files, please read gettext documentation. Calling 'make' in */po/ directories (different than English) runs: msgmerge -q templates..po ../../english/po/templates.pot |\ msgfmt --use-fuzzy --statistics -o templates.mo - where is the language code. If templates.mo file differs from webwml/locale//LC_MESSAGES/templates.mo, then the latter is replaced by the former. When a translator wants to work on a PO file, they run 'make update-po' which executes: msgmerge templates..po ../../english/po/templates.pot \ -o templates..po.new && \ mv templates..po.new templates..po Q. What are those tags in msgids? A. They are meant to make msgids unique. Sometimes the same English msgid may have different translations depending on context, so there must be distinguished; this is the purpose of the tag, which does not appear in output. There is no reason to put it in msgstr, unless in a very special case, if you want an empty translated string. Q. How do I know which files need to be updated? A. Run 'make stats' to display nice statistics for your language. Q. Which part of the files need attention of translators? A. Run 'make todo' to let the gettext tools extract the untranslated strings from all existing po files in this directory. This is for example helpful if you translated almost anything and want the help of other peoples in your translation team for the last strings, but not if you begin a translation, since it will display ALL the untranslated strings. Q. Why are HTML generated files not updated after editing templates..po? A. You have to run 'make' in your webwml//po/ directory to update MO files. Q. It doesn't work, what happens? A. There may be several reasons, e.g. * mp4h >= 1.3.0 must be installed in order to display translated strings, make sure your version is recent enough * The locale specified in webwml//.wmlrc (variables CUR_LOCALE, CHARSET) needs to be available in your system, otherwise gettext seems unable to display localized strings :( Check the output of locale -a and if it is missing, configure it with dpkg-reconfigure locales. If you still have trouble, ask on .