Address backwards incompatible changes in previous release
v0.26.0
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:
Define a Gettext backend with use Gettext.Backend
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.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps gettext from 0.23.1 to 0.26.1.
Changelog
Sourced from gettext's changelog.
... (truncated)
Commits
435c574
Release v0.26.1bde32c0
Improve message539b72c
Allow extraction to work by setting attribute at expansion time903a466
Simplify macros import to reduce amount of generated content1a74fc8
Keep deprecate code as it was0bac98d
Update ex_doc3816c5e
Add changelog to Hex and Hexdocs86d44c6
Release v0.26.0968d85e
Update instructions in the README1ec048c
Only import a subset of Gettext.Macros macrosDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show