I am writing my own python application and I am wondering what is the correct way to include localisation in source distributions. I struggled with the documentation of setuptoo
For the first: there are tools for handling po-files in Python, suggest you look into Babel, then you get the extra commands for setup.py.
It should be possible to also hook the compile_catalogs
as requisite for source build, but I haven't found need for it, as you can't test the messages from a package linked with python setup.py develop
if you don't compile first. Also, maybe your source build does not need the .mo
at all if you require Babel.
For the second: Our apps use the pyramid web framework, the convention there is to use package_data:
setup(
# ...
package_data={'yourpackage': ['i18n/*/LC_MESSAGES/*.mo' ]},
# ...
then if your localizations are in yourpackage/i18n/
you can use pkg_resources
to find the path, for example:
pkg_resources.resource_filename('yourpackage', 'i18n')
will point to the location of translations.