Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 26, 2023

This PR contains the following updates:

Package Type Update Change
gettext (source) prod minor ~> 0.20 -> ~> 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

New features and improvements
  • Bump Elixir requirement to 1.11+.

  • Extract parsing and dumping of PO/POT files to the
    expo library, and start depending
    on that.

  • Support marking messages as obsolete with the new :on_obsolete Gettext
    configuration option.

  • Add the :write_reference_line_numbers Gettext configuration option.

  • Save the previous messages when there's a fuzzy match, with the new
    :store_previous_message_on_fuzzy_match Gettext configuration option.

  • Change :sort_by_msgid to accept false, :case_sensitive, or
    :case_insensitive and deprecate the true value.

Bug fixes
  • Sort messages independent of line splits when dumping PO files.

Configuration

📅 Schedule: Branch creation - "before 6am on Monday" in timezone Europe/Paris, 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 requested a review from nono as a code owner March 26, 2023 22:02
@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 f81ada8 to 2cbfc52 Compare August 7, 2023 16:49
@renovate renovate bot changed the title Update dependency gettext to ~> 0.23 Update dependency gettext to ~> 0.24 Dec 4, 2023
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 2cbfc52 to 3d08e2f Compare December 4, 2023 16:16
@renovate renovate bot changed the title Update dependency gettext to ~> 0.24 Update dependency gettext to ~> 0.25 Aug 5, 2024
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from 3d08e2f to a7fc428 Compare August 5, 2024 17:15
Copy link

argos-ci bot commented Aug 5, 2024

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ⚠️ Changes detected (Review) 1 changed Aug 10, 2025, 2:16 PM

@renovate renovate bot changed the title Update dependency gettext to ~> 0.25 Update dependency gettext to ~> 0.26 Aug 20, 2024
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from a7fc428 to e294408 Compare August 20, 2024 08:07
@renovate renovate bot changed the title Update dependency gettext to ~> 0.26 chore(deps): update dependency gettext to ~> 0.26 May 15, 2025
@renovate renovate bot force-pushed the renovate/gettext-0.x branch from e294408 to 28562d5 Compare August 10, 2025 14:14
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.

0 participants