Alternatives to gettext?
gettext, internationalization, localization
Solution
First of all I think `gettext` is one of the best at this point.
You may take a look on `Boost.Locale` that may provide a better API and use `gettext`'s dictionary model: http://cppcms.sourceforge.net/boost_locale/docs/ (not official part of Boost, still beta).
Edit:
If you don't like `gettext`...
These are translation technologies:
- OASIS XLIFF
- GNU gettext po/mo files
- POSIX catalogs
- Qt ts/tm files
- Java properties,
- Windows resources.
Now:
- Last two total crap... Very hard to use translate and maintain, do not support plural forms.
- Qt ts/tm -- requires usage of Qt framework. Have very similar model to `gettext`. Not bad solution, but limited to Qt. Not so useful in generic programs.
- POSIX catalogs -- nobody uses them, no plural forms support. Crap.
- OASIX XLIFF -- "standard" solution, depends on XML, even ICU requires compilation to specific ICU resources for use. Limited translation tools, I don't know any library that supports XLIFF. Plural forms not so easy to use (ICU included some support only in 4.x release).
Now what do we have?
GNU `gettext`, widely used, has great tools, has great plural forms support, very popular in translators community...
So decide, do you really think that gettext is not so good solution?
I don't think so. You haven't worked with other solutions at all, so try to understand how it works at first place.
Problem
Are there any general localization/translation alternatives to gettext? Open source or proprietary doesn't matter. When I say alternative to gettext, I mean a library for internationalization, with a localization backend of sorts. The reason I'm asking is because (among other things) I find the way gettext does things slightly cumbersome and static, mostly in the backend bit.