All Versions
Latest Version
Avg Release Cycle
88 days
Latest Release
2044 days ago

Changelog History

  • v1.4.0 Changes

    September 12, 2018

    ๐Ÿš€ Biggest release so far!

    • ๐Ÿ‘ Introducing MO files support! Thanks to @Dexus for the implementation.
    • ๐Ÿ“ฆ We have changed the way to parse the plural expressions by implementing our own plural expression parser. Thanks to @Dexus again for the hard work on this! Now this package has no external dependencies, which was a goal to achieve.
    • ๐Ÿ†• New Translator interface allows Locale objects to use any translation source backend (non-gettext).
    • ๐ŸŒ Locale and Po objects now can be serialized. They implement the encoding.BinaryMarshaler and encoding.BinaryUnmarshaler interfaces. This way they can be cached as []byte to avoid translation file parsing in concurrent environments.
    • โž• Added support for Go Modules. Now a project using Go Modules can import this package as a module outside the GOPATH.

    Relevant commits:

  • v1.3.1 Changes

    February 14, 2018

    ๐Ÿš€ Following the changes in v1.3.0, this release includes the same approach for the Locale object methods.

    Relevant commits

  • v1.3.0 Changes

    February 13, 2018

    ๐Ÿš€ This release fixes an issue that made GetN and GetNC use always the "default" context instead of looking into the package configuration.

    ๐Ÿ”จ It also includes a refactoring of the package configuration that allows to be used in multiple concurrent goroutines without having data races.

    ๐Ÿš€ As these 2 changes may conflict with packages using it, by assuming the "default" context on the first, or by introducing deadlocks by the second, we're increasing the minor version number for this release to indicate possible backwards compatibility breaks.

    Starting on this version, we now have Pull Requests and Issues templates to fill in before creating any of these to help contributors provide all necessary information.

    ๐Ÿ›  Relevant issues fixed

    • ๐Ÿ“ฆ #14 GetN and GetNC don't honor domain package variable set by SetDomain()

    Relevant commits

  • v1.2.4 Changes

    November 02, 2017

    ๐Ÿš€ Small release to include the following commit:

    • ๐Ÿ–จ Unify fmt.Sprintf behaviour on Po and Locale

    ๐ŸŒ This changes how the Locale object falls back when a translation is not found to behave the same as the Po object and use fmt.Sprintf only when variables are provided.

  • v1.2.3 Changes

    September 10, 2017
    • ๐Ÿ“œ Rewrite PO headers parsing and handling.
    • Implement correct GNU gettext headers format.
    • ๐Ÿ‘Œ Improve tests.
    • ๐Ÿ›  Fixes #10
  • v1.2.2 Changes

    September 01, 2017
    • โšก๏ธ Updates README file replacing println references by fmt.Println
    • ๐Ÿ›  Fixes extra use cases for Issue #9
    • โž• Added new tests for untranslated strings cases.
    • ๐Ÿ‘Œ Improved race test.
  • v1.2.1 Changes

    August 30, 2017
  • v1.2.0 Changes

    July 05, 2017

    ๐Ÿš€ Small release addressing 2 main changes that break backwards compatibility:

    Pull Request: use kinako instead of anko #7
    ๐Ÿ”„ Changes the backend used to evaluate the plural forms. From anko to kinako.

    ๐Ÿšš Issue: Remove plural default in Po Gets #8
    0๏ธโƒฃ Plural methods GetN and GetNC now return the default singular or plural by checking the n param as described in the issue.

  • v1.1.1 Changes

    August 08, 2016

    ๐Ÿ‘• Several code changes to improve results and to make golint and govet happy.
    There are no changes on the API so backwards compatibility with v1.1.0 is ensured.

  • v1.1.0 Changes

    July 15, 2016

    API compatibility break from version 1.0

    • n parameter on plural functions now have different meaning to make them Gettext compliant using Plural-Forms header formula definition

    ๐Ÿ†• New features

    • โž• Added parsing for PO file headers
    • โž• Added support for Plural-Forms formula headers
    • Plural functions now are gettext compliant
    • โž• Added support for multiline strings