We use gettext for translations in our product, but have had a lot of problems with it:
On
You also can convert ICU resource bundles to and from the XML-based XLIFF format for translation.