Skip to main content

Sphinx utility that make it easy to translate and to apply translation.

Project description

sphinx-intl is a utility tool that provides several features that make it easy to translate and to apply translation to Sphinx generated document. Optional: support the Transifex service for translation with Sphinx .

QuickStart for sphinx translation

This section describe to translate with Sphinx and sphinx-intl command.

  1. Create your document by using Sphinx.

  2. Add configurations to your conf.py:

    locale_dirs = ['locale/']   #path is example but recommended.
    gettext_compact = False     #optional.

    locale_dirs is essential and gettext_compact is optional.

  3. Extract document’s translatable messages into pot files:

    $ make gettext
  4. Setup/Update your locale_dirs:

    $ sphinx-intl update -l de -l ja

    Done. You got these directories that contain po files:

    • ./locale/pot/

    • ./locale/de/LC_MESSAGES/

    • ./locale/ja/LC_MESSAGES/

  5. Translate your po files under ./locale/<lang>/LC_MESSAGES/.

  6. Build mo files and make translated document:

    $ sphinx-intl build
    $ make -e SPHINXOPTS="-D language='ja'" html

That’s all!

Basic Features

  • create or update po files from pot files.

  • build mo files from po files.

Requirements for basic

  • Python 2.5, 2.6, 2.7, 3.1, 3.2, 3.3.

  • external library: polib

Optional features

These features need transifex-client library.

  • create .transifexrc file from environment variable, without interactive input.

  • create .tx/config file without interactive input.

  • update .tx/config file from locale/pot files automatically.

  • build mo files from po files in the locale directory.

You need to use tx command for below features:

  • tx push -s : push pot (translation catalogs) to transifex.

  • tx pull -l ja : pull po (translated catalogs) from transifex.

Requirements for optional

  • Python 2.5, 2.6, 2.7. (transifex-client only support 2.x)

  • Your transifex account if you want to download po files from transifex or you want to translate on transifex.

  • external library: transifex-client

Installation

Recommend strongly: use virtualenv for this procedure:

$ pip install sphinx-intl

If you want to use Optional Features, you need install additional library:

$ pip install sphinx-intl[transifex]

Commands, options, environment variables

Commands

Type sphinx-intl without arguments, options to show command help.

Setup environment variables

All command-line options can be set with environment variables using the format SPHINXINTL_<UPPER_LONG_NAME> . Dashes (-) have to replaced with underscores (_).

For example, to set the locale dirs:

export SPHINXINTL_LANGUAGE=de,ja

This is the same as passing the option to sphinx-intl directly:

sphinx-intl --language=de --language=ja <command>

Setup sphinx conf.py

Add below settings to sphinx document’s conf.py if not exists:

locale_dirs = ['locale/']   #for example
gettext_compact = False     #optional

License

Licensed under the BSD license. See the LICENSE file for specific terms.

Original

This utilty derived from these projects.

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

sphinx-intl-0.9.0.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file sphinx-intl-0.9.0.tar.gz.

File metadata

  • Download URL: sphinx-intl-0.9.0.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for sphinx-intl-0.9.0.tar.gz
Algorithm Hash digest
SHA256 aa9e76de3dbe4ce55287ba0cfcd5da503fd4e9fc170933d3ae4059b4a1971c04
MD5 223dc602c9ada9e69b5cd4e4938e47a7
BLAKE2b-256 9ba35b23787c59fe36c6c442c25bff74c31f8d724ea4b1d699bc525a0824fa7f

See more details on using hashes here.

Supported by

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