chore(deps): Bump i18next from 26.5.11 to 26.5.12 (#2289)

Bumps [i18next](https://github.com/i18next/i18next) from 26.5.11 to
26.5.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/releases">i18next's
releases</a>.</em></p>
<blockquote>
<h2>v26.5.12</h2>
<ul>
<li>fix: with <code>keySeparator: false</code> or a custom separator
like <code>'::'</code>, a nested interpolation value that is
<code>0</code>, <code>false</code> or <code>''</code> is now inserted.
<code>'You have {{stats.unread}} unread messages'</code> with <code>{
stats: { unread: 0 } }</code> kept the raw <code>{{stats.unread}}</code>
placeholder (or became <code>''</code> with <code>skipOnVariables:
false</code>), also for formatted values like <code>{{order.total,
currency(USD)}}</code> and for nested <code>defaultVariables</code>: a
falsy value was looked up again with the configured separator, which
does not split <code>stats.unread</code>. The default <code>'.'</code>
separator was not affected. When the same name exists both nested and as
a flat dotted key (<code>{ a: { b: 0 }, 'a.b': 'flat' }</code>), the
nested <code>0</code>, <code>false</code> or <code>''</code> now wins,
as a truthy one already did; a nested <code>null</code> still falls back
to the flat key. Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2464">#2464</a>).</li>
<li>fix: <code>cloneInstance({ forkResourceStore: true })</code> no
longer changes the options object it is given. It deleted
<code>forkResourceStore</code> from it, so reusing the same object for a
second clone silently shared the parent's resource store (adding a
resource to that clone also changed the parent), and frozen options
threw a <code>TypeError</code>. Clones without
<code>forkResourceStore</code> are unchanged. Thanks <a
href="https://github.com/edsonsims"><code>@​edsonsims</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2463">#2463</a>).</li>
<li>perf(types): a selector <code>t(($) =&gt; ...)</code>
(<code>enableSelector: true</code> / <code>'strict'</code>) no longer
filters the whole namespace, and no longer does it again for every
distinct <code>context</code> value. To drop keys without anything to
select, the filtered type looked at the filtered keys of every nested
object, down to the leaves, also for the branches the selector does not
read. It now decides from the source value. With 10,000 keys in 100
groups, one call went from 3.3M type instantiations (1.7s) to 0.85M
(0.8s), and ten calls with ten contexts from 21.7M (8.8s) to 1.05M
(0.9s), on TypeScript 6. Selected values are unchanged for context,
plural, ordinal, nested and array keys, with three side effects: a type
error on a selector now shows the type as <code>FilterKeysObject&lt;{
...source keys }, Context&gt;</code> instead of the filtered object, an
object whose values are all <code>null</code> or <code>undefined</code>
(<code>{ x: null }</code>) is kept as <code>{}</code> instead of being
dropped, and a <code>null</code> key next to its plural forms
(<code>foo: null</code>, <code>foo_one</code>, <code>foo_other</code>)
is typed as the plural value instead of <code>never</code>. Thanks <a
href="https://github.com/GabrielVooDB"><code>@​GabrielVooDB</code></a>
(<a
href="https://redirect.github.com/i18next/i18next/issues/2462">#2462</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/i18next/i18next/blob/master/CHANGELOG.md">i18next's
changelog</a>.</em></p>
<blockquote>
<h2>26.5.12</h2>
<ul>
<li>fix: with <code>keySeparator: false</code> or a custom separator
like <code>'::'</code>, a nested interpolation value that is
<code>0</code>, <code>false</code> or <code>''</code> is now inserted.
<code>'You have {{stats.unread}} unread messages'</code> with <code>{
stats: { unread: 0 } }</code> kept the raw <code>{{stats.unread}}</code>
placeholder (or became <code>''</code> with <code>skipOnVariables:
false</code>), also for formatted values like <code>{{order.total,
currency(USD)}}</code> and for nested <code>defaultVariables</code>: a
falsy value was looked up again with the configured separator, which
does not split <code>stats.unread</code>. The default <code>'.'</code>
separator was not affected. When the same name exists both nested and as
a flat dotted key (<code>{ a: { b: 0 }, 'a.b': 'flat' }</code>), the
nested <code>0</code>, <code>false</code> or <code>''</code> now wins,
as a truthy one already did; a nested <code>null</code> still falls back
to the flat key. Thanks <a
href="https://github.com/nk-batman21"><code>@​nk-batman21</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2464">#2464</a>).</li>
<li>fix: <code>cloneInstance({ forkResourceStore: true })</code> no
longer changes the options object it is given. It deleted
<code>forkResourceStore</code> from it, so reusing the same object for a
second clone silently shared the parent's resource store (adding a
resource to that clone also changed the parent), and frozen options
threw a <code>TypeError</code>. Clones without
<code>forkResourceStore</code> are unchanged. Thanks <a
href="https://github.com/edsonsims"><code>@​edsonsims</code></a> (<a
href="https://redirect.github.com/i18next/i18next/pull/2463">#2463</a>).</li>
<li>perf(types): a selector <code>t(($) =&gt; ...)</code>
(<code>enableSelector: true</code> / <code>'strict'</code>) no longer
filters the whole namespace, and no longer does it again for every
distinct <code>context</code> value. To drop keys without anything to
select, the filtered type looked at the filtered keys of every nested
object, down to the leaves, also for the branches the selector does not
read. It now decides from the source value. With 10,000 keys in 100
groups, one call went from 3.3M type instantiations (1.7s) to 0.85M
(0.8s), and ten calls with ten contexts from 21.7M (8.8s) to 1.05M
(0.9s), on TypeScript 6. Selected values are unchanged for context,
plural, ordinal, nested and array keys, with three side effects: a type
error on a selector now shows the type as <code>FilterKeysObject&lt;{
...source keys }, Context&gt;</code> instead of the filtered object, an
object whose values are all <code>null</code> or <code>undefined</code>
(<code>{ x: null }</code>) is kept as <code>{}</code> instead of being
dropped, and a <code>null</code> key next to its plural forms
(<code>foo: null</code>, <code>foo_one</code>, <code>foo_other</code>)
is typed as the plural value instead of <code>never</code>. Thanks <a
href="https://github.com/GabrielVooDB"><code>@​GabrielVooDB</code></a>
(<a
href="https://redirect.github.com/i18next/i18next/issues/2462">#2462</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/i18next/i18next/commit/83f35e40bba9651be07450be3c37dc3978c74479"><code>83f35e4</code></a>
26.5.12</li>
<li><a
href="https://github.com/i18next/i18next/commit/a2a354e1ac49b76b91b7b98914547152e7844f78"><code>a2a354e</code></a>
build</li>
<li><a
href="https://github.com/i18next/i18next/commit/b6447c16fde133dc2c5d2e6f0e7b48767a3f41e7"><code>b6447c1</code></a>
changelog for 26.5.12</li>
<li><a
href="https://github.com/i18next/i18next/commit/8bab707c3049899fa45b9394907969c6a1a6a45f"><code>8bab707</code></a>
changelog for unreleased <a
href="https://redirect.github.com/i18next/i18next/issues/2464">#2464</a></li>
<li><a
href="https://github.com/i18next/i18next/commit/5c43d884f2ef13ae15612fbd1fd53b56ab8d483a"><code>5c43d88</code></a>
fix: a nested null interpolation value still falls back to a flat
key</li>
<li><a
href="https://github.com/i18next/i18next/commit/1b7b734f2ca737b4da7cadb18dfafe0ce16c4574"><code>1b7b734</code></a>
fix: keep nested 0, false and '' interpolation values with a custom
keySepara...</li>
<li><a
href="https://github.com/i18next/i18next/commit/4184f91b778ceecb40c10e4a8a763dc6472f941c"><code>4184f91</code></a>
changelog for unreleased <a
href="https://redirect.github.com/i18next/i18next/issues/2463">#2463</a></li>
<li><a
href="https://github.com/i18next/i18next/commit/4af40e53a07e5e263fce32181d35987f45127733"><code>4af40e5</code></a>
fix: preserve caller options when forking instances (<a
href="https://redirect.github.com/i18next/i18next/issues/2463">#2463</a>)</li>
<li><a
href="https://github.com/i18next/i18next/commit/42af8308faffe19bc921d6ce5df54f8c41b39c9d"><code>42af830</code></a>
chore: update dev dependencies to clear the Dependabot alerts</li>
<li><a
href="https://github.com/i18next/i18next/commit/39bdcfe8ef20b1f8f1cc5ee9b2240c0fe935f3dd"><code>39bdcfe</code></a>
perf(types): selector t() no longer filters the whole namespace (<a
href="https://redirect.github.com/i18next/i18next/issues/2462">#2462</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/i18next/i18next/compare/v26.5.11...v26.5.12">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=i18next&package-manager=npm_and_yarn&previous-version=26.5.11&new-version=26.5.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 show <dependency name> 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)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
dependabot[bot]
2026-11-02 13:52:09 +00:00
committed by GitHub
parent e2440b336f
commit 8c816c2a23
2 changed files with 5 additions and 5 deletions
+4 -4
View File
@@ -30,7 +30,7 @@
"downshift": "^9.4.0", "downshift": "^9.4.0",
"events": "^3.3.0", "events": "^3.3.0",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"i18next": "^26.5.11", "i18next": "^26.5.12",
"i18next-browser-languagedetector": "^8.2.3", "i18next-browser-languagedetector": "^8.2.3",
"i18next-resources-to-backend": "^1.2.3", "i18next-resources-to-backend": "^1.2.3",
"json-stringify-pretty-compact": "^4.0.0", "json-stringify-pretty-compact": "^4.0.0",
@@ -6645,9 +6645,9 @@
} }
}, },
"node_modules/i18next": { "node_modules/i18next": {
"version": "26.5.11", "version": "26.5.12",
"resolved": "https://registry.npmjs.org/i18next/-/i18next-26.5.11.tgz", "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.5.12.tgz",
"integrity": "sha512-Wc0klBPKxqZ2tL2qdAnF8xvvnWgr1IMGSY2ikTiAvaFVbz7xiFARtkoU4RidBDw1SyziGROp0qxu6qnJ7l2Wug==", "integrity": "sha512-vTt8tc3y5axoU7wwTYg8vjpILLyP33a5GyGJAVI7FDRx1XueYxZVIkcVeStoftrVnAM/o28hKvK0sslucDI9aQ==",
"funding": [ "funding": [
{ {
"type": "individual", "type": "individual",
+1 -1
View File
@@ -48,7 +48,7 @@
"downshift": "^9.4.0", "downshift": "^9.4.0",
"events": "^3.3.0", "events": "^3.3.0",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"i18next": "^26.5.11", "i18next": "^26.5.12",
"i18next-browser-languagedetector": "^8.2.3", "i18next-browser-languagedetector": "^8.2.3",
"i18next-resources-to-backend": "^1.2.3", "i18next-resources-to-backend": "^1.2.3",
"json-stringify-pretty-compact": "^4.0.0", "json-stringify-pretty-compact": "^4.0.0",