Provides translations for argparse module
Project description
i18nparse
Localization of the Python argparse module
Goals
The argparse module makes it easy to write user-friendly command-line interfaces.
Specifically, it automatically generates help and usage messages and issues errors
when users give the program invalid arguments. Unfortunately, even if the module
is able to use gettext type localization strings, none is provided by the standard library.
This module provides some translations and is simply installable through pip
Current status
Starting with the 1.0.0 release this package is announced as Production grade. The translations are provided by the Translation Project, except for the French one which is still provided by the developer.
The binary wheel file contains little endian mo translation files. Users of big endian systems should use the source distribution to generate the mo files on their own system.
The list of the translations and the Python versions for which they are in sync is available in the TRANSLATIONS.md file.
Nevertheless, even if the translation is too old or too recent, the worst effect will be some texts still appearing in English language.
Direct links to the argparse.py source file
For the version 1.0.0, the reference version for the argparse.py file is the
one from the 3.13.2 Python release (raw content).
As of February 2025, it is the one for the
3.13 branch available here
Known bugs and limitations
When you pass the option -h to a program using i18nparse the text for
the version option will appear in English for all Python releases before 3.11.9,
3.12.3 or 3.13.0 . For example for a French locale you would get:
usage : ProgName [-h] [--version]
options:
-h, --help affiche ce message et termine le programme
--version show program's version number and exit
The problem in not in i18nparse. The string
"show program's version number and exit" is simply not marked for
translation is the module argparse.py before those Python versions.
Installing
End user installation
With pip: pip install i18nparse.
Developer installation
If you want to contribute, you should get a copy of the full tree from GitHub:
git clone https://github.com/s-ball/i18nparse.git [your_working_copy_folder]
Building
The i18nparse project now uses hatch as its build system.
Usage
The i18nparse module defines 2 functions:
def activate(lang = None)
which activates the usage of the translation for the required language.
By default, the language for locale.getlocale() is used.
Note: In order to use the expected locale, it should be loaded prior to
the call to activate with locale.setlocale(locale.LC_ALL, locale_name)
where locale_name is the name of a known locale or '' (empty string) for
the default locale.
def deactivate()
which reverts to the original texts.
Example:
import argparse
import i18nparse
import locale
locale.setlocale(locale.LC_ALL, '') # sets a locale
i18nparse.activate() # Ok use current locale (if translation file exists)
parser = argparse.ArgumentParser('foo')
parser.print_help() # displays the help message for the current locale
Assuming a fr_FR locale, this displays:
usage : foo [-h]
options:
-h, --help affiche ce message et termine le programme
Contributing
Contribution for new language translations or improvement of existing ones should be addressed to the Translation Project. Only remarks on the project itself should lead to issues on GitHub. See CONTRIBUTING for details
Versioning
This project uses a standard Major.Minor.Patch versioning pattern. Inside a major version, public API stability is expected. Inside a minor version, the matrix of compatibility with Python versions should remain unchanged.
License
This project is licensed under the MIT License - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file i18nparse-1.0.3.tar.gz.
File metadata
- Download URL: i18nparse-1.0.3.tar.gz
- Upload date:
- Size: 18.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32ea8747e2162aec20d337e034f90a4698d85dd101320481c2950e86e3c8381a
|
|
| MD5 |
0dd42a998229abdf5d5e3e4721c3ee6d
|
|
| BLAKE2b-256 |
506718cf3f6820416f919ac643842b8c03f3e3179e0f4a9de6ea10f486a1282c
|
File details
Details for the file i18nparse-1.0.3-py3-none-any.whl.
File metadata
- Download URL: i18nparse-1.0.3-py3-none-any.whl
- Upload date:
- Size: 31.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f3df1a9a2e47f488575b327bb7ff50a7969cc5eb52bd1ebd4755079d2e6cd2d
|
|
| MD5 |
b58ede9d4fa5cc6b8ecf5a9d17286369
|
|
| BLAKE2b-256 |
f9e4ab74b3d7a629de9c17d46eecd15e0e87ec0ee4a448c9b4ae3cd35e6992df
|