A localized command line application looks strange when some part of the messages are in the user language and some other parts, in English.
I don't know if I messed up anything when I installed Python 3 from source, it seems there are no *.mo files, so argparse (among the whole) is not localization aware.
The API does not seems to offer a way to localize, neither. Or did I missed it?
I could patch argparse.py, but I won't, as I want it to be portable, and I'm not OK with suggesting users to patch their Python installation.
Question in fewer words: how to localize argpase without patching Python standard library?
Related question: is this possible?
By default argparse uses the gettext module to translate the messages so you can easily translate them if you want to.
To generate the *.pot files (which you can convert to *.mo files after translation) you can use the pygettext program which is available in the built-in gettext module in python.
Usage:
python pygettext.py argparse.py
This will generate a messages.pot which you can translate, after that just generate the .mo (many ways to do this, just google).
For more info about pygettext see the Python manual about the subject: Internationalizing your programs and modules.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With