==================
- Feature: Add new top-level negotiate function, which can be used to
negotiate the language when the available languages are set globally via
`zope_i18n_allowed_languages`.
- Feature: Add support for restricting the available languages. We support
an environment variable called `zope_i18n_allowed_languages` now, which is
a list of comma or space separated language codes. If the environment
variable is set, the ZCML registration will only process those folders
which are in the allowed languages list.
- Feature: Add optional automatic compilation of mo files from po files.
You need to depend on the `zope.i18n [compile]` extra and set an environment
variable called `zope_i18n_compile_mo_files` to any True value to enable
this option.
- Feature: Re-use existing translation domains when registering new ones.
This allows multiple packages to register translations in the same domain.
If the same message exists in multiple catalogs the one registered first
will take precedence.
- Feature: Recursive translations of message strings with mappings
(https://bugs.launchpad.net/zope3/+bug/210177), thanks to Hermann
Himmelbauer for the inital patch.
- Bug: When parsing a date, the parsing pattern did not ensure that the line
started and ended with the matching pattern, so that '1/1/2007' parsed into
'1/1/20' for example.