translators ----------- see this page for a howto: http://developer.gnome.org/doc/tutorials/gnome-i18n/translator.html Things like msgid "/File/_Save Image As ..." are menu items. You only need to translate the last part (following the final "/"). The underscore character marks the accelerator (the underlined character in the menu item). So you could put: msgstr "Sevy i_mago os ..." and it would display as "Sevy imago os ...", with the "m" underlined. tips ---- cd vips-8.x find */* -name "*.c" > po/POTFILES.in find */* -name "*.cc" >> po/POTFILES.in find */* -name "*.h" >> po/POTFILES.in find */* -name "*.cxx" >> po/POTFILES.in find */* -name "*.cpp" >> po/POTFILES.in regenerate the list of files to search for strings ... don't forget to remove: fuzz/ test/ deprecated/ examples/ non-public includes intltool-update --pot make a new vips8.x.pot translation template from the sources add header # test translation file # Copyright (C) 2019 # This file is distributed under the same license as the libvips package. # John Cupitt , 2019. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: vips 8.9.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-08-06 15:19+0100\n" "PO-Revision-Date: 2019-08-06 15:19+0100\n" "Last-Translator: john \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=s;\n" edits to make vips8.xx.pot into test.po msgfmt -cv -o /dev/null test.po check translation for errors