All Versions
10
Latest Version
Avg Release Cycle
88 days
Latest Release
2046 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 goreportcard.com 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