Package: zope.i18n
zope.i18nThis package implements several APIs related to internationalization and
localization.Locale objects for all locales maintained by the ICU project.Gettext-based message catalogs for message strings.Locale discovery for Web-based requests.CHANGES5.1 (2023-08-28)Include*.mofiles in release but remove them from repository.5.0 (2023-03-27)Add support for Python 3.11.Drop support for Python 2.7, 3.5, 3.6.Drop deprecated support for running the tests usingpython setup.py test.4.9.0 (2021-12-09)Fix date/time format for zh, sv, and es_US.
(#17)Fix problems withzope_i18n_compile_mo_filesearly assignment to
module variable inconfig.pyin a non-breaking way.
See alsoZope issue #994Add support for Python 3.10.4.8.0 (2021-09-07)Support character sets.
Example:sr@Latnandsr@Cyrlwill be added to languagesr(Serbian).
Seehttps://github.com/collective/plone.app.locales/issues/326You can choose which one to use by setting eithersr@Latnorsr@Cyrlin environment variablezope_i18n_allowed_languages.Support and test Python 3.8 and 3.9.
Full supported list is now: 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, PyPy, PyPy3.4.7.0 (2019-07-10)Drop Python 3.4 support.Fix the signature ofIMessageCatalog.getPluralMessage().  Seeissue 41.4.6.2 (2019-02-19)FixNumberFormatto respect the thousand grouping given by the pattern.
Triple grouping was hardcoded, which is not true for all locales.4.6.1 (2018-10-24)Fixdefault_pluralagain if azope.i18n.messageid.Messageis
used withtranslate(). Seeissue 36.4.6.0 (2018-10-22)Usemsgid_pluralasdefault_pluralif not provided intranslate().4.5 (2018-10-19)Add support for pluralization.translate()now takes the
additional optional argumentsmsgid_plural,default_pluralandnumberin order to support it.4.4 (2018-10-05)Add support for Python 3.7.4.3.1 (2017-12-19)MakePlacelessSetupnot extendzope.testing.cleanup.CleanUp.
ExtendingCleanUpwas introduced in 4.3.0 but turned out to have
unexpected consequences. Seeissue 30.4.3.0 (2017-12-18)Ensure that all files are properly closed when compiling .mo files,
such as when theregisterTranslationsZCML directive is used.Remove the private_compatmodule and its utility function_uin favor of Unicode literals.TranslationDomainno longer extendsSimpleTranslationDomain.
It overrode every method and didn’t properly initialize the super
class.TranslationDomaincontinues to implementITranslationDomain.TranslationDomainandGettextMessageCatalognow ensure that
theirdomainandlanguageattributes are text in order to
match their respective interfaces. Byte strings (such as native
string literals on Python 2) are decoded using UTF-8.FixLocaleCalendar.getFirstWeekDayName. Previously it raised a
KeyError when theweekmapping contained an integer forfirstDayas documented.Reach 100% test coverage and maintain in through tox.ini and
coveralls.io.OverridevaluesinInheritingDictionary. Previously it
implemented a separatevaluemethod by mistake.Fix parsing times with a timezone. Previously it could raise aTypeError.4.2.0 (2017-05-23)Better error message on PO-File Syntax Errors. [SyZn]Add support for Python 3.5 and 3.6.Drop support for Python 2.6, 3.2 and 3.3.Support for formatting really small numbers, e.g. 1e-9. These numbers needs
special treatment, because standard str(x) collapses them to scientific
representation.Support for specifying rounding in NumberFormatter. This is required in some
cases, e.g. when you format a Decimal(‘0.9999’) that sould not be rounded.
Currently, formatting Decimal(‘0.99999’) will raise a TypeError if rounding
is not set to False4.1.0 (2015-11-06)interpolate()now works recursively, if the mapping has a value which is
azope.i18nmessageid.Messageitself.4.0.1 (2015-06-05)Add support for Python 3.2 and PyPy3.4.0.0 (2014-12-20)Add support for testing with Travis.Add explicit support for Python 3.4 and PyPy.4.0.0a4 (2013-02-18)Restore zope.i18n.testing.{setUp,PlacelessSetup} that got lost in 4.0.0a3.
These require zope.publisher, which is not ported to Python 3 yet, so I
haven’t added it back to install_requires in setup.py.  User beware.4.0.0a3 (2013-02-15)Add support for Python 3.3.Log DEBUG when loading translations from directories.Replacezope.interface.implementsusage with equivalentzope.interface.implementerdecorator.Drop support for Python 2.4 and 2.5.3.8.0 (2012-03-15)Add optionaldomainattribute toregisterTranslationsdirective to
only load the specified translation domain. Allows to move catalogs to/usr/share/localeand avoid loading hundreds of unrelated domains.Include meta.zcml files in our own zcml configuration as needed, added a
test for our configure.zcml.Update zope.i18n.NAME_RE to be identical to zope.tal as required by the
comment next to it. Fixes #611746.3.7.4 (2010-07-08)Add missing test dependency onzope.testing.3.7.3 (2010-04-30)Remove of ‘zope.testing.doctestunit’ in favor of stdlib’s ‘doctest.3.7.2 (2009-12-14)It’s a critical error when theGetTextlibrary is unavailable
and compilation is required.Use getSiteManager rather than getGlobalSiteManager in ZCML (these
should be one in the same in any non-fancy setup, however if you’ve
hooked getSiteManager, you want the ZCML handler to use the hooked
version).3.7.1 (2009-08-07)Fix the interpackage translation domain merging feature to actually work.
We need to defer the merging into the ZCML handler execution phase, as the
utilities don’t exist yet during the ZCML parsing phase. Thx to Andreas
Zeidler for finding and fixing the issue in PlacelessTranslationService in
the first place.Fix translation domains translating a message for a different domain. In the
process, fix testMessageIDTranslateForDifferentDomain which seemed to work by
mistake as the “other” and “default” domains used the same catalog. This is
basically a reversion of 39991.3.7.0 (2009-03-18)Update data to CLDR 1.1. This introduces contextual month
and day names and different month/day name widths. More CLDR updates
are expected, see the “nadako-cldr” branch of zope.i18n.Addconfigure.zcmlthat registers standard negotiator utility and includeszope.i18n.localesconfiguration. This was previously done byzope.app.i18n.3.6.0 (2008-10-26)Fix a test failure in the compile mo file support.Move the zcml support into an extra. This reduces the dependencies of a
standard zope.i18n install by half a dozen packages.3.5.0 (2008-07-10)Feature: Add new top-level negotiate function, which can be used to
negotiate the language when the available languages are set globally viazope_i18n_allowed_languages.Feature: Add support for restricting the available languages. We support
an environment variable calledzope_i18n_allowed_languagesnow, 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 thezope.i18n [compile]extra and set an environment
variable calledzope_i18n_compile_mo_filesto 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.3.4.0 (2007-10-02)Update meta-data. No code changes.3.4.0b5 (2007-08-15)Bug: Fix dependency onzope.componentto require it with the ‘zcml’
extra instead of requiringzope.securitydirectly.3.4.0b4 (2007-07-19)Bug: Number parsing was too forgiving, allowing non-numerical and/or
formatting characters before, after and within the number. The parsing is
more strict now.3.4.0b3 (2007-06-28)Bug: There was a bug in the parser that if no decimal place is given
you still had to type the decimal symbol. Corrected this problem (one
character ;-) and provided a test.3.4.0b2 (2007-06-25)Feature: Add ability to change the output type when parsing a
number.3.4.0b1 (?)Bug: Fix dependency onzope.securityto require a version that
does not have the hidden dependency onzope.testing.Note: Releases between 3.2.0 and 3.4.0b1 were not tracked as individual
packages. The changes can be reconstructed from the Zope 3 changelog.3.2.0 (2006-01-05)Corresponds to the verison of the zope.i18n package shipped as part of the
Zope 3.2.0 release.Add a picklable offset-based timezone to ‘pytz’, a la
zope.app.datetimeutils’.  Added tests in ‘zope.i18n’ to show that we need
something like it, and then actually use it in ‘zope.18n.format’.Add support for parsing / formatting timezones using ‘pytz’ (new external
dependency).Implement remaining date/time formatters, including adding week
information to the calendar.3.0.0 (2004-11-07)Corresponds to the version of the zope.i18n package shipped as part of
the Zope X3.0.0 release.