zope.i18n


Namezope.i18n JSON
Version 5.1 PyPI version JSON
download
home_pagehttps://github.com/zopefoundation/zope.i18n
SummaryZope Internationalization Support
upload_time2023-08-28 14:39:58
maintainer
docs_urlNone
authorZope Foundation and Contributors
requires_python>=3.7
licenseZPL 2.1
keywords zope3 internationalization localization i18n l10n gettext icu locale
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            zope.i18n
=========


.. image:: https://img.shields.io/pypi/v/zope.i18n.svg
        :target: https://pypi.org/project/zope.i18n/
        :alt: Latest release

.. image:: https://img.shields.io/pypi/pyversions/zope.i18n.svg
        :target: https://pypi.org/project/zope.i18n/
        :alt: Supported Python versions

.. image:: https://github.com/zopefoundation/zope.i18n/actions/workflows/tests.yml/badge.svg
        :target: https://github.com/zopefoundation/zope.i18n/actions/workflows/tests.yml

.. image:: https://coveralls.io/repos/github/zopefoundation/zope.i18n/badge.svg?branch=master
        :target: https://coveralls.io/github/zopefoundation/zope.i18n?branch=master

.. image:: https://readthedocs.org/projects/zopei18n/badge/?version=latest
         :target: http://zopei18n.readthedocs.io/en/latest/?badge=latest
         :alt: Documentation Status


This 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.

.. See ``docs/index.rst`` for the documentation.


=========
 CHANGES
=========

5.1 (2023-08-28)
================

- Include ``*.mo`` files 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 using ``python setup.py test``.


4.9.0 (2021-12-09)
==================

- Fix date/time format for zh, sv, and es_US.
  (`#17 <https://github.com/zopefoundation/zope.i18n/pull/17>`_)

- Fix problems with ``zope_i18n_compile_mo_files`` early assignment to
  module variable in ``config.py`` in a non-breaking way.
  See also `Zope issue #994 <https://github.com/zopefoundation/Zope/issues/994>`_

- Add support for Python 3.10.


4.8.0 (2021-09-07)
==================

- Support character sets.
  Example: ``sr@Latn`` and ``sr@Cyrl`` will be added to language ``sr`` (Serbian).
  See https://github.com/collective/plone.app.locales/issues/326
  You can choose which one to use by setting either ``sr@Latn`` or ``sr@Cyrl``
  in environment variable ``zope_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 of ``IMessageCatalog.getPluralMessage()``.  See `issue 41
  <https://github.com/zopefoundation/zope.i18n/issues/41>`_.


4.6.2 (2019-02-19)
==================

- Fix `NumberFormat` to 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)
==================

- Fix ``default_plural`` again if a ``zope.i18n.messageid.Message`` is
  used with ``translate()``. See `issue 36
  <https://github.com/zopefoundation/zope.i18n/pull/36>`_.


4.6.0 (2018-10-22)
==================

- Use ``msgid_plural`` as ``default_plural`` if not provided in
  ``translate()``.


4.5 (2018-10-19)
================

- Add support for pluralization. ``translate()`` now takes the
  additional optional arguments ``msgid_plural``, ``default_plural``
  and ``number`` in order to support it.


4.4 (2018-10-05)
================

- Add support for Python 3.7.


4.3.1 (2017-12-19)
==================

- Make ``PlacelessSetup`` not extend ``zope.testing.cleanup.CleanUp``.
  Extending ``CleanUp`` was introduced in 4.3.0 but turned out to have
  unexpected consequences. See `issue 30
  <https://github.com/zopefoundation/zope.i18n/issues/30>`_.


4.3.0 (2017-12-18)
==================

- Ensure that all files are properly closed when compiling .mo files,
  such as when the ``registerTranslations`` ZCML directive is used.

- Remove the private ``_compat`` module and its utility function ``_u``
  in favor of Unicode literals.

- ``TranslationDomain`` no longer extends ``SimpleTranslationDomain``.
  It overrode every method and didn't properly initialize the super
  class. ``TranslationDomain`` continues to implement ``ITranslationDomain``.

- ``TranslationDomain`` and ``GettextMessageCatalog`` now ensure that
  their ``domain`` and ``language`` attributes are text in order to
  match their respective interfaces. Byte strings (such as native
  string literals on Python 2) are decoded using UTF-8.

