From 0531bc9e17879f64c6f89e355905ea4037cbbf8a Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 25 Jan 2022 15:30:30 +0200 Subject: Improve documentation for TimezoneTransition Fixes #823 --- babel/dates.py | 15 ++++++++++----- docs/api/dates.rst | 2 ++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/babel/dates.py b/babel/dates.py index 816149d..f94c60a 100644 --- a/babel/dates.py +++ b/babel/dates.py @@ -255,17 +255,22 @@ def get_next_timezone_transition(zone=None, dt=None): class TimezoneTransition(object): """A helper object that represents the return value from :func:`get_next_timezone_transition`. + + :field activates: + The time of the activation of the timezone transition in UTC. + :field from_tzinfo: + The timezone from where the transition starts. + :field to_tzinfo: + The timezone for after the transition. + :field reference_date: + The reference date that was provided. This is the `dt` parameter + to the :func:`get_next_timezone_transition`. """ def __init__(self, activates, from_tzinfo, to_tzinfo, reference_date=None): - #: the time of the activation of the timezone transition in UTC. self.activates = activates - #: the timezone from where the transition starts. self.from_tzinfo = from_tzinfo - #: the timezone for after the transition. self.to_tzinfo = to_tzinfo - #: the reference date that was provided. This is the `dt` parameter - #: to the :func:`get_next_timezone_transition`. self.reference_date = reference_date @property diff --git a/docs/api/dates.rst b/docs/api/dates.rst index f3e59b6..55ea2b1 100644 --- a/docs/api/dates.rst +++ b/docs/api/dates.rst @@ -42,6 +42,8 @@ Timezone Functionality A timezone object for the computer's local timezone. +.. autoclass:: TimezoneTransition + Data Access ----------- -- cgit v1.2.1 From 6e7227633697b053f97a7c041e6732232ec1c936 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 25 Jan 2022 15:35:30 +0200 Subject: Set up .readthedocs.yml to build using Sphinx 4 --- .readthedocs.yml | 19 +++++++++++++++++++ docs/requirements.txt | 1 + 2 files changed, 20 insertions(+) create mode 100644 .readthedocs.yml create mode 100644 docs/requirements.txt diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 0000000..a4a09ac --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,19 @@ +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +version: 2 + +build: + os: ubuntu-20.04 + tools: + python: "3.9" + +sphinx: + configuration: docs/conf.py + +formats: + - epub + - pdf + +python: + install: + - requirements: docs/requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..aaedb21 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1 @@ +Sphinx~=4.4.0 -- cgit v1.2.1 From 5c6a970616472a863d568947c757f90bc7824c9c Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 25 Jan 2022 15:40:30 +0200 Subject: Changelog: rename to .rst, use :gh: for GitHub links Refs #801 --- CHANGES | 725 ------------------------------------------------ CHANGES.rst | 725 ++++++++++++++++++++++++++++++++++++++++++++++++ MANIFEST.in | 2 +- docs/changelog.rst | 2 +- scripts/make-release.py | 2 +- 5 files changed, 728 insertions(+), 728 deletions(-) delete mode 100644 CHANGES create mode 100644 CHANGES.rst diff --git a/CHANGES b/CHANGES deleted file mode 100644 index e3c54bf..0000000 --- a/CHANGES +++ /dev/null @@ -1,725 +0,0 @@ -Babel Changelog -=============== - -Version 2.9.1 -------------- - -Bugfixes -~~~~~~~~ - -* The internal locale-data loading functions now validate the name of the locale file to be loaded and only - allow files within Babel's data directory. Thank you to Chris Lyne of Tenable, Inc. for discovering the issue! - -Version 2.9.0 -------------- - -Upcoming version support changes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* This version, Babel 2.9, is the last version of Babel to support Python 2.7, Python 3.4, and Python 3.5. - -Improvements -~~~~~~~~~~~~ - -* CLDR: Use CLDR 37 – Aarni Koskela (#734) -* Dates: Handle ZoneInfo objects in get_timezone_location, get_timezone_name - Alessio Bogon (#741) -* Numbers: Add group_separator feature in number formatting - Abdullah Javed Nesar (#726) - -Bugfixes -~~~~~~~~ - -* Dates: Correct default Format().timedelta format to 'long' to mute deprecation warnings – Aarni Koskela -* Import: Simplify iteration code in "import_cldr.py" – Felix Schwarz -* Import: Stop using deprecated ElementTree methods "getchildren()" and "getiterator()" – Felix Schwarz -* Messages: Fix unicode printing error on Python 2 without TTY. – Niklas Hambüchen -* Messages: Introduce invariant that _invalid_pofile() takes unicode line. – Niklas Hambüchen -* Tests: fix tests when using Python 3.9 – Felix Schwarz -* Tests: Remove deprecated 'sudo: false' from Travis configuration – Jon Dufresne -* Tests: Support Py.test 6.x – Aarni Koskela -* Utilities: LazyProxy: Handle AttributeError in specified func – Nikiforov Konstantin (#724) -* Utilities: Replace usage of parser.suite with ast.parse – Miro Hrončok - -Documentation -~~~~~~~~~~~~~ - -* Update parse_number comments – Brad Martin (#708) -* Add __iter__ to Catalog documentation – @CyanNani123 - -Version 2.8.1 -------------- - -This is solely a patch release to make running tests on Py.test 6+ possible. - -Bugfixes -~~~~~~~~ - -* Support Py.test 6 - Aarni Koskela (#747, #750, #752) - -Version 2.8.0 -------------- - -Improvements -~~~~~~~~~~~~ - -* CLDR: Upgrade to CLDR 36.0 - Aarni Koskela (#679) -* Messages: Don't even open files with the "ignore" extraction method - @sebleblanc (#678) - -Bugfixes -~~~~~~~~ - -* Numbers: Fix formatting very small decimals when quantization is disabled - Lev Lybin, @miluChen (#662) -* Messages: Attempt to sort all messages – Mario Frasca (#651, #606) - -Docs -~~~~ - -* Add years to changelog - Romuald Brunet -* Note that installation requires pytz - Steve (Gadget) Barnes - -Version 2.7.0 -------------- - -Possibly incompatible changes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -These may be backward incompatible in some cases, as some more-or-less internal -APIs have changed. Please feel free to file issues if you bump into anything -strange and we'll try to help! - -* General: Internal uses of ``babel.util.odict`` have been replaced with - ``collections.OrderedDict`` from The Python standard library. - -Improvements -~~~~~~~~~~~~ - -* CLDR: Upgrade to CLDR 35.1 - Alberto Mardegan, Aarni Koskela (#626, #643) -* General: allow anchoring path patterns to the start of a string - Brian Cappello (#600) -* General: Bumped version requirement on pytz - @chrisbrake (#592) -* Messages: `pybabel compile`: exit with code 1 if errors were encountered - Aarni Koskela (#647) -* Messages: Add omit-header to update_catalog - Cédric Krier (#633) -* Messages: Catalog update: keep user comments from destination by default - Aarni Koskela (#648) -* Messages: Skip empty message when writing mo file - Cédric Krier (#564) -* Messages: Small fixes to avoid crashes on badly formatted .po files - Bryn Truscott (#597) -* Numbers: `parse_decimal()` `strict` argument and `suggestions` - Charly C (#590) -* Numbers: don't repeat suggestions in parse_decimal strict - Serban Constantin (#599) -* Numbers: implement currency formatting with long display names - Luke Plant (#585) -* Numbers: parse_decimal(): assume spaces are equivalent to non-breaking spaces when not in strict mode - Aarni Koskela (#649) -* Performance: Cache locale_identifiers() - Aarni Koskela (#644) - -Bugfixes -~~~~~~~~ - -* CLDR: Skip alt=... for week data (minDays, firstDay, weekendStart, weekendEnd) - Aarni Koskela (#634) -* Dates: Fix wrong weeknumber for 31.12.2018 - BT-sschmid (#621) -* Locale: Avoid KeyError trying to get data on WindowsXP - mondeja (#604) -* Locale: get_display_name(): Don't attempt to concatenate variant information to None - Aarni Koskela (#645) -* Messages: pofile: Add comparison operators to _NormalizedString - Aarni Koskela (#646) -* Messages: pofile: don't crash when message.locations can't be sorted - Aarni Koskela (#646) - -Tooling & docs -~~~~~~~~~~~~~~ - -* Docs: Remove all references to deprecated easy_install - Jon Dufresne (#610) -* Docs: Switch print statement in docs to print function - NotAFile -* Docs: Update all pypi.python.org URLs to pypi.org - Jon Dufresne (#587) -* Docs: Use https URLs throughout project where available - Jon Dufresne (#588) -* Support: Add testing and document support for Python 3.7 - Jon Dufresne (#611) -* Support: Test on Python 3.8-dev - Aarni Koskela (#642) -* Support: Using ABCs from collections instead of collections.abc is deprecated. - Julien Palard (#609) -* Tests: Fix conftest.py compatibility with pytest 4.3 - Miro Hrončok (#635) -* Tests: Update pytest and pytest-cov - Miro Hrončok (#635) - -Version 2.6.0 -------------- - -Possibly incompatible changes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -These may be backward incompatible in some cases, as some more-or-less internal APIs have changed. -Please feel free to file issues if you bump into anything strange and we'll try to help! - -* Numbers: Refactor decimal handling code and allow bypass of decimal quantization. (@kdeldycke) (PR #538) -* Messages: allow processing files that are in locales unknown to Babel (@akx) (PR #557) -* General: Drop support for EOL Python 2.6 and 3.3 (@hugovk) (PR #546) - -Other changes -~~~~~~~~~~~~~ - -* CLDR: Use CLDR 33 (@akx) (PR #581) -* Lists: Add support for various list styles other than the default (@akx) (#552) -* Messages: Add new PoFileError exception (@Bedrock02) (PR #532) -* Times: Simplify Linux distro specific explicit timezone setting search (@scop) (PR #528) - -Bugfixes -~~~~~~~~ - -* CLDR: avoid importing alt=narrow currency symbols (@akx) (PR #558) -* CLDR: ignore non-Latin numbering systems (@akx) (PR #579) -* Docs: Fix improper example for date formatting (@PTrottier) (PR #574) -* Tooling: Fix some deprecation warnings (@akx) (PR #580) - -Tooling & docs -~~~~~~~~~~~~~~ - -* Add explicit signatures to some date autofunctions (@xmo-odoo) (PR #554) -* Include license file in the generated wheel package (@jdufresne) (PR #539) -* Python 3.6 invalid escape sequence deprecation fixes (@scop) (PR #528) -* Test and document all supported Python versions (@jdufresne) (PR #540) -* Update copyright header years and authors file (@akx) (PR #559) - - -Version 2.5.3 -------------- - -This is a maintenance release that reverts undesired API-breaking changes that slipped into 2.5.2 -(see https://github.com/python-babel/babel/issues/550). - -It is based on v2.5.1 (f29eccd) with commits 7cedb84, 29da2d2 and edfb518 cherry-picked on top. - -Version 2.5.2 -------------- - -Bugfixes -~~~~~~~~ - -* Revert the unnecessary PyInstaller fixes from 2.5.0 and 2.5.1 (#533) (@yagebu) - -Version 2.5.1 -------------- - -Minor Improvements and bugfixes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* Use a fixed datetime to avoid test failures (#520) (@narendravardi) -* Parse multi-line __future__ imports better (#519) (@akx) -* Fix validate_currency docstring (#522) -* Allow normalize_locale and exists to handle various unexpected inputs (#523) (@suhojm) -* Make PyInstaller support more robust (#525, #526) (@thijstriemstra, @akx) - - -Version 2.5.0 -------------- - -New Features -~~~~~~~~~~~~ - -* Numbers: Add currency utilities and helpers (#491) (@kdeldycke) -* Support PyInstaller (#500, #505) (@wodo) - -Minor Improvements and bugfixes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* Dates: Add __str__ to DateTimePattern (#515) (@sfermigier) -* Dates: Fix an invalid string to bytes comparison when parsing TZ files on Py3 (#498) (@rowillia) -* Dates: Formatting zero-padded components of dates is faster (#517) (@akx) -* Documentation: Fix "Good Commits" link in CONTRIBUTING.md (#511) (@naryanacharya6) -* Documentation: Fix link to Python gettext module (#512) (@Linkid) -* Messages: Allow both dash and underscore separated locale identifiers in pofiles (#489, #490) (@akx) -* Messages: Extract Python messages in nested gettext calls (#488) (@sublee) -* Messages: Fix in-place editing of dir list while iterating (#476, #492) (@MarcDufresne) -* Messages: Stabilize sort order (#482) (@xavfernandez) -* Time zones: Honor the no-inherit marker for metazone names (#405) (@akx) - - -Version 2.4.0 -------------- - -New Features -~~~~~~~~~~~~ - -Some of these changes might break your current code and/or tests. - -* CLDR: CLDR 29 is now used instead of CLDR 28 (#405) (@akx) -* Messages: Add option 'add_location' for location line formatting (#438, #459) (@rrader, @alxpy) -* Numbers: Allow full control of decimal behavior (#410) (@etanol) - -Minor Improvements and bugfixes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* Documentation: Improve Date Fields descriptions (#450) (@ldwoolley) -* Documentation: Typo fixes and documentation improvements (#406, #412, #403, #440, #449, #463) (@zyegfryed, @adamchainz, @jwilk, @akx, @roramirez, @abhishekcs10) -* Messages: Default to UTF-8 source encoding instead of ISO-8859-1 (#399) (@asottile) -* Messages: Ensure messages are extracted in the order they were passed in (#424) (@ngrilly) -* Messages: Message extraction for JSX files is improved (#392, #396, #425) (@karloskar, @georgschoelly) -* Messages: PO file reading supports multi-line obsolete units (#429) (@mbirtwell) -* Messages: Python message extractor respects unicode_literals in __future__ (#427) (@sublee) -* Messages: Roundtrip Language headers (#420) (@kruton) -* Messages: units before obsolete units are no longer erroneously marked obsolete (#452) (@mbirtwell) -* Numbers: `parse_pattern` now preserves the full original pattern (#414) (@jtwang) -* Numbers: Fix float conversion in `extract_operands` (#435) (@akx) -* Plurals: Fix plural forms for Czech and Slovak locales (#373) (@ykshatroff) -* Plurals: More plural form fixes based on Mozilla and CLDR references (#431) (@mshenfield) - - -Internal improvements -~~~~~~~~~~~~~~~~~~~~~ - -* Local times are constructed correctly in tests (#411) (@etanol) -* Miscellaneous small improvements (#437) (@scop) -* Regex flags are extracted from the regex strings (#462) (@singingwolfboy) -* The PO file reader is now a class and has seen some refactoring (#429, #452) (@mbirtwell) - - -Version 2.3.4 -------------- - -(Bugfix release, released on April 22th 2016) - -Bugfixes -~~~~~~~~ - -* CLDR: The lxml library is no longer used for CLDR importing, so it should not cause strange failures either. Thanks to @aronbierbaum for the bug report and @jtwang for the fix. (https://github.com/python-babel/babel/pull/393) -* CLI: Every last single CLI usage regression should now be gone, and both distutils and stand-alone CLIs should work as they have in the past. Thanks to @paxswill and @ajaeger for bug reports. (https://github.com/python-babel/babel/pull/389) - -Version 2.3.3 -------------- - -(Bugfix release, released on April 12th 2016) - -Bugfixes -~~~~~~~~ - -* CLI: Usage regressions that had snuck in between 2.2 and 2.3 should be no more. (https://github.com/python-babel/babel/pull/386) Thanks to @ajaeger, @sebdiem and @jcristovao for bug reports and patches. - -Version 2.3.2 -------------- - -(Bugfix release, released on April 9th 2016) - -Bugfixes -~~~~~~~~ - -* Dates: Period (am/pm) formatting was broken in certain locales (namely zh_TW). Thanks to @jun66j5 for the bug report. (https://github.com/python-babel/babel/issues/378, https://github.com/python-babel/babel/issues/379) - -Version 2.3.1 -------------- - -(Bugfix release because of deployment problems, released on April 8th 2016) - -Version 2.3 ------------ - -(Feature release, released on April 8th 2016) - -Internal improvements -~~~~~~~~~~~~~~~~~~~~~ - -* The CLI frontend and Distutils commands use a shared implementation (https://github.com/python-babel/babel/pull/311) -* PyPy3 is supported (https://github.com/python-babel/babel/pull/343) - -Features -~~~~~~~~ - -* CLDR: Add an API for territory language data (https://github.com/python-babel/babel/pull/315) -* Core: Character order and measurement system data is imported and exposed (https://github.com/python-babel/babel/pull/368) -* Dates: Add an API for time interval formatting (https://github.com/python-babel/babel/pull/316) -* Dates: More pattern formats and lengths are supported (https://github.com/python-babel/babel/pull/347) -* Dates: Period IDs are imported and exposed (https://github.com/python-babel/babel/pull/349) -* Dates: Support for date-time skeleton formats has been added (https://github.com/python-babel/babel/pull/265) -* Dates: Timezone formatting has been improved (https://github.com/python-babel/babel/pull/338) -* Messages: JavaScript extraction now supports dotted names, ES6 template strings and JSX tags (https://github.com/python-babel/babel/pull/332) -* Messages: npgettext is recognized by default (https://github.com/python-babel/babel/pull/341) -* Messages: The CLI learned to accept multiple domains (https://github.com/python-babel/babel/pull/335) -* Messages: The extraction commands now accept filenames in addition to directories (https://github.com/python-babel/babel/pull/324) -* Units: A new API for unit formatting is implemented (https://github.com/python-babel/babel/pull/369) - -Bugfixes -~~~~~~~~ - -* Core: Mixed-case locale IDs work more reliably (https://github.com/python-babel/babel/pull/361) -* Dates: S...S formats work correctly now (https://github.com/python-babel/babel/pull/360) -* Messages: All messages are now sorted correctly if sorting has been specified (https://github.com/python-babel/babel/pull/300) -* Messages: Fix the unexpected behavior caused by catalog header updating (e0e7ef1) (https://github.com/python-babel/babel/pull/320) -* Messages: Gettext operands are now generated correctly (https://github.com/python-babel/babel/pull/295) -* Messages: Message extraction has been taught to detect encodings better (https://github.com/python-babel/babel/pull/274) - -Version 2.2 ------------ - -(Feature release, released on January 2nd 2016) - -Bugfixes -~~~~~~~~ - -* General: Add __hash__ to Locale. (#303) (2aa8074) -* General: Allow files with BOM if they're UTF-8 (#189) (da87edd) -* General: localedata directory is now locale-data (#109) (2d1882e) -* General: odict: Fix pop method (0a9e97e) -* General: Removed uses of datetime.date class from *.dat files (#174) (94f6830) -* Messages: Fix plural selection for Chinese (531f666) -* Messages: Fix typo and add semicolon in plural_forms (5784501) -* Messages: Flatten NullTranslations.files into a list (ad11101) -* Times: FixedOffsetTimezone: fix display of negative offsets (d816803) - -Features -~~~~~~~~ - -* CLDR: Update to CLDR 28 (#292) (9f7f4d0) -* General: Add __copy__ and __deepcopy__ to LazyProxy. (a1cc3f1) -* General: Add official support for Python 3.4 and 3.5 -* General: Improve odict performance by making key search O(1) (6822b7f) -* Locale: Add an ordinal_form property to Locale (#270) (b3f3430) -* Locale: Add support for list formatting (37ce4fa, be6e23d) -* Locale: Check inheritance exceptions first (3ef0d6d) -* Messages: Allow file locations without line numbers (#279) (79bc781) -* Messages: Allow passing a callable to `extract()` (#289) (3f58516) -* Messages: Support 'Language' header field of PO files (#76) (3ce842b) -* Messages: Update catalog headers from templates (e0e7ef1) -* Numbers: Properly load and expose currency format types (#201) (df676ab) -* Numbers: Use cdecimal by default when available (b6169be) -* Numbers: Use the CLDR's suggested number of decimals for format_currency (#139) (201ed50) -* Times: Add format_timedelta(format='narrow') support (edc5eb5) - -Version 2.1 ------------ - -(Bugfix/minor feature release, released on September 25th 2015) - -- Parse and honour the locale inheritance exceptions - (https://github.com/python-babel/babel/issues/97) -- Fix Locale.parse using ``global.dat`` incompatible types - (https://github.com/python-babel/babel/issues/174) -- Fix display of negative offsets in ``FixedOffsetTimezone`` - (https://github.com/python-babel/babel/issues/214) -- Improved odict performance which is used during localization file - build, should improve compilation time for large projects -- Add support for "narrow" format for ``format_timedelta`` -- Add universal wheel support -- Support 'Language' header field in .PO files - (fixes https://github.com/python-babel/babel/issues/76) -- Test suite enhancements (coverage, broken tests fixed, etc) -- Documentation updated - -Version 2.0 ------------ - -(Released on July 27th 2015, codename Second Coming) - -- Added support for looking up currencies that belong to a territory - through the :func:`babel.numbers.get_territory_currencies` - function. -- Improved Python 3 support. -- Fixed some broken tests for timezone behavior. -- Improved various smaller things for dealing with dates. - -Version 1.4 ------------ - -(bugfix release, release date to be decided) - -- Fixed a bug that caused deprecated territory codes not being - converted properly by the subtag resolving. This for instance - showed up when trying to use ``und_UK`` as a language code - which now properly resolves to ``en_GB``. -- Fixed a bug that made it impossible to import the CLDR data - from scratch on windows systems. - -Version 1.3 ------------ - -(bugfix release, released on July 29th 2013) - -- Fixed a bug in likely-subtag resolving for some common locales. - This primarily makes ``zh_CN`` work again which was broken - due to how it was defined in the likely subtags combined with - our broken resolving. This fixes :gh:`37`. -- Fixed a bug that caused pybabel to break when writing to stdout - on Python 3. -- Removed a stray print that was causing issues when writing to - stdout for message catalogs. - -Version 1.2 ------------ - -(bugfix release, released on July 27th 2013) - -- Included all tests in the tarball. Previously the include - skipped past recursive folders. -- Changed how tests are invoked and added separate standalone - test command. This simplifies testing of the package for - linux distributors. - -Version 1.1 ------------ - -(bugfix release, released on July 27th 2013) - -- added dummy version requirements for pytz so that it installs - on pip 1.4. -- Included tests in the tarball. - -Version 1.0 ------------ - -(Released on July 26th 2013, codename Revival) - -- support python 2.6, 2.7, 3.3+ and pypy - drop all other versions -- use tox for testing on different pythons -- Added support for the locale plural rules defined by the CLDR. -- Added `format_timedelta` function to support localized formatting of - relative times with strings such as "2 days" or "1 month" (:trac:`126`). -- Fixed negative offset handling of Catalog._set_mime_headers (:trac:`165`). -- Fixed the case where messages containing square brackets would break with - an unpack error. -- updated to CLDR 23 -- Make the CLDR import script work with Python 2.7. -- Fix various typos. -- Sort output of list-locales. -- Make the POT-Creation-Date of the catalog being updated equal to - POT-Creation-Date of the template used to update (:trac:`148`). -- Use a more explicit error message if no option or argument (command) is - passed to pybabel (:trac:`81`). -- Keep the PO-Revision-Date if it is not the default value (:trac:`148`). -- Make --no-wrap work by reworking --width's default and mimic xgettext's - behaviour of always wrapping comments (:trac:`145`). -- Add --project and --version options for commandline (:trac:`173`). -- Add a __ne__() method to the Local class. -- Explicitly sort instead of using sorted() and don't assume ordering - (Jython compatibility). -- Removed ValueError raising for string formatting message checkers if the - string does not contain any string formattings (:trac:`150`). -- Fix Serbian plural forms (:trac:`213`). -- Small speed improvement in format_date() (:trac:`216`). -- Fix so frontend.CommandLineInterface.run does not accumulate logging - handlers (:trac:`227`, reported with initial patch by dfraser) -- Fix exception if environment contains an invalid locale setting - (:trac:`200`) -- use cPickle instead of pickle for better performance (:trac:`225`) -- Only use bankers round algorithm as a tie breaker if there are two nearest - numbers, round as usual if there is only one nearest number (:trac:`267`, - patch by Martin) -- Allow disabling cache behaviour in LazyProxy (:trac:`208`, initial patch - from Pedro Algarvio) -- Support for context-aware methods during message extraction (:trac:`229`, - patch from David Rios) -- "init" and "update" commands support "--no-wrap" option (:trac:`289`) -- fix formatting of fraction in format_decimal() if the input value is a float - with more than 7 significant digits (:trac:`183`) -- fix format_date() with datetime parameter (:trac:`282`, patch from Xavier - Morel) -- fix format_decimal() with small Decimal values (:trac:`214`, patch from - George Lund) -- fix handling of messages containing '\\n' (:trac:`198`) -- handle irregular multi-line msgstr (no "" as first line) gracefully - (:trac:`171`) -- parse_decimal() now returns Decimals not floats, API change (:trac:`178`) -- no warnings when running setup.py without installed setuptools (:trac:`262`) -- modified Locale.__eq__ method so Locales are only equal if all of their - attributes (language, territory, script, variant) are equal -- resort to hard-coded message extractors/checkers if pkg_resources is - installed but no egg-info was found (:trac:`230`) -- format_time() and format_datetime() now accept also floats (:trac:`242`) -- add babel.support.NullTranslations class similar to gettext.NullTranslations - but with all of Babel's new gettext methods (:trac:`277`) -- "init" and "update" commands support "--width" option (:trac:`284`) -- fix 'input_dirs' option for setuptools integration (:trac:`232`, initial - patch by Étienne Bersac) -- ensure .mo file header contains the same information as the source .po file - (:trac:`199`) -- added support for get_language_name() on the locale objects. -- added support for get_territory_name() on the locale objects. -- added support for get_script_name() on the locale objects. -- added pluralization support for currency names and added a '¤¤¤' - pattern for currencies that includes the full name. -- depend on pytz now and wrap it nicer. This gives us improved support - for things like timezone transitions and an overall nicer API. -- Added support for explicit charset to PO file reading. -- Added experimental Python 3 support. -- Added better support for returning timezone names. -- Don't throw away a Catalog's obsolete messages when updating it. -- Added basic likelySubtag resolving when doing locale parsing and no - match can be found. - - -Version 0.9.6 -------------- - -(released on March 17th 2011) - -- Backport r493-494: documentation typo fixes. -- Make the CLDR import script work with Python 2.7. -- Fix various typos. -- Fixed Python 2.3 compatibility (:trac:`146`, :trac:`233`). -- Sort output of list-locales. -- Make the POT-Creation-Date of the catalog being updated equal to - POT-Creation-Date of the template used to update (:trac:`148`). -- Use a more explicit error message if no option or argument (command) is - passed to pybabel (:trac:`81`). -- Keep the PO-Revision-Date if it is not the default value (:trac:`148`). -- Make --no-wrap work by reworking --width's default and mimic xgettext's - behaviour of always wrapping comments (:trac:`145`). -- Fixed negative offset handling of Catalog._set_mime_headers (:trac:`165`). -- Add --project and --version options for commandline (:trac:`173`). -- Add a __ne__() method to the Local class. -- Explicitly sort instead of using sorted() and don't assume ordering - (Python 2.3 and Jython compatibility). -- Removed ValueError raising for string formatting message checkers if the - string does not contain any string formattings (:trac:`150`). -- Fix Serbian plural forms (:trac:`213`). -- Small speed improvement in format_date() (:trac:`216`). -- Fix number formatting for locales where CLDR specifies alt or draft - items (:trac:`217`) -- Fix bad check in format_time (:trac:`257`, reported with patch and tests by - jomae) -- Fix so frontend.CommandLineInterface.run does not accumulate logging - handlers (:trac:`227`, reported with initial patch by dfraser) -- Fix exception if environment contains an invalid locale setting - (:trac:`200`) - - -Version 0.9.5 -------------- - -(released on April 6th 2010) - -- Fixed the case where messages containing square brackets would break with - an unpack error. -- Backport of r467: Fuzzy matching regarding plurals should *NOT* be checked - against len(message.id) because this is always 2, instead, it's should be - checked against catalog.num_plurals (:trac:`212`). - - -Version 0.9.4 -------------- - -(released on August 25th 2008) - -- Currency symbol definitions that is defined with choice patterns in the - CLDR data are no longer imported, so the symbol code will be used instead. -- Fixed quarter support in date formatting. -- Fixed a serious memory leak that was introduces by the support for CLDR - aliases in 0.9.3 (:trac:`128`). -- Locale modifiers such as "@euro" are now stripped from locale identifiers - when parsing (:trac:`136`). -- The system locales "C" and "POSIX" are now treated as aliases for - "en_US_POSIX", for which the CLDR provides the appropriate data. Thanks to - Manlio Perillo for the suggestion. -- Fixed JavaScript extraction for regular expression literals (:trac:`138`) - and concatenated strings. -- The `Translation` class in `babel.support` can now manage catalogs with - different message domains, and exposes the family of `d*gettext` functions - (:trac:`137`). - - -Version 0.9.3 -------------- - -(released on July 9th 2008) - -- Fixed invalid message extraction methods causing an UnboundLocalError. -- Extraction method specification can now use a dot instead of the colon to - separate module and function name (:trac:`105`). -- Fixed message catalog compilation for locales with more than two plural - forms (:trac:`95`). -- Fixed compilation of message catalogs for locales with more than two plural - forms where the translations were empty (:trac:`97`). -- The stripping of the comment tags in comments is optional now and - is done for each line in a comment. -- Added a JavaScript message extractor. -- Updated to CLDR 1.6. -- Fixed timezone calculations when formatting datetime and time values. -- Added a `get_plural` function into the plurals module that returns the - correct plural forms for a locale as tuple. -- Added support for alias definitions in the CLDR data files, meaning that - the chance for items missing in certain locales should be greatly reduced - (:trac:`68`). - - -Version 0.9.2 -------------- - -(released on February 4th 2008) - -- Fixed catalogs' charset values not being recognized (:trac:`66`). -- Numerous improvements to the default plural forms. -- Fixed fuzzy matching when updating message catalogs (:trac:`82`). -- Fixed bug in catalog updating, that in some cases pulled in translations - from different catalogs based on the same template. -- Location lines in PO files do no longer get wrapped at hyphens in file - names (:trac:`79`). -- Fixed division by zero error in catalog compilation on empty catalogs - (:trac:`60`). - - -Version 0.9.1 -------------- - -(released on September 7th 2007) - -- Fixed catalog updating when a message is merged that was previously simple - but now has a plural form, for example by moving from `gettext` to - `ngettext`, or vice versa. -- Fixed time formatting for 12 am and 12 pm. -- Fixed output encoding of the `pybabel --list-locales` command. -- MO files are now written in binary mode on windows (:trac:`61`). - - -Version 0.9 ------------ - -(released on August 20th 2007) - -- The `new_catalog` distutils command has been renamed to `init_catalog` for - consistency with the command-line frontend. -- Added compilation of message catalogs to MO files (:trac:`21`). -- Added updating of message catalogs from POT files (:trac:`22`). -- Support for significant digits in number formatting. -- Apply proper "banker's rounding" in number formatting in a cross-platform - manner. -- The number formatting functions now also work with numbers represented by - Python `Decimal` objects (:trac:`53`). -- Added extensible infrastructure for validating translation catalogs. -- Fixed the extractor not filtering out messages that didn't validate against - the keyword's specification (:trac:`39`). -- Fixed the extractor raising an exception when encountering an empty string - msgid. It now emits a warning to stderr. -- Numerous Python message extractor fixes: it now handles nested function - calls within a gettext function call correctly, uses the correct line number - for multi-line function calls, and other small fixes (tickets :trac:`38` and - :trac:`39`). -- Improved support for detecting Python string formatting fields in message - strings (:trac:`57`). -- CLDR upgraded to the 1.5 release. -- Improved timezone formatting. -- Implemented scientific number formatting. -- Added mechanism to lookup locales by alias, for cases where browsers insist - on including only the language code in the `Accept-Language` header, and - sometimes even the incorrect language code. - - -Version 0.8.1 -------------- - -(released on July 2nd 2007) - -- `default_locale()` would fail when the value of the `LANGUAGE` environment - variable contained multiple language codes separated by colon, as is - explicitly allowed by the GNU gettext tools. As the `default_locale()` - function is called at the module level in some modules, this bug would - completely break importing these modules on systems where `LANGUAGE` is set - that way. -- The character set specified in PO template files is now respected when - creating new catalog files based on that template. This allows the use of - characters outside the ASCII range in POT files (:trac:`17`). -- The default ordering of messages in generated POT files, which is based on - the order those messages are found when walking the source tree, is no - longer subject to differences between platforms; directory and file names - are now always sorted alphabetically. -- The Python message extractor now respects the special encoding comment to be - able to handle files containing non-ASCII characters (:trac:`23`). -- Added ``N_`` (gettext noop) to the extractor's default keywords. -- Made locale string parsing more robust, and also take the script part into - account (:trac:`27`). -- Added a function to list all locales for which locale data is available. -- Added a command-line option to the `pybabel` command which prints out all - available locales (:trac:`24`). -- The name of the command-line script has been changed from just `babel` to - `pybabel` to avoid a conflict with the OpenBabel project (:trac:`34`). - - -Version 0.8 ------------ - -(released on June 20th 2007) - -- First public release diff --git a/CHANGES.rst b/CHANGES.rst new file mode 100644 index 0000000..6e84fe9 --- /dev/null +++ b/CHANGES.rst @@ -0,0 +1,725 @@ +Babel Changelog +=============== + +Version 2.9.1 +------------- + +Bugfixes +~~~~~~~~ + +* The internal locale-data loading functions now validate the name of the locale file to be loaded and only + allow files within Babel's data directory. Thank you to Chris Lyne of Tenable, Inc. for discovering the issue! + +Version 2.9.0 +------------- + +Upcoming version support changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* This version, Babel 2.9, is the last version of Babel to support Python 2.7, Python 3.4, and Python 3.5. + +Improvements +~~~~~~~~~~~~ + +* CLDR: Use CLDR 37 – Aarni Koskela (:gh:`734`) +* Dates: Handle ZoneInfo objects in get_timezone_location, get_timezone_name - Alessio Bogon (:gh:`741`) +* Numbers: Add group_separator feature in number formatting - Abdullah Javed Nesar (:gh:`726`) + +Bugfixes +~~~~~~~~ + +* Dates: Correct default Format().timedelta format to 'long' to mute deprecation warnings – Aarni Koskela +* Import: Simplify iteration code in "import_cldr.py" – Felix Schwarz +* Import: Stop using deprecated ElementTree methods "getchildren()" and "getiterator()" – Felix Schwarz +* Messages: Fix unicode printing error on Python 2 without TTY. – Niklas Hambüchen +* Messages: Introduce invariant that _invalid_pofile() takes unicode line. – Niklas Hambüchen +* Tests: fix tests when using Python 3.9 – Felix Schwarz +* Tests: Remove deprecated 'sudo: false' from Travis configuration – Jon Dufresne +* Tests: Support Py.test 6.x – Aarni Koskela +* Utilities: LazyProxy: Handle AttributeError in specified func – Nikiforov Konstantin (:gh:`724`) +* Utilities: Replace usage of parser.suite with ast.parse – Miro Hrončok + +Documentation +~~~~~~~~~~~~~ + +* Update parse_number comments – Brad Martin (:gh:`708`) +* Add __iter__ to Catalog documentation – @CyanNani123 + +Version 2.8.1 +------------- + +This is solely a patch release to make running tests on Py.test 6+ possible. + +Bugfixes +~~~~~~~~ + +* Support Py.test 6 - Aarni Koskela (:gh:`747`, :gh:`750`, :gh:`752`) + +Version 2.8.0 +------------- + +Improvements +~~~~~~~~~~~~ + +* CLDR: Upgrade to CLDR 36.0 - Aarni Koskela (:gh:`679`) +* Messages: Don't even open files with the "ignore" extraction method - @sebleblanc (:gh:`678`) + +Bugfixes +~~~~~~~~ + +* Numbers: Fix formatting very small decimals when quantization is disabled - Lev Lybin, @miluChen (:gh:`662`) +* Messages: Attempt to sort all messages – Mario Frasca (:gh:`651`, :gh:`606`) + +Docs +~~~~ + +* Add years to changelog - Romuald Brunet +* Note that installation requires pytz - Steve (Gadget) Barnes + +Version 2.7.0 +------------- + +Possibly incompatible changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +These may be backward incompatible in some cases, as some more-or-less internal +APIs have changed. Please feel free to file issues if you bump into anything +strange and we'll try to help! + +* General: Internal uses of ``babel.util.odict`` have been replaced with + ``collections.OrderedDict`` from The Python standard library. + +Improvements +~~~~~~~~~~~~ + +* CLDR: Upgrade to CLDR 35.1 - Alberto Mardegan, Aarni Koskela (:gh:`626`, :gh:`643`) +* General: allow anchoring path patterns to the start of a string - Brian Cappello (:gh:`600`) +* General: Bumped version requirement on pytz - @chrisbrake (:gh:`592`) +* Messages: `pybabel compile`: exit with code 1 if errors were encountered - Aarni Koskela (:gh:`647`) +* Messages: Add omit-header to update_catalog - Cédric Krier (:gh:`633`) +* Messages: Catalog update: keep user comments from destination by default - Aarni Koskela (:gh:`648`) +* Messages: Skip empty message when writing mo file - Cédric Krier (:gh:`564`) +* Messages: Small fixes to avoid crashes on badly formatted .po files - Bryn Truscott (:gh:`597`) +* Numbers: `parse_decimal()` `strict` argument and `suggestions` - Charly C (:gh:`590`) +* Numbers: don't repeat suggestions in parse_decimal strict - Serban Constantin (:gh:`599`) +* Numbers: implement currency formatting with long display names - Luke Plant (:gh:`585`) +* Numbers: parse_decimal(): assume spaces are equivalent to non-breaking spaces when not in strict mode - Aarni Koskela (:gh:`649`) +* Performance: Cache locale_identifiers() - Aarni Koskela (:gh:`644`) + +Bugfixes +~~~~~~~~ + +* CLDR: Skip alt=... for week data (minDays, firstDay, weekendStart, weekendEnd) - Aarni Koskela (:gh:`634`) +* Dates: Fix wrong weeknumber for 31.12.2018 - BT-sschmid (:gh:`621`) +* Locale: Avoid KeyError trying to get data on WindowsXP - mondeja (:gh:`604`) +* Locale: get_display_name(): Don't attempt to concatenate variant information to None - Aarni Koskela (:gh:`645`) +* Messages: pofile: Add comparison operators to _NormalizedString - Aarni Koskela (:gh:`646`) +* Messages: pofile: don't crash when message.locations can't be sorted - Aarni Koskela (:gh:`646`) + +Tooling & docs +~~~~~~~~~~~~~~ + +* Docs: Remove all references to deprecated easy_install - Jon Dufresne (:gh:`610`) +* Docs: Switch print statement in docs to print function - NotAFile +* Docs: Update all pypi.python.org URLs to pypi.org - Jon Dufresne (:gh:`587`) +* Docs: Use https URLs throughout project where available - Jon Dufresne (:gh:`588`) +* Support: Add testing and document support for Python 3.7 - Jon Dufresne (:gh:`611`) +* Support: Test on Python 3.8-dev - Aarni Koskela (:gh:`642`) +* Support: Using ABCs from collections instead of collections.abc is deprecated. - Julien Palard (:gh:`609`) +* Tests: Fix conftest.py compatibility with pytest 4.3 - Miro Hrončok (:gh:`635`) +* Tests: Update pytest and pytest-cov - Miro Hrončok (:gh:`635`) + +Version 2.6.0 +------------- + +Possibly incompatible changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +These may be backward incompatible in some cases, as some more-or-less internal APIs have changed. +Please feel free to file issues if you bump into anything strange and we'll try to help! + +* Numbers: Refactor decimal handling code and allow bypass of decimal quantization. (@kdeldycke) (PR :gh:`538`) +* Messages: allow processing files that are in locales unknown to Babel (@akx) (PR :gh:`557`) +* General: Drop support for EOL Python 2.6 and 3.3 (@hugovk) (PR :gh:`546`) + +Other changes +~~~~~~~~~~~~~ + +* CLDR: Use CLDR 33 (@akx) (PR :gh:`581`) +* Lists: Add support for various list styles other than the default (@akx) (:gh:`552`) +* Messages: Add new PoFileError exception (@Bedrock02) (PR :gh:`532`) +* Times: Simplify Linux distro specific explicit timezone setting search (@scop) (PR :gh:`528`) + +Bugfixes +~~~~~~~~ + +* CLDR: avoid importing alt=narrow currency symbols (@akx) (PR :gh:`558`) +* CLDR: ignore non-Latin numbering systems (@akx) (PR :gh:`579`) +* Docs: Fix improper example for date formatting (@PTrottier) (PR :gh:`574`) +* Tooling: Fix some deprecation warnings (@akx) (PR :gh:`580`) + +Tooling & docs +~~~~~~~~~~~~~~ + +* Add explicit signatures to some date autofunctions (@xmo-odoo) (PR :gh:`554`) +* Include license file in the generated wheel package (@jdufresne) (PR :gh:`539`) +* Python 3.6 invalid escape sequence deprecation fixes (@scop) (PR :gh:`528`) +* Test and document all supported Python versions (@jdufresne) (PR :gh:`540`) +* Update copyright header years and authors file (@akx) (PR :gh:`559`) + + +Version 2.5.3 +------------- + +This is a maintenance release that reverts undesired API-breaking changes that slipped into 2.5.2 +(see :gh:`550`). + +It is based on v2.5.1 (f29eccd) with commits 7cedb84, 29da2d2 and edfb518 cherry-picked on top. + +Version 2.5.2 +------------- + +Bugfixes +~~~~~~~~ + +* Revert the unnecessary PyInstaller fixes from 2.5.0 and 2.5.1 (:gh:`533`) (@yagebu) + +Version 2.5.1 +------------- + +Minor Improvements and bugfixes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Use a fixed datetime to avoid test failures (:gh:`520`) (@narendravardi) +* Parse multi-line __future__ imports better (:gh:`519`) (@akx) +* Fix validate_currency docstring (:gh:`522`) +* Allow normalize_locale and exists to handle various unexpected inputs (:gh:`523`) (@suhojm) +* Make PyInstaller support more robust (:gh:`525`, :gh:`526`) (@thijstriemstra, @akx) + + +Version 2.5.0 +------------- + +New Features +~~~~~~~~~~~~ + +* Numbers: Add currency utilities and helpers (:gh:`491`) (@kdeldycke) +* Support PyInstaller (:gh:`500`, :gh:`505`) (@wodo) + +Minor Improvements and bugfixes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Dates: Add __str__ to DateTimePattern (:gh:`515`) (@sfermigier) +* Dates: Fix an invalid string to bytes comparison when parsing TZ files on Py3 (:gh:`498`) (@rowillia) +* Dates: Formatting zero-padded components of dates is faster (:gh:`517`) (@akx) +* Documentation: Fix "Good Commits" link in CONTRIBUTING.md (:gh:`511`) (@naryanacharya6) +* Documentation: Fix link to Python gettext module (:gh:`512`) (@Linkid) +* Messages: Allow both dash and underscore separated locale identifiers in pofiles (:gh:`489`, :gh:`490`) (@akx) +* Messages: Extract Python messages in nested gettext calls (:gh:`488`) (@sublee) +* Messages: Fix in-place editing of dir list while iterating (:gh:`476`, :gh:`492`) (@MarcDufresne) +* Messages: Stabilize sort order (:gh:`482`) (@xavfernandez) +* Time zones: Honor the no-inherit marker for metazone names (:gh:`405`) (@akx) + + +Version 2.4.0 +------------- + +New Features +~~~~~~~~~~~~ + +Some of these changes might break your current code and/or tests. + +* CLDR: CLDR 29 is now used instead of CLDR 28 (:gh:`405`) (@akx) +* Messages: Add option 'add_location' for location line formatting (:gh:`438`, :gh:`459`) (@rrader, @alxpy) +* Numbers: Allow full control of decimal behavior (:gh:`410`) (@etanol) + +Minor Improvements and bugfixes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Documentation: Improve Date Fields descriptions (:gh:`450`) (@ldwoolley) +* Documentation: Typo fixes and documentation improvements (:gh:`406`, :gh:`412`, :gh:`403`, :gh:`440`, :gh:`449`, :gh:`463`) (@zyegfryed, @adamchainz, @jwilk, @akx, @roramirez, @abhishekcs10) +* Messages: Default to UTF-8 source encoding instead of ISO-8859-1 (:gh:`399`) (@asottile) +* Messages: Ensure messages are extracted in the order they were passed in (:gh:`424`) (@ngrilly) +* Messages: Message extraction for JSX files is improved (:gh:`392`, :gh:`396`, :gh:`425`) (@karloskar, @georgschoelly) +* Messages: PO file reading supports multi-line obsolete units (:gh:`429`) (@mbirtwell) +* Messages: Python message extractor respects unicode_literals in __future__ (:gh:`427`) (@sublee) +* Messages: Roundtrip Language headers (:gh:`420`) (@kruton) +* Messages: units before obsolete units are no longer erroneously marked obsolete (:gh:`452`) (@mbirtwell) +* Numbers: `parse_pattern` now preserves the full original pattern (:gh:`414`) (@jtwang) +* Numbers: Fix float conversion in `extract_operands` (:gh:`435`) (@akx) +* Plurals: Fix plural forms for Czech and Slovak locales (:gh:`373`) (@ykshatroff) +* Plurals: More plural form fixes based on Mozilla and CLDR references (:gh:`431`) (@mshenfield) + + +Internal improvements +~~~~~~~~~~~~~~~~~~~~~ + +* Local times are constructed correctly in tests (:gh:`411`) (@etanol) +* Miscellaneous small improvements (:gh:`437`) (@scop) +* Regex flags are extracted from the regex strings (:gh:`462`) (@singingwolfboy) +* The PO file reader is now a class and has seen some refactoring (:gh:`429`, :gh:`452`) (@mbirtwell) + + +Version 2.3.4 +------------- + +(Bugfix release, released on April 22th 2016) + +Bugfixes +~~~~~~~~ + +* CLDR: The lxml library is no longer used for CLDR importing, so it should not cause strange failures either. Thanks to @aronbierbaum for the bug report and @jtwang for the fix. (https://github.com/python-babel/babel/pull/393) +* CLI: Every last single CLI usage regression should now be gone, and both distutils and stand-alone CLIs should work as they have in the past. Thanks to @paxswill and @ajaeger for bug reports. (https://github.com/python-babel/babel/pull/389) + +Version 2.3.3 +------------- + +(Bugfix release, released on April 12th 2016) + +Bugfixes +~~~~~~~~ + +* CLI: Usage regressions that had snuck in between 2.2 and 2.3 should be no more. (https://github.com/python-babel/babel/pull/386) Thanks to @ajaeger, @sebdiem and @jcristovao for bug reports and patches. + +Version 2.3.2 +------------- + +(Bugfix release, released on April 9th 2016) + +Bugfixes +~~~~~~~~ + +* Dates: Period (am/pm) formatting was broken in certain locales (namely zh_TW). Thanks to @jun66j5 for the bug report. (:gh:`378`, :gh:`379`) + +Version 2.3.1 +------------- + +(Bugfix release because of deployment problems, released on April 8th 2016) + +Version 2.3 +----------- + +(Feature release, released on April 8th 2016) + +Internal improvements +~~~~~~~~~~~~~~~~~~~~~ + +* The CLI frontend and Distutils commands use a shared implementation (https://github.com/python-babel/babel/pull/311) +* PyPy3 is supported (https://github.com/python-babel/babel/pull/343) + +Features +~~~~~~~~ + +* CLDR: Add an API for territory language data (https://github.com/python-babel/babel/pull/315) +* Core: Character order and measurement system data is imported and exposed (https://github.com/python-babel/babel/pull/368) +* Dates: Add an API for time interval formatting (https://github.com/python-babel/babel/pull/316) +* Dates: More pattern formats and lengths are supported (https://github.com/python-babel/babel/pull/347) +* Dates: Period IDs are imported and exposed (https://github.com/python-babel/babel/pull/349) +* Dates: Support for date-time skeleton formats has been added (https://github.com/python-babel/babel/pull/265) +* Dates: Timezone formatting has been improved (https://github.com/python-babel/babel/pull/338) +* Messages: JavaScript extraction now supports dotted names, ES6 template strings and JSX tags (https://github.com/python-babel/babel/pull/332) +* Messages: npgettext is recognized by default (https://github.com/python-babel/babel/pull/341) +* Messages: The CLI learned to accept multiple domains (https://github.com/python-babel/babel/pull/335) +* Messages: The extraction commands now accept filenames in addition to directories (https://github.com/python-babel/babel/pull/324) +* Units: A new API for unit formatting is implemented (https://github.com/python-babel/babel/pull/369) + +Bugfixes +~~~~~~~~ + +* Core: Mixed-case locale IDs work more reliably (https://github.com/python-babel/babel/pull/361) +* Dates: S...S formats work correctly now (https://github.com/python-babel/babel/pull/360) +* Messages: All messages are now sorted correctly if sorting has been specified (https://github.com/python-babel/babel/pull/300) +* Messages: Fix the unexpected behavior caused by catalog header updating (e0e7ef1) (https://github.com/python-babel/babel/pull/320) +* Messages: Gettext operands are now generated correctly (https://github.com/python-babel/babel/pull/295) +* Messages: Message extraction has been taught to detect encodings better (https://github.com/python-babel/babel/pull/274) + +Version 2.2 +----------- + +(Feature release, released on January 2nd 2016) + +Bugfixes +~~~~~~~~ + +* General: Add __hash__ to Locale. (:gh:`303`) (2aa8074) +* General: Allow files with BOM if they're UTF-8 (:gh:`189`) (da87edd) +* General: localedata directory is now locale-data (:gh:`109`) (2d1882e) +* General: odict: Fix pop method (0a9e97e) +* General: Removed uses of datetime.date class from .dat files (:gh:`174`) (94f6830) +* Messages: Fix plural selection for Chinese (531f666) +* Messages: Fix typo and add semicolon in plural_forms (5784501) +* Messages: Flatten NullTranslations.files into a list (ad11101) +* Times: FixedOffsetTimezone: fix display of negative offsets (d816803) + +Features +~~~~~~~~ + +* CLDR: Update to CLDR 28 (:gh:`292`) (9f7f4d0) +* General: Add __copy__ and __deepcopy__ to LazyProxy. (a1cc3f1) +* General: Add official support for Python 3.4 and 3.5 +* General: Improve odict performance by making key search O(1) (6822b7f) +* Locale: Add an ordinal_form property to Locale (:gh:`270`) (b3f3430) +* Locale: Add support for list formatting (37ce4fa, be6e23d) +* Locale: Check inheritance exceptions first (3ef0d6d) +* Messages: Allow file locations without line numbers (:gh:`279`) (79bc781) +* Messages: Allow passing a callable to `extract()` (:gh:`289`) (3f58516) +* Messages: Support 'Language' header field of PO files (:gh:`76`) (3ce842b) +* Messages: Update catalog headers from templates (e0e7ef1) +* Numbers: Properly load and expose currency format types (:gh:`201`) (df676ab) +* Numbers: Use cdecimal by default when available (b6169be) +* Numbers: Use the CLDR's suggested number of decimals for format_currency (:gh:`139`) (201ed50) +* Times: Add format_timedelta(format='narrow') support (edc5eb5) + +Version 2.1 +----------- + +(Bugfix/minor feature release, released on September 25th 2015) + +- Parse and honour the locale inheritance exceptions + (:gh:`97`) +- Fix Locale.parse using ``global.dat`` incompatible types + (:gh:`174`) +- Fix display of negative offsets in ``FixedOffsetTimezone`` + (:gh:`214`) +- Improved odict performance which is used during localization file + build, should improve compilation time for large projects +- Add support for "narrow" format for ``format_timedelta`` +- Add universal wheel support +- Support 'Language' header field in .PO files + (fixes :gh:`76`) +- Test suite enhancements (coverage, broken tests fixed, etc) +- Documentation updated + +Version 2.0 +----------- + +(Released on July 27th 2015, codename Second Coming) + +- Added support for looking up currencies that belong to a territory + through the :func:`babel.numbers.get_territory_currencies` + function. +- Improved Python 3 support. +- Fixed some broken tests for timezone behavior. +- Improved various smaller things for dealing with dates. + +Version 1.4 +----------- + +(bugfix release, release date to be decided) + +- Fixed a bug that caused deprecated territory codes not being + converted properly by the subtag resolving. This for instance + showed up when trying to use ``und_UK`` as a language code + which now properly resolves to ``en_GB``. +- Fixed a bug that made it impossible to import the CLDR data + from scratch on windows systems. + +Version 1.3 +----------- + +(bugfix release, released on July 29th 2013) + +- Fixed a bug in likely-subtag resolving for some common locales. + This primarily makes ``zh_CN`` work again which was broken + due to how it was defined in the likely subtags combined with + our broken resolving. This fixes :gh:`37`. +- Fixed a bug that caused pybabel to break when writing to stdout + on Python 3. +- Removed a stray print that was causing issues when writing to + stdout for message catalogs. + +Version 1.2 +----------- + +(bugfix release, released on July 27th 2013) + +- Included all tests in the tarball. Previously the include + skipped past recursive folders. +- Changed how tests are invoked and added separate standalone + test command. This simplifies testing of the package for + linux distributors. + +Version 1.1 +----------- + +(bugfix release, released on July 27th 2013) + +- added dummy version requirements for pytz so that it installs + on pip 1.4. +- Included tests in the tarball. + +Version 1.0 +----------- + +(Released on July 26th 2013, codename Revival) + +- support python 2.6, 2.7, 3.3+ and pypy - drop all other versions +- use tox for testing on different pythons +- Added support for the locale plural rules defined by the CLDR. +- Added `format_timedelta` function to support localized formatting of + relative times with strings such as "2 days" or "1 month" (:trac:`126`). +- Fixed negative offset handling of Catalog._set_mime_headers (:trac:`165`). +- Fixed the case where messages containing square brackets would break with + an unpack error. +- updated to CLDR 23 +- Make the CLDR import script work with Python 2.7. +- Fix various typos. +- Sort output of list-locales. +- Make the POT-Creation-Date of the catalog being updated equal to + POT-Creation-Date of the template used to update (:trac:`148`). +- Use a more explicit error message if no option or argument (command) is + passed to pybabel (:trac:`81`). +- Keep the PO-Revision-Date if it is not the default value (:trac:`148`). +- Make --no-wrap work by reworking --width's default and mimic xgettext's + behaviour of always wrapping comments (:trac:`145`). +- Add --project and --version options for commandline (:trac:`173`). +- Add a __ne__() method to the Local class. +- Explicitly sort instead of using sorted() and don't assume ordering + (Jython compatibility). +- Removed ValueError raising for string formatting message checkers if the + string does not contain any string formattings (:trac:`150`). +- Fix Serbian plural forms (:trac:`213`). +- Small speed improvement in format_date() (:trac:`216`). +- Fix so frontend.CommandLineInterface.run does not accumulate logging + handlers (:trac:`227`, reported with initial patch by dfraser) +- Fix exception if environment contains an invalid locale setting + (:trac:`200`) +- use cPickle instead of pickle for better performance (:trac:`225`) +- Only use bankers round algorithm as a tie breaker if there are two nearest + numbers, round as usual if there is only one nearest number (:trac:`267`, + patch by Martin) +- Allow disabling cache behaviour in LazyProxy (:trac:`208`, initial patch + from Pedro Algarvio) +- Support for context-aware methods during message extraction (:trac:`229`, + patch from David Rios) +- "init" and "update" commands support "--no-wrap" option (:trac:`289`) +- fix formatting of fraction in format_decimal() if the input value is a float + with more than 7 significant digits (:trac:`183`) +- fix format_date() with datetime parameter (:trac:`282`, patch from Xavier + Morel) +- fix format_decimal() with small Decimal values (:trac:`214`, patch from + George Lund) +- fix handling of messages containing '\\n' (:trac:`198`) +- handle irregular multi-line msgstr (no "" as first line) gracefully + (:trac:`171`) +- parse_decimal() now returns Decimals not floats, API change (:trac:`178`) +- no warnings when running setup.py without installed setuptools (:trac:`262`) +- modified Locale.__eq__ method so Locales are only equal if all of their + attributes (language, territory, script, variant) are equal +- resort to hard-coded message extractors/checkers if pkg_resources is + installed but no egg-info was found (:trac:`230`) +- format_time() and format_datetime() now accept also floats (:trac:`242`) +- add babel.support.NullTranslations class similar to gettext.NullTranslations + but with all of Babel's new gettext methods (:trac:`277`) +- "init" and "update" commands support "--width" option (:trac:`284`) +- fix 'input_dirs' option for setuptools integration (:trac:`232`, initial + patch by Étienne Bersac) +- ensure .mo file header contains the same information as the source .po file + (:trac:`199`) +- added support for get_language_name() on the locale objects. +- added support for get_territory_name() on the locale objects. +- added support for get_script_name() on the locale objects. +- added pluralization support for currency names and added a '¤¤¤' + pattern for currencies that includes the full name. +- depend on pytz now and wrap it nicer. This gives us improved support + for things like timezone transitions and an overall nicer API. +- Added support for explicit charset to PO file reading. +- Added experimental Python 3 support. +- Added better support for returning timezone names. +- Don't throw away a Catalog's obsolete messages when updating it. +- Added basic likelySubtag resolving when doing locale parsing and no + match can be found. + + +Version 0.9.6 +------------- + +(released on March 17th 2011) + +- Backport r493-494: documentation typo fixes. +- Make the CLDR import script work with Python 2.7. +- Fix various typos. +- Fixed Python 2.3 compatibility (:trac:`146`, :trac:`233`). +- Sort output of list-locales. +- Make the POT-Creation-Date of the catalog being updated equal to + POT-Creation-Date of the template used to update (:trac:`148`). +- Use a more explicit error message if no option or argument (command) is + passed to pybabel (:trac:`81`). +- Keep the PO-Revision-Date if it is not the default value (:trac:`148`). +- Make --no-wrap work by reworking --width's default and mimic xgettext's + behaviour of always wrapping comments (:trac:`145`). +- Fixed negative offset handling of Catalog._set_mime_headers (:trac:`165`). +- Add --project and --version options for commandline (:trac:`173`). +- Add a __ne__() method to the Local class. +- Explicitly sort instead of using sorted() and don't assume ordering + (Python 2.3 and Jython compatibility). +- Removed ValueError raising for string formatting message checkers if the + string does not contain any string formattings (:trac:`150`). +- Fix Serbian plural forms (:trac:`213`). +- Small speed improvement in format_date() (:trac:`216`). +- Fix number formatting for locales where CLDR specifies alt or draft + items (:trac:`217`) +- Fix bad check in format_time (:trac:`257`, reported with patch and tests by + jomae) +- Fix so frontend.CommandLineInterface.run does not accumulate logging + handlers (:trac:`227`, reported with initial patch by dfraser) +- Fix exception if environment contains an invalid locale setting + (:trac:`200`) + + +Version 0.9.5 +------------- + +(released on April 6th 2010) + +- Fixed the case where messages containing square brackets would break with + an unpack error. +- Backport of r467: Fuzzy matching regarding plurals should *NOT* be checked + against len(message.id) because this is always 2, instead, it's should be + checked against catalog.num_plurals (:trac:`212`). + + +Version 0.9.4 +------------- + +(released on August 25th 2008) + +- Currency symbol definitions that is defined with choice patterns in the + CLDR data are no longer imported, so the symbol code will be used instead. +- Fixed quarter support in date formatting. +- Fixed a serious memory leak that was introduces by the support for CLDR + aliases in 0.9.3 (:trac:`128`). +- Locale modifiers such as "@euro" are now stripped from locale identifiers + when parsing (:trac:`136`). +- The system locales "C" and "POSIX" are now treated as aliases for + "en_US_POSIX", for which the CLDR provides the appropriate data. Thanks to + Manlio Perillo for the suggestion. +- Fixed JavaScript extraction for regular expression literals (:trac:`138`) + and concatenated strings. +- The `Translation` class in `babel.support` can now manage catalogs with + different message domains, and exposes the family of `d*gettext` functions + (:trac:`137`). + + +Version 0.9.3 +------------- + +(released on July 9th 2008) + +- Fixed invalid message extraction methods causing an UnboundLocalError. +- Extraction method specification can now use a dot instead of the colon to + separate module and function name (:trac:`105`). +- Fixed message catalog compilation for locales with more than two plural + forms (:trac:`95`). +- Fixed compilation of message catalogs for locales with more than two plural + forms where the translations were empty (:trac:`97`). +- The stripping of the comment tags in comments is optional now and + is done for each line in a comment. +- Added a JavaScript message extractor. +- Updated to CLDR 1.6. +- Fixed timezone calculations when formatting datetime and time values. +- Added a `get_plural` function into the plurals module that returns the + correct plural forms for a locale as tuple. +- Added support for alias definitions in the CLDR data files, meaning that + the chance for items missing in certain locales should be greatly reduced + (:trac:`68`). + + +Version 0.9.2 +------------- + +(released on February 4th 2008) + +- Fixed catalogs' charset values not being recognized (:trac:`66`). +- Numerous improvements to the default plural forms. +- Fixed fuzzy matching when updating message catalogs (:trac:`82`). +- Fixed bug in catalog updating, that in some cases pulled in translations + from different catalogs based on the same template. +- Location lines in PO files do no longer get wrapped at hyphens in file + names (:trac:`79`). +- Fixed division by zero error in catalog compilation on empty catalogs + (:trac:`60`). + + +Version 0.9.1 +------------- + +(released on September 7th 2007) + +- Fixed catalog updating when a message is merged that was previously simple + but now has a plural form, for example by moving from `gettext` to + `ngettext`, or vice versa. +- Fixed time formatting for 12 am and 12 pm. +- Fixed output encoding of the `pybabel --list-locales` command. +- MO files are now written in binary mode on windows (:trac:`61`). + + +Version 0.9 +----------- + +(released on August 20th 2007) + +- The `new_catalog` distutils command has been renamed to `init_catalog` for + consistency with the command-line frontend. +- Added compilation of message catalogs to MO files (:trac:`21`). +- Added updating of message catalogs from POT files (:trac:`22`). +- Support for significant digits in number formatting. +- Apply proper "banker's rounding" in number formatting in a cross-platform + manner. +- The number formatting functions now also work with numbers represented by + Python `Decimal` objects (:trac:`53`). +- Added extensible infrastructure for validating translation catalogs. +- Fixed the extractor not filtering out messages that didn't validate against + the keyword's specification (:trac:`39`). +- Fixed the extractor raising an exception when encountering an empty string + msgid. It now emits a warning to stderr. +- Numerous Python message extractor fixes: it now handles nested function + calls within a gettext function call correctly, uses the correct line number + for multi-line function calls, and other small fixes (tickets :trac:`38` and + :trac:`39`). +- Improved support for detecting Python string formatting fields in message + strings (:trac:`57`). +- CLDR upgraded to the 1.5 release. +- Improved timezone formatting. +- Implemented scientific number formatting. +- Added mechanism to lookup locales by alias, for cases where browsers insist + on including only the language code in the `Accept-Language` header, and + sometimes even the incorrect language code. + + +Version 0.8.1 +------------- + +(released on July 2nd 2007) + +- `default_locale()` would fail when the value of the `LANGUAGE` environment + variable contained multiple language codes separated by colon, as is + explicitly allowed by the GNU gettext tools. As the `default_locale()` + function is called at the module level in some modules, this bug would + completely break importing these modules on systems where `LANGUAGE` is set + that way. +- The character set specified in PO template files is now respected when + creating new catalog files based on that template. This allows the use of + characters outside the ASCII range in POT files (:trac:`17`). +- The default ordering of messages in generated POT files, which is based on + the order those messages are found when walking the source tree, is no + longer subject to differences between platforms; directory and file names + are now always sorted alphabetically. +- The Python message extractor now respects the special encoding comment to be + able to handle files containing non-ASCII characters (:trac:`23`). +- Added ``N_`` (gettext noop) to the extractor's default keywords. +- Made locale string parsing more robust, and also take the script part into + account (:trac:`27`). +- Added a function to list all locales for which locale data is available. +- Added a command-line option to the `pybabel` command which prints out all + available locales (:trac:`24`). +- The name of the command-line script has been changed from just `babel` to + `pybabel` to avoid a conflict with the OpenBabel project (:trac:`34`). + + +Version 0.8 +----------- + +(released on June 20th 2007) + +- First public release diff --git a/MANIFEST.in b/MANIFEST.in index 6c1e7af..1b79ce1 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,4 @@ -include Makefile CHANGES LICENSE AUTHORS +include Makefile CHANGES.rst LICENSE AUTHORS include conftest.py tox.ini include babel/global.dat include babel/locale-data/*.dat diff --git a/docs/changelog.rst b/docs/changelog.rst index d6c5f48..d9e113e 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1 +1 @@ -.. include:: ../CHANGES +.. include:: ../CHANGES.rst diff --git a/scripts/make-release.py b/scripts/make-release.py index 245608a..f780f0d 100755 --- a/scripts/make-release.py +++ b/scripts/make-release.py @@ -20,7 +20,7 @@ _date_clean_re = re.compile(r'(\d+)(st|nd|rd|th)') def parse_changelog(): - with open('CHANGES') as f: + with open('CHANGES.rst') as f: lineiter = iter(f) for line in lineiter: match = re.search(r'^Version\s+(.*)', line.strip()) -- cgit v1.2.1 From 4f036e07879eb090854cc96a3c03a9353a1b7dac Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 25 Jan 2022 15:40:46 +0200 Subject: Fix Sphinx indentation complaint Refs #801 --- babel/messages/extract.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/babel/messages/extract.py b/babel/messages/extract.py index 0b8ed83..1c94b78 100644 --- a/babel/messages/extract.py +++ b/babel/messages/extract.py @@ -512,8 +512,7 @@ def extract_javascript(fileobj, keywords, comment_tags, options): :param options: a dictionary of additional options (optional) Supported options are: * `jsx` -- set to false to disable JSX/E4X support. - * `template_string` -- set to false to disable ES6 - template string support. + * `template_string` -- set to false to disable ES6 template string support. """ from babel.messages.jslexer import Token, tokenize, unquote_string funcname = message_lineno = None -- cgit v1.2.1 From 381557db365a7e4b3bac66a1f7c23c589b20773c Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 25 Jan 2022 15:50:12 +0200 Subject: Improve number formatting example Fixes #575 --- docs/numbers.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/numbers.rst b/docs/numbers.rst index 058d79e..ed3b60f 100644 --- a/docs/numbers.rst +++ b/docs/numbers.rst @@ -18,13 +18,16 @@ Examples: .. code-block:: pycon + # Numbers with decimal places >>> format_decimal(1.2345, locale='en_US') u'1.234' >>> format_decimal(1.2345, locale='sv_SE') u'1,234' + # Integers with thousand grouping >>> format_decimal(12345, locale='de_DE') u'12.345' - + >>> format_decimal(12345678, locale='de_DE') + u'12.345.678' Pattern Syntax ============== -- cgit v1.2.1 From 167c707606d4d7031e7530e127998d73ce9eb10a Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 25 Jan 2022 16:54:47 +0200 Subject: Refresh cmdline documentation Would have used https://sphinxcontrib-autoprogram.readthedocs.io/en/stable/ if we used argparse... Fixes #771 --- docs/cmdline.rst | 113 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 69 insertions(+), 44 deletions(-) diff --git a/docs/cmdline.rst b/docs/cmdline.rst index c5197e3..91dc4fe 100644 --- a/docs/cmdline.rst +++ b/docs/cmdline.rst @@ -14,9 +14,9 @@ systems. When properly installed, Babel provides a script called ``pybabel``:: $ pybabel --help - usage: pybabel command [options] [args] + Usage: pybabel command [options] [args] - options: + Options: --version show program's version number and exit -h, --help show this help message and exit --list-locales print all known locales and exit @@ -40,24 +40,25 @@ The ``compile`` sub-command can be used to compile translation catalogs into binary MO files:: $ pybabel compile --help - usage: pybabel compile [options] + Usage: pybabel compile [options] compile message catalogs to MO files - options: + Options: -h, --help show this help message and exit -D DOMAIN, --domain=DOMAIN - domain of MO and PO files (default 'messages') - -d DIR, --directory=DIR - base directory of catalog files - -l LOCALE, --locale=LOCALE - locale of the catalog - -i FILE, --input-file=FILE + domains of PO files (space separated list, default + 'messages') + -d DIRECTORY, --directory=DIRECTORY + path to base directory containing the catalogs + -i INPUT_FILE, --input-file=INPUT_FILE name of the input file - -o FILE, --output-file=FILE + -o OUTPUT_FILE, --output-file=OUTPUT_FILE name of the output file (default '//LC_MESSAGES/.mo') - -f, --use-fuzzy also include fuzzy translations (default False) + -l LOCALE, --locale=LOCALE + locale of the catalog to compile + -f, --use-fuzzy also include fuzzy translations --statistics print statistics about translations If ``directory`` is specified, but ``output-file`` is not, the default filename @@ -77,39 +78,53 @@ The ``extract`` sub-command can be used to extract localizable messages from a collection of source files:: $ pybabel extract --help - usage: pybabel extract [options] dir1 ... + Usage: pybabel extract [options] extract messages from source files and generate a POT file - options: + Options: -h, --help show this help message and exit - --charset=CHARSET charset to use in the output (default "utf-8") - -k KEYWORDS, --keyword=KEYWORDS - keywords to look for in addition to the defaults. You - can specify multiple -k flags on the command line. + --charset=CHARSET charset to use in the output file (default "utf-8") + -k KEYWORDS, --keywords=KEYWORDS, --keyword=KEYWORDS + space-separated list of keywords to look for in + addition to the defaults (may be repeated multiple + times) --no-default-keywords do not include the default keywords - -F MAPPING_FILE, --mapping=MAPPING_FILE - path to the extraction mapping file + -F MAPPING_FILE, --mapping-file=MAPPING_FILE, --mapping=MAPPING_FILE + path to the mapping configuration file --no-location do not include location comments with filename and line number + --add-location=ADD_LOCATION + location lines format. If it is not given or "full", + it generates the lines with both file name and line + number. If it is "file", the line number part is + omitted. If it is "never", it completely suppresses + the lines (same as --no-location). --omit-header do not include msgid "" entry in header - -o OUTPUT, --output=OUTPUT - path to the output POT file + -o OUTPUT_FILE, --output-file=OUTPUT_FILE, --output=OUTPUT_FILE + name of the output file -w WIDTH, --width=WIDTH set output line width (default 76) --no-wrap do not break long message lines, longer than the output line width, into several lines --sort-output generate sorted output (default False) --sort-by-file sort output by file location (default False) - --msgid-bugs-address=EMAIL@ADDRESS + --msgid-bugs-address=MSGID_BUGS_ADDRESS set report address for msgid --copyright-holder=COPYRIGHT_HOLDER set copyright holder in output - -c TAG, --add-comments=TAG + --project=PROJECT set project name in output + --version=VERSION set project version in output + -c ADD_COMMENTS, --add-comments=ADD_COMMENTS place comment block with TAG (or those preceding - keyword lines) in output file. One TAG per argument - call + keyword lines) in output file. Separate multiple TAGs + with commas(,) + -s, --strip-comments, --strip-comment-tags + strip the comment TAGs from the comments. + --input-dirs=INPUT_DIRS + alias for input-paths (does allow files as well as + directories). init @@ -119,24 +134,27 @@ The `init` sub-command creates a new translations catalog based on a PO template file:: $ pybabel init --help - usage: pybabel init [options] + Usage: pybabel init [options] create new message catalogs from a POT file - options: + Options: -h, --help show this help message and exit -D DOMAIN, --domain=DOMAIN domain of PO file (default 'messages') - -i FILE, --input-file=FILE + -i INPUT_FILE, --input-file=INPUT_FILE name of the input file - -d DIR, --output-dir=DIR + -d OUTPUT_DIR, --output-dir=OUTPUT_DIR path to output directory - -o FILE, --output-file=FILE + -o OUTPUT_FILE, --output-file=OUTPUT_FILE name of the output file (default '//LC_MESSAGES/.po') -l LOCALE, --locale=LOCALE locale for the new localized catalog - + -w WIDTH, --width=WIDTH + set output line width (default 76) + --no-wrap do not break long message lines, longer than the + output line width, into several lines update ====== @@ -145,29 +163,36 @@ The `update` sub-command updates an existing new translations catalog based on a PO template file:: $ pybabel update --help - usage: pybabel update [options] + Usage: pybabel update [options] update existing message catalogs from a POT file - options: + Options: -h, --help show this help message and exit -D DOMAIN, --domain=DOMAIN domain of PO file (default 'messages') - -i FILE, --input-file=FILE + -i INPUT_FILE, --input-file=INPUT_FILE name of the input file - -d DIR, --output-dir=DIR - path to output directory - -o FILE, --output-file=FILE + -d OUTPUT_DIR, --output-dir=OUTPUT_DIR + path to base directory containing the catalogs + -o OUTPUT_FILE, --output-file=OUTPUT_FILE name of the output file (default '//LC_MESSAGES/.po') + --omit-header do not include msgid entry in header -l LOCALE, --locale=LOCALE - locale of the translations catalog - --ignore-obsolete do not include obsolete messages in the output - (default False) + locale of the catalog to compile + -w WIDTH, --width=WIDTH + set output line width (default 76) + --no-wrap do not break long message lines, longer than the + output line width, into several lines + --ignore-obsolete whether to omit obsolete messages from the output + --init-missing if any output files are missing, initialize them first -N, --no-fuzzy-matching - do not use fuzzy matching (default False) - --previous keep previous msgids of translated messages (default - False) + do not use fuzzy matching + --update-header-comment + update target header comment + --previous keep previous msgids of translated messages + If ``output_dir`` is specified, but ``output-file`` is not, the default filename of the output file will be:: -- cgit v1.2.1 From dc8d3838840ebfbd027c05df4cea860fa134ffd7 Mon Sep 17 00:00:00 2001 From: Aarni Koskela Date: Tue, 25 Jan 2022 17:06:10 +0200 Subject: Fix Sphinx manpage configuration Fixes #775 --- docs/conf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index bb51396..dcee788 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -224,8 +224,7 @@ latex_logo = '_static/logo.png' # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index_', 'babel', u'Babel Documentation', - [u'The Babel Team'], 1) + ('index', 'babel', u'Babel Documentation', [u'The Babel Team'], 1), ] # If true, show URL addresses after external links. -- cgit v1.2.1