intltool is a set of tools to centralise translation of many different file formats using GNU gettext-compatible PO files.
The intltool collection can be used to do these things:
Extract translatable strings from various source files (.xml.in,
.glade, .desktop.in, .server.in, .oaf.in).
Collect the extracted strings together with messages from traditional
source files (.c, .h) in po/$(PACKAGE).pot.
Merge back the translations from .po files into .xml, .desktop and
.oaf files. This merge step will happen at build resp. installation time.
The intltool package has a script, intltoolize, which copies the various scripts and does the other magic to your module. So users building from tarballs dont need intltool, only folks building from cvs. (This is modelled on gettextize.)