[Grok-dev] Request for review: grok.localesdir
uli at gnufix.de
Thu Oct 18 08:42:43 EDT 2007
the ulif-i18n branch is ready for review. It introduces a new directive
for registering translations in locales directories on startup. I would
be really glad, if someone could have a look at the code. It's not much
stuff and I'll assist as good as I can.
>From the reference:
A module-level directive, which can be used to register
a locales directory. It is a Python based equivalent to the ZCML
If no value is given, the default `locales` is taken.
The directory must exist in the path given relative to the package
wherein the directive was used.
The directive takes exactly one parameter and can be used several
times per module.
A :class:`GlobalGrokker` is called for every module in a grokked
package. If a module does not provide a :func:`grok.localesdir`
directive, then ``locales`` is assumed as default value and tried
to be registered.
This means especially, that if you do no explicit call to
:func:`grok.localesdir`, but a local directory with name
``locales`` and translations exists, then this directory will be
You can avoid this behaviour by declaring a different locales
directory in every module of your package(s) which also might be
The following example registers a local ``locales`` directory as a
source for translations (if it exists)::
If this code resides in a location ``/foo/bar.py``, then Zope will
look for translations in ``/foo/locales``, but will not complain,
if the directory does not exist or does not contain
translations. The example is a short form for the following::
whith the difference, that in this case a missing ``locales``
directory will lead to a failure message on startup.
You can, given that the given directories exist, declare several
locales-directories, which will all be registered::
In this case, a directory called ``locales`` will not be searched
for translations, but ``savannah`` and ``landofoz``.
Thanks in advance and kind regards,
More information about the Grok-dev