I recently needed translation support for an app and so needed a cross-platform translation module.
Here is the result: i18n ( available on nimble )
It is a pure nim module with a gettext-like interface. It is completely functional and has most useful functions of the gettext C library. It handle plurals and contexts but currently only recognize MO Translation files (compiled PO files) There is also no xgettext functionalities at this moment (parsing your source files to create a POT template) so either you need to extract manually your strings or try to use the original xgettext to create POT files.
I didn't implement the *i*gettext family functions because I couldn't find a real world use-case for them (looking up other folders than LC_MESSAGES).
I think the long term goal would be to eventually include this module in this form or an other inside the standard library since translations are en essential part of a modern language.