- Fix ``LocaleCalendar.getFirstWeekDayName``. Previously it raised a
  KeyError when the ``week`` mapping contained an integer for
  ``firstDay`` as documented.

- Reach 100% test coverage and maintain in through tox.ini and
  coveralls.io.

- Override ``values`` in ``InheritingDictionary``. Previously it
  implemented a separate ``value`` method by mistake.

- Fix parsing times with a timezone. Previously it could raise a
  ``TypeError``.

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 False


4.1.0 (2015-11-06)
==================

- ``interpolate()`` now works recursively, if the mapping has a value which is
  a ``zope.i18nmessageid.Message`` itself.


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.

- Replace ``zope.interface.implements`` usage with equivalent
  ``zope.interface.implementer`` decorator.

- Drop support for Python 2.4 and 2.5.


3.8.0 (2012-03-15)
==================

- Add optional ``domain`` attribute to ``registerTranslations`` directive to
  only load the specified translation domain. Allows to move catalogs to
  `/usr/share/locale` and 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 on ``zope.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 the ``GetText`` library 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.

- Add `configure.zcml` that registers standard negotiator utility and includes
  ``zope.i18n.locales`` configuration. This was previously done by
  ``zope.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 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.

3.4.0 (2007-10-02)
==================

- Update meta-data. No code changes.


3.4.0b5 (2007-08-15)
====================

- Bug: Fix dependency on ``zope.component`` to require it with the 'zcml'
  extra instead of requiring ``zope.security`` directly.


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 on ``zope.security`` to require a version that
  does not have the hidden dependency on ``zope.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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/zopefoundation/zope.i18n",
    "name": "zope.i18n",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "zope3 internationalization localization i18n l10n gettext ICU locale",
    "author": "Zope Foundation and Contributors",
    "author_email": "zope-dev@zope.dev",
    "download_url": "https://files.pythonhosted.org/packages/79/2a/5b69b06c3cd2bfe55a6589d32eef275a536fecb4bcfece1a896215840ba4/zope.i18n-5.1.tar.gz",
    "platform": null,
    "description": "zope.i18n\n=========\n\n\n.. image:: https://img.shields.io/pypi/v/zope.i18n.svg\n        :target: https://pypi.org/project/zope.i18n/\n        :alt: Latest release\n\n.. image:: https://img.shields.io/pypi/pyversions/zope.i18n.svg\n        :target: https://pypi.org/project/zope.i18n/\n        :alt: Supported Python versions\n\n.. image:: https://github.com/zopefoundation/zope.i18n/actions/workflows/tests.yml/badge.svg\n        :target: https://github.com/zopefoundation/zope.i18n/actions/workflows/tests.yml\n\n.. image:: https://coveralls.io/repos/github/zopefoundation/zope.i18n/badge.svg?branch=master\n        :target: https://coveralls.io/github/zopefoundation/zope.i18n?branch=master\n\n.. image:: https://readthedocs.org/projects/zopei18n/badge/?version=latest\n         :target: http://zopei18n.readthedocs.io/en/latest/?badge=latest\n         :alt: Documentation Status\n\n\nThis package implements several APIs related to internationalization and\nlocalization.\n\n* Locale objects for all locales maintained by the ICU project.\n\n* Gettext-based message catalogs for message strings.\n\n* Locale discovery for Web-based requests.\n\n.. See ``docs/index.rst`` for the documentation.\n\n\n=========\n CHANGES\n=========\n\n5.1 (2023-08-28)\n================\n\n- Include ``*.mo`` files in release but remove them from repository.\n\n\n5.0 (2023-03-27)\n================\n\n- Add support for Python 3.11.\n\n- Drop support for Python 2.7, 3.5, 3.6.\n\n- Drop deprecated support for running the tests using ``python setup.py test``.\n\n\n4.9.0 (2021-12-09)\n==================\n\n- Fix date/time format for zh, sv, and es_US.\n  (`#17 <https://github.com/zopefoundation/zope.i18n/pull/17>`_)\n\n- Fix problems with ``zope_i18n_compile_mo_files`` early assignment to\n  module variable in ``config.py`` in a non-breaking way.\n  See also `Zope issue #994 <https://github.com/zopefoundation/Zope/issues/994>`_\n\n- Add support for Python 3.10.\n\n\n4.8.0 (2021-09-07)\n==================\n\n- Support character sets.\n  Example: ``sr@Latn`` and ``sr@Cyrl`` will be added to language ``sr`` (Serbian).\n  See https://github.com/collective/plone.app.locales/issues/326\n  You can choose which one to use by setting either ``sr@Latn`` or ``sr@Cyrl``\n  in environment variable ``zope_i18n_allowed_languages``.\n\n- Support and test Python 3.8 and 3.9.\n  Full supported list is now: 2.7, 3.5, 3.6, 3.7, 3.8, 3.9, PyPy, PyPy3.\n\n\n4.7.0 (2019-07-10)\n==================\n\n- Drop Python 3.4 support.\n\n- Fix the signature of ``IMessageCatalog.getPluralMessage()``.  See `issue 41\n  <https://github.com/zopefoundation/zope.i18n/issues/41>`_.\n\n\n4.6.2 (2019-02-19)\n==================\n\n- Fix `NumberFormat` to respect the thousand grouping given by the pattern.\n  Triple grouping was hardcoded, which is not true for all locales.\n\n\n4.6.1 (2018-10-24)\n==================\n\n- Fix ``default_plural`` again if a ``zope.i18n.messageid.Message`` is\n  used with ``translate()``. See `issue 36\n  <https://github.com/zopefoundation/zope.i18n/pull/36>`_.\n\n\n4.6.0 (2018-10-22)\n==================\n\n- Use ``msgid_plural`` as ``default_plural`` if not provided in\n  ``translate()``.\n\n\n4.5 (2018-10-19)\n================\n\n- Add support for pluralization. ``translate()`` now takes the\n  additional optional arguments ``msgid_plural``, ``default_plural``\n  and ``number`` in order to support it.\n\n\n4.4 (2018-10-05)\n================\n\n- Add support for Python 3.7.\n\n\n4.3.1 (2017-12-19)\n==================\n\n- Make ``PlacelessSetup`` not extend ``zope.testing.cleanup.CleanUp``.\n  Extending ``CleanUp`` was introduced in 4.3.0 but turned out to have\n  unexpected consequences. See `issue 30\n  <https://github.com/zopefoundation/zope.i18n/issues/30>`_.\n\n\n4.3.0 (2017-12-18)\n==================\n\n- Ensure that all files are properly closed when compiling .mo files,\n  such as when the ``registerTranslations`` ZCML directive is used.\n\n- Remove the private ``_compat`` module and its utility function ``_u``\n  in favor of Unicode literals.\n\n- ``TranslationDomain`` no longer extends ``SimpleTranslationDomain``.\n  It overrode every method and didn't properly initialize the super\n  class. ``TranslationDomain`` continues to implement ``ITranslationDomain``.\n\n- ``TranslationDomain`` and ``GettextMessageCatalog`` now ensure that\n  their ``domain`` and ``language`` attributes are text in order to\n  match their respective interfaces. Byte strings (such as native\n  string literals on Python 2) are decoded using UTF-8.\n\n- Fix ``LocaleCalendar.getFirstWeekDayName``. Previously it raised a\n  KeyError when the ``week`` mapping contained an integer for\n  ``firstDay`` as documented.\n\n- Reach 100% test coverage and maintain in through tox.ini and\n  coveralls.io.\n\n- Override ``values`` in ``InheritingDictionary``. Previously it\n  implemented a separate ``value`` method by mistake.\n\n- Fix parsing times with a timezone. Previously it could raise a\n  ``TypeError``.\n\n4.2.0 (2017-05-23)\n==================\n\n- Better error message on PO-File Syntax Errors. [SyZn]\n\n- Add support for Python 3.5 and 3.6.\n\n- Drop support for Python 2.6, 3.2 and 3.3.\n\n- Support for formatting really small numbers, e.g. 1e-9. These numbers needs\n  special treatment, because standard str(x) collapses them to scientific\n  representation.\n\n- Support for specifying rounding in NumberFormatter. This is required in some\n  cases, e.g. when you format a Decimal('0.9999') that sould not be rounded.\n  Currently, formatting Decimal('0.99999') will raise a TypeError if rounding\n  is not set to False\n\n\n4.1.0 (2015-11-06)\n==================\n\n- ``interpolate()`` now works recursively, if the mapping has a value which is\n  a ``zope.i18nmessageid.Message`` itself.\n\n\n4.0.1 (2015-06-05)\n==================\n\n- Add support for Python 3.2 and PyPy3.\n\n\n4.0.0 (2014-12-20)\n==================\n\n- Add support for testing with Travis.\n\n- Add explicit support for Python 3.4 and PyPy.\n\n\n4.0.0a4 (2013-02-18)\n====================\n\n- Restore zope.i18n.testing.{setUp,PlacelessSetup} that got lost in 4.0.0a3.\n  These require zope.publisher, which is not ported to Python 3 yet, so I\n  haven't added it back to install_requires in setup.py.  User beware.\n\n\n4.0.0a3 (2013-02-15)\n====================\n\n- Add support for Python 3.3.\n\n- Log DEBUG when loading translations from directories.\n\n- Replace ``zope.interface.implements`` usage with equivalent\n  ``zope.interface.implementer`` decorator.\n\n- Drop support for Python 2.4 and 2.5.\n\n\n3.8.0 (2012-03-15)\n==================\n\n- Add optional ``domain`` attribute to ``registerTranslations`` directive to\n  only load the specified translation domain. Allows to move catalogs to\n  `/usr/share/locale` and avoid loading hundreds of unrelated domains.\n\n- Include meta.zcml files in our own zcml configuration as needed, added a\n  test for our configure.zcml.\n\n- Update zope.i18n.NAME_RE to be identical to zope.tal as required by the\n  comment next to it. Fixes #611746.\n\n\n3.7.4 (2010-07-08)\n==================\n\n- Add missing test dependency on ``zope.testing``.\n\n\n3.7.3 (2010-04-30)\n==================\n\n- Remove of 'zope.testing.doctestunit' in favor of stdlib's 'doctest.\n\n3.7.2 (2009-12-14)\n==================\n\n- It's a critical error when the ``GetText`` library is unavailable\n  and compilation is required.\n\n- Use getSiteManager rather than getGlobalSiteManager in ZCML (these\n  should be one in the same in any non-fancy setup, however if you've\n  hooked getSiteManager, you want the ZCML handler to use the hooked\n  version).\n\n3.7.1 (2009-08-07)\n==================\n\n- Fix the interpackage translation domain merging feature to actually work.\n  We need to defer the merging into the ZCML handler execution phase, as the\n  utilities don't exist yet during the ZCML parsing phase. Thx to Andreas\n  Zeidler for finding and fixing the issue in PlacelessTranslationService in\n  the first place.\n\n- Fix translation domains translating a message for a different domain. In the\n  process, fix testMessageIDTranslateForDifferentDomain which seemed to work by\n  mistake as the \"other\" and \"default\" domains used the same catalog. This is\n  basically a reversion of 39991.\n\n\n3.7.0 (2009-03-18)\n==================\n\n- Update data to CLDR 1.1. This introduces contextual month\n  and day names and different month/day name widths. More CLDR updates\n  are expected, see the \"nadako-cldr\" branch of zope.i18n.\n\n- Add `configure.zcml` that registers standard negotiator utility and includes\n  ``zope.i18n.locales`` configuration. This was previously done by\n  ``zope.app.i18n``.\n\n\n3.6.0 (2008-10-26)\n==================\n\n- Fix a test failure in the compile mo file support.\n\n- Move the zcml support into an extra. This reduces the dependencies of a\n  standard zope.i18n install by half a dozen packages.\n\n\n3.5.0 (2008-07-10)\n==================\n\n- Feature: Add new top-level negotiate function, which can be used to\n  negotiate the language when the available languages are set globally via\n  `zope_i18n_allowed_languages`.\n\n- Feature: Add support for restricting the available languages. We support\n  an environment variable called `zope_i18n_allowed_languages` now, which is\n  a list of comma or space separated language codes. If the environment\n  variable is set, the ZCML registration will only process those folders\n  which are in the allowed languages list.\n\n- Feature: Add optional automatic compilation of mo files from po files.\n  You need to depend on the `zope.i18n [compile]` extra and set an environment\n  variable called `zope_i18n_compile_mo_files` to any True value to enable\n  this option.\n\n- Feature: Re-use existing translation domains when registering new ones.\n  This allows multiple packages to register translations in the same domain.\n  If the same message exists in multiple catalogs the one registered first\n  will take precedence.\n\n- Feature: Recursive translations of message strings with mappings\n  (https://bugs.launchpad.net/zope3/+bug/210177), thanks to Hermann\n  Himmelbauer for the inital patch.\n\n- Bug: When parsing a date, the parsing pattern did not ensure that the line\n  started and ended with the matching pattern, so that '1/1/2007' parsed into\n  '1/1/20' for example.\n\n3.4.0 (2007-10-02)\n==================\n\n- Update meta-data. No code changes.\n\n\n3.4.0b5 (2007-08-15)\n====================\n\n- Bug: Fix dependency on ``zope.component`` to require it with the 'zcml'\n  extra instead of requiring ``zope.security`` directly.\n\n\n3.4.0b4 (2007-07-19)\n====================\n\n- Bug: Number parsing was too forgiving, allowing non-numerical and/or\n  formatting characters before, after and within the number. The parsing is\n  more strict now.\n\n\n3.4.0b3 (2007-06-28)\n====================\n\n- Bug: There was a bug in the parser that if no decimal place is given\n  you still had to type the decimal symbol. Corrected this problem (one\n  character ;-) and provided a test.\n\n\n3.4.0b2 (2007-06-25)\n====================\n\n- Feature: Add ability to change the output type when parsing a\n  number.\n\n\n3.4.0b1 (?)\n===========\n\n- Bug: Fix dependency on ``zope.security`` to require a version that\n  does not have the hidden dependency on ``zope.testing``.\n\n\nNote: Releases between 3.2.0 and 3.4.0b1 were not tracked as individual\npackages. The changes can be reconstructed from the Zope 3 changelog.\n\n\n3.2.0 (2006-01-05)\n==================\n\n- Corresponds to the verison of the zope.i18n package shipped as part of the\n  Zope 3.2.0 release.\n\n- Add a picklable offset-based timezone to 'pytz', a la\n  zope.app.datetimeutils'.  Added tests in 'zope.i18n' to show that we need\n  something like it, and then actually use it in 'zope.18n.format'.\n\n- Add support for parsing / formatting timezones using 'pytz' (new external\n  dependency).\n\n- Implement remaining date/time formatters, including adding week\n  information to the calendar.\n\n\n3.0.0 (2004-11-07)\n==================\n\n- Corresponds to the version of the zope.i18n package shipped as part of\n  the Zope X3.0.0 release.\n",
    "bugtrack_url": null,
    "license": "ZPL 2.1",
    "summary": "Zope Internationalization Support",
    "version": "5.1",
    "project_urls": {
        "Homepage": "https://github.com/zopefoundation/zope.i18n"
    },
    "split_keywords": [
        "zope3",
        "internationalization",
        "localization",
        "i18n",
        "l10n",
        "gettext",
        "icu",
        "locale"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "979a38ede849d657685a1677cf4e7de3dcda21e55dd88e79c4adb634e1f1e940",
                "md5": "8cf4f1e1c1b1796e862adfe9bbec92b5",
                "sha256": "30bc872342a7d63b2bd4714bdf075f84f1e2859f8f2fc09bb02d7795c5c46aa8"
            },
            "downloads": -1,
            "filename": "zope.i18n-5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8cf4f1e1c1b1796e862adfe9bbec92b5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 798810,
            "upload_time": "2023-08-28T14:39:52",
            "upload_time_iso_8601": "2023-08-28T14:39:52.537548Z",
            "url": "https://files.pythonhosted.org/packages/97/9a/38ede849d657685a1677cf4e7de3dcda21e55dd88e79c4adb634e1f1e940/zope.i18n-5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "792a5b69b06c3cd2bfe55a6589d32eef275a536fecb4bcfece1a896215840ba4",
                "md5": "684987f2783d05905026397f35741694",
                "sha256": "ea34e5e2e26e35407ced2970b2b7db78053ad0ec50f34a549ff204ef85b00af9"
            },
            "downloads": -1,
            "filename": "zope.i18n-5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "684987f2783d05905026397f35741694",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 618779,
            "upload_time": "2023-08-28T14:39:58",
            "upload_time_iso_8601": "2023-08-28T14:39:58.657134Z",
            "url": "https://files.pythonhosted.org/packages/79/2a/5b69b06c3cd2bfe55a6589d32eef275a536fecb4bcfece1a896215840ba4/zope.i18n-5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-28 14:39:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "zopefoundation",
    "github_project": "zope.i18n",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "zope.i18n"
}
        
Elapsed time: 0.11062s