How to use ---------- xml-i18n-tools has a script xml-i18n-toolize which copies the various scripts and does the other magic to your module, so users building from tarballs don't need xml-i18n-tools, only folks building from cvs. (This is modeled on gettextize.) To use xml-i18n-tools in your module, do the following: o Install xml-i18n-tools, and make sure that the macro it installs is in aclocal's path, or do: export ACLOCAL_FLAGS='-I /usr/local/share/aclocal' o Add these lines to autogen.sh, after the call to gettextize: echo "Running xml-i18n-toolize" xml-i18n-toolize --copy --force --automake o Add this line to configure.in near the top AM_PROG_XML_I18N_TOOLS o Add xml-i18n-extract.in, xml-i18n-merge.in and xml-i18n-update.in to EXTRA_DIST in your top-level Makefile.am and also to the top-level .cvsignore. Also add the non-.in versions to .cvsignore o Add the .xml and .glade files you want translated to POTFILES.in At this point, strings marked translatable will be automatically extracted to the .po files. EXTRA STEPS FOR OAFINFO FILES To get oaf translation extraction and merging requires a few more steps: o Rename your .oafinfo (or .oaf) files to .oaf.in and put an underscore before every value property for string attributes that should be localized. o Make sure you have at least one .po file in the "po" directory. o Add the .oaf.in files to POTFILES.in. o Put lines like these in every Makefile.am that installs oaf files: --- start ---- oafdir = $(datadir)/oaf oaf_in_files = My_OAF_info_file.oaf.in oaf_DATA = $(oaf_in_files:.oaf.in=.oaf) @XML_I18N_MERGE_OAF_RULE@ EXTRA_DIST=$(oaf_in_files) $(oaf_DATA) --- end ---- At this point, your oaf translations will be extracted and merged. Also, so long as you are renaming the .oafinfo files to .oaf.in, you should take the opportunity to rename them to the new base naming convention, with namespacing, for example: foo.oafinfo --> GNOME_Foo.oaf.in foo-baa.oafinfo --> GNOME_Foo_baa.oaf.in EXTRA STEPS FOR XML FILES (FILES WITH .xml EXTENSION) To get xml (files with .xml extension) translation extraction and merging requires these steps: o Rename your .xml files to .xml.in and put an underscore before every element that should be localized. o Make sure you have at least one .po file in the "po" directory. o Add the .xml.in files to POTFILES.in. o Put lines like these in every Makefile.am that installs xml files: --- start ---- xmldir = $(datadir)/xml xml_in_files = My_xml_file.xml.in xml_DATA = $(xml_in_files:.xml.in=.xml) @XML_I18N_MERGE_XML_RULE@ EXTRA_DIST=$(xml_in_files) $(xml_DATA) --- end ---- At this point, your xml translations will be extracted and merged. That's it.