Skip to main content

Setuptools gettext extension plugin

Project description

setuptools plugin for gettext

Compile .po files into .mo files.

This plugin adds build_mo, clean_mo and install_mo subcommands for setup.py as well as hooking those into standard commands.

Usage

By default, setuptools_gettext compiles and installs mo files when there is a po directory present that contains .po files. It also supports the standard gettext layout with locale/*/LC_MESSAGES/*.po files. If po is absent and a top-level locale directory contains standard gettext catalogs, that directory is used automatically.

The .mo files are installed adjacent to your package as package data in a subdirectory called locale.

You can override these settings in pyproject.toml:

[build-system]
requires = ["setuptools", "setuptools-gettext"]
...

[tool.setuptools-gettext]
# directory in which the .po files can be found 
source_dir = "po"
# directory in which the generated .mo files are placed when building
build_dir = "breezy/locale"
# compiler to use: "auto", "msgfmt", or "translate-toolkit"
compiler = "auto"

For standard gettext layouts, point both directories at the locale tree:

[tool.setuptools-gettext]
source_dir = "breezy/locale"
build_dir = "breezy/locale"

Flat po/de.po files compile to <build_dir>/de/LC_MESSAGES/<project-name>.mo by default. Standard locale/de/LC_MESSAGES/django.po files compile to <build_dir>/de/LC_MESSAGES/django.mo by default. Passing --output-base overrides the output name for both layouts.

Compilation tool

By default, either msgfmt or the translate-toolkit package is used to compile the .po files into .mo files - whichever is available.

Set compiler = "msgfmt" or compiler = "translate-toolkit" in [tool.setuptools-gettext] to force a compiler from pyproject.toml. Use compiler = "auto" to keep the default automatic detection.

The --msgfmt option can be used to force the use of msgfmt, and the --translate-toolkit option can be used to force the use of the translate-toolkit. Command line options take precedence over the pyproject.toml setting.

At the moment, msgfmt is preferred. In the future, the translate-toolkit will become the default.

You can use the translate-toolkit extra to install the translate-toolkit package.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

setuptools_gettext-0.1.18.tar.gz (20.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

setuptools_gettext-0.1.18-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file setuptools_gettext-0.1.18.tar.gz.

File metadata

  • Download URL: setuptools_gettext-0.1.18.tar.gz
  • Upload date:
  • Size: 20.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for setuptools_gettext-0.1.18.tar.gz
Algorithm Hash digest
SHA256 c92b0ae486def502686cd944f16559819e42f8dc0b9d683cf62e7415397f2b35
MD5 2ba3e2b44b1d383dd69affcb2dbae272
BLAKE2b-256 78d33a17366c7ccc207758d88d9cc41b9a3746ac6adf2e59fde4f6848e8a8f20

See more details on using hashes here.

File details

Details for the file setuptools_gettext-0.1.18-py3-none-any.whl.

File metadata

File hashes

Hashes for setuptools_gettext-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 3363f81a30c0f6b3db5e385e5265cce8192acdc84ce29fc972b11a2c247fe51d
MD5 2e4965319bb31d4748536d4f6fb14e95
BLAKE2b-256 e3aed508c63dd828c704aae8a4cfd5ab49986e14763cced17edaa3db2cb57ec3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page