Skip to content

Conversation

@renovate
Copy link

@renovate renovate bot commented Mar 17, 2022

This PR contains the following updates:

Package Type Update Change
gettext (source) prod minor ~> 0.18~> 0.26

Release Notes

elixir-gettext/gettext (gettext)

v0.26.2

Compare Source

  • Introduces warning if plural messages are defined with the same singular
    message and conflicting plural messages.
    • Improves performance by striping not required metadata when compiling the
      Gettext backend.

v0.26.1

Compare Source

  • Address backwards incompatible changes in previous release

v0.26.0

Compare Source

This release changes the way you use Gettext. We're not crazy: it does so because doing so makes it a lot faster to compile projects that use Gettext.
The changes you have to make to your code are minimal, and the old behavior is deprecated so that you will be guided on how to update.

The reason for this change is that it removes compile-time dependencies from modules that used to import a Gettext backend. In applications such as Phoenix applications, where every view and controller imports the Gettext backend, this change means a lot less compilation when you make translation changes!

Here's the new API. Now, instead of defining a Gettext backend (use Gettext) and then importing that to use its macros, you need to:

  1. Define a Gettext backend with use Gettext.Backend
  2. Import and use its macros with use Gettext, backend: MyApp.Gettext.
Before and After

Before this release, code using Gettext used to look something like this:

defmodule MyApp.Gettext do
  use Gettext, otp_app: :my_app
end

defmodule MyAppWeb.Controller do
  import MyApp.Gettext
end

This creates a compile-time dependency for every module that imports the Gettext backend.

With this release, the above turns into:

defmodule MyApp.Gettext do
  use Gettext.Backend, otp_app: :my_app
end

defmodule MyAppWeb.Controller do
  use Gettext, backend: MyApp.Gettext
end

We are also updating Phoenix generators to use the new API.

If you update Gettext and still use use Gettext, otp_app: :my_app to define a backend, Gettext will emit a warning now.

Migration with Igniter

If your project is using igniter, you can run
mix igniter.update_gettext
to automatically migrate to the new API.

Detailed Changelog

This is a detailed list of the new things introduced in this release:

  • Add Gettext.Macros, which contains all the macros you know and love (*gettext). It also contains *gettext_with_backend variants to explicitly pass a backend at compile time and keep extraction working.
  • Document lgettext/5 and lngettext/7 callbacks in Gettext.Backend. These get generated in every Gettext backend.
  • Add the Gettext.domain/0 type.

v0.25.0

Compare Source

  • Run merging for mix gettext.extract's POT files even if they are unchanged.
    • Allow Expo 1.0+.

v0.24.0

Compare Source

  • Handle singular and plural messages with the same msgid as the same
    message.

    This change produces a Expo.PO.DuplicateMessagesError if you already have
    messages with the same singular msgid. This can be solved by calling the
    expo.msguniq mix task on your .po file:

    mix expo.msguniq \
      priv/gettext/LOCALE/LC_MESSAGES/DOMAIN.po \
      --output-file priv/gettext/LOCALE/LC_MESSAGES/DOMAIN.po

v0.23.1

Compare Source

  • Use the Hex version of the excoveralls dependency.

v0.23.0

Compare Source

  • Add the :custom_flags_to_keep Gettext option.

v0.22.3

Compare Source

  • Fix a bug with extracting translations in Elixir 1.15.0+.

v0.22.2

Compare Source

  • Use Code.ensure_compiled/1 instead of Code.ensure_loaded/1 for Elixir < 1.12 compatibility.
    • Ensure all modules are properly loaded for mix gettext.merge.
    • Fix a "protected" check when extracting translations.

v0.22.1

Compare Source

  • Put correct Plural-Forms header on gettext.merge for the first time.
    • Fix extractor crash in case of conflicting backends.
    • Fix to use the correct plural forms for multiple languages.
    • Update expo to ~> 0.4.0 to fix issues with empty msgstr.

v0.22.0

Compare Source

  • Deprecate (with a warning) the --plural-forms CLI option and the :plural_forms option in favor of --plural-forms-header and :plural_forms_header.
    • Supply the Plural-Forms header to Gettext.Plural callbacks.
    • Bump Expo requirement to ~> 0.3.0.
    • Add the types:
      • Gettext.Interpolation.bindings/0
      • Gettext.Error.t/0
      • Gettext.Plural.locale/0
      • Gettext.Plural.pluralization_context/0
      • Gettext.Plural.plural_info/0
    • Add the optional callbacks Gettext.Plural.init/1 and Gettext.Plural.plural_forms_header/1.
Bug fixes
  • Fix --check-up-to-date with msgids split in different ways.
  • Don't write the same file more than once in references when using write_reference_line_numbers: false.

v0.21.0

Compare Source

v0.20.0

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/gettext-0.x branch from c2b5d5d to d7b6819 Compare April 4, 2022 21:39
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from d7b6819 to 499dbeb Compare May 25, 2022 13:24
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 499dbeb to 39dfca7 Compare July 20, 2022 18:02
@renovate renovate bot changed the title Update dependency gettext to ~> 0.19 Update dependency gettext to ~> 0.20 Jul 20, 2022
@renovate renovate bot changed the title Update dependency gettext to ~> 0.20 Update dependency gettext to ~> 0.22 Mar 12, 2023
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 39dfca7 to 8092a04 Compare March 12, 2023 12:57
@renovate renovate bot changed the title Update dependency gettext to ~> 0.22 Update dependency gettext to ~> 0.23 Aug 7, 2023
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 8092a04 to f229152 Compare August 7, 2023 17:48
@renovate renovate bot changed the title Update dependency gettext to ~> 0.23 Update dependency gettext to ~> 0.24 Dec 5, 2023
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from f229152 to 6872caf Compare December 5, 2023 05:32
@renovate renovate bot changed the title Update dependency gettext to ~> 0.24 Update dependency gettext to ~> 0.25 Aug 8, 2024
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 6872caf to 4127f29 Compare August 8, 2024 02:58
@renovate renovate bot changed the title Update dependency gettext to ~> 0.25 Update dependency gettext to ~> 0.26 Aug 22, 2024
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 4127f29 to 38ada9d Compare August 22, 2024 03:01
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 38ada9d to 1561842 Compare August 12, 2025 00:15
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 1561842 to 5f5dddd Compare October 23, 2025 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant