Forrin localization helpers
The goal of this project is to, eventually, provide i18n/L10n support for Python programs, complete with automatic conjguation, declension, and other word-morphing shenanigans in messages – preferably for all languages in the world.
The Translator class wraps gettext’s C-like API as one callable object, to be subclassed and instantiated in every module, and usually aliased to _.
Extraction methods are provided to detects calls to the _ function and store them in a POT file; the extractors will also play nicely with Babel’s setuptools hooks if you should choose to go in that direction.
When a traslated message begins with the “@” symbol, it becomes a Template, a unicode subclass which can do language-specific magic in its format() method.
Forrin uses UTF-8 exclusively.