Sphinx utility that make it easy to translate and to apply translation.
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 .
This section describe to translate with Sphinx and sphinx-intl command.
Create your document by using Sphinx.
Add configurations to your conf.py:
locale_dirs = ['locale/'] #path is example but recommended. gettext_compact = False #optional.
locale_dirs is required and gettext_compact is optional.
Extract document’s translatable messages into pot files:
$ make gettext
Setup/Update your locale_dir:
$ sphinx-intl update -p _build/locale -l de -l ja
Done. You got these directories that contain po files:
Translate your po files under ./locale/<lang>/LC_MESSAGES/.
Build mo files and make translated document:
$ sphinx-intl build $ make -e SPHINXOPTS="-D language='ja'" html
- create or update po files from pot files.
- build mo files from po files.
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.
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]
Type sphinx-intl without arguments, options to show command help.
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 languages:
This is the same as passing the option to sphinx-intl directly:
sphinx-intl <command> --language=de --language=ja
Add below settings to sphinx document’s conf.py if not exists:
locale_dirs = ['locale/'] #for example gettext_compact = False #optional
make gettext will generate pot files into _build/locale directory, however pot files should be generated in the locale/pot is convenient. You can be done by replacing _build/locale with locale/pot in your Makefile and/or make.bat that was generated by sphinx-quickstart.
Licensed under the BSD license. See the LICENSE file for specific terms.
This utilty derived from these projects.
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash SHA256 hash help||File type||Python version||Upload date|
|sphinx_intl-0.9.11-py2.py3-none-any.whl (15.3 kB) Copy SHA256 hash SHA256||Wheel||py2.py3|
|sphinx-intl-0.9.11.tar.gz (12.5 kB) Copy SHA256 hash SHA256||Source||None|