Systemtap Internationalization: The internationalization data will not be generated by default unless systemtap is configured with maintainer-mode. However, one can manually regenerate all files, including the source-filename-list po/POTFILES.in by executing 'make update-po' from the top-level source directory. In order to generate a specific language, run the command: 'make -C po language.gmo' where 'language' is the language you would like to have generated. Systemtap has a translation page located at http://www.transifex.net/projects/p/systemtap/ which is automatically updated to host the most up-to-date pot files. To begin a new translation of systemtap, simply copy the systemtap.pot file to a new language.po file, fill in: - PO-Revision-Date - Last-Translator - Language-Team - CHARSET - Plural-Forms - Strings to Translate If you're unsure of the specific plural forms of the language, they can be found in the gnu gettext online manual located at http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms Once all translatable strings have been completed, generate the necessary files by running 'make -C po language.gmo' where 'language' is the language you would like to generate from the po file. If there are any ambiguities or clarifications needed from the source, the comment code '//TRANSLATORS: ' one line above a gettext string will be passed through to the systemtap.pot file for translators to view. Feel free to ask for any further clarifications either on the systemtap mailing list or on the freenode #systemtap channel. In the most general case, adding a translatable string can be done by simply wrapping the string with the _() macro, ie. _("string to translate here"). The macro _F() has been used for autosprintf, _N() for ngettext, and _NF() for a combination of autosprintf and ngettext. For more information on how to use gnu gettext please consult the online manual at http://www.gnu.org/software/gettext/