Well, localization seems to be a major concern.
I would suggest to use the standard gettext library for localization.
The advantage is that gettext is a well known localization system and has a lot of tools that can help translators.
Just my 2 cents.