Note for translators of the pot files: ====================================== Make a copy of the pot file renaming it to reflect the language it is being translated in to. For example, for a German translation of linuxcnc.pot, your working file would be de.po - If the file does not exist within the source repository, then create one from the linuxcnc.pot template: cp linuxcnc.pot de.pot To update a language's .po file from its .pot file, use the "msgmerge" command. Because doing this needlessly creates lots of uneeded revisions of the .po files in the history, this is not done automatically by "make". Instead, it is done by explicitly executing "make pofiles". This must be done from time to time in order to make new messages available for translation in the experimental "weblate" interface. If you are working by hand, you can also update just a single pofile: msgmerge -U xx.po linuxcnc.pot When you are done, "git commit" the new .po file. If you have push access, "git push". Otherwise, format your changes as a patch with "git format-patch" and send it to the emc-developers mailing list. Experimental "weblate" web interface ==================================== There's an experimental web interface for translating linuxcnc: http://l10n.unpythonic.net/ Graphical tools for editing .po files ===================================== On Dapper there seem to be two graphical front-ends for editing .po files: gtranslator (a part of the Gnome desktop) and kbabel (part of KDE). Required versions of xgettext and msgmerge ========================================== Configure tries to detect several problems with xgettext and msgmerge. Version 0.14.5 is known to work properly.