Buildout recipe to extract and manage po files
This buildout recipe creates i18n tools to extract and manage po files. More specifically, i18n messages can occur in Python code, in Chameleon (ZPT) page templates and in ZCML declarations.
This recipe provides the following scripts:
i18nextract:extract the i18n messages from the Python code, the Chameleon (ZPT) page templates and the ZCML configuration files;
i18nmerge:requires the GNU gettext package to be installed; the command ‘msgmerge’ will be executed for each language;
i18nstatus:prints a simple statistics with the status of the translations.
Add to your buildout configuration file the following snippet:
[i18n] recipe = tranchitella.recipe.i18n package = PACKAGE zcml = PACKAGE:configure.zcml expressions = first=PACKAGE.expressions:FirstExpression last=PACKAGE.expressions:LastExpression output = locales domain = DOMAIN verify_domain = true exclude = tests.py ftests.py
Replace PACKAGE with your Python package name and DOMAIN with your i18n domain; the zcml setting is optional.
- Do not break if the message extracted from a python file contains utf-8 text.
- Soft-dependency on quipu.publisher for the correct processing of ZCML files.
- Avoid useless double new line at the end of the autogenerated POT file.
- Avoid empty defaaults for zope.i18n’s MessageID instances.
- Install again on update, otherwise the i18n scripts are not updated unless they are explicitly removed.
- Added support for Chameleon expressions using the expressions option in buildout.cfg or the --expression command line argument.
- Bug fix: now the po template file is correctly encoded in UTF-8.
- Bug fix: element’s tail should not be included in the msg id.
- Bug fix: added support for translated elements contained in other translated elements and marked with i18n:name.
- Added a new helper script to recompile the po files.
- First public release.