Skip to content

Rework with react-i18next#155

Merged
adrai merged 5 commits intoi18next:mainfrom
joshkel:rework-with-react-i18next
Jan 1, 2026
Merged

Rework with react-i18next#155
adrai merged 5 commits intoi18next:mainfrom
joshkel:rework-with-react-i18next

Conversation

@joshkel
Copy link
Copy Markdown
Contributor

@joshkel joshkel commented Dec 31, 2025

I've run into several bugs / inconsistencies between the text extracted by i18next-cli and the text keys generated by react-i18next. I've noticed that the jsx-parser.ts logic in i18next-cli is quite complicated. As @adrai said,

it's not easy to "simulate" what react-i18next / html-parse-stringify is doing with SWC...

This makes me think: Instead of simulating what react-i18next does with SWC, it seems both simpler and more robust to simulate a bit of React with SWC, then invoke react-i18next's logic as is.

This change exposed what appear to be several other bugs within i18next-cli:

  1. i18next-cli extracted line break tags as <br />, while react-i18next expects <br/>.
  2. In JSX such as
         <Trans i18nKey="children_receive_wrong_second_index">
            First line with empty JSXTextNode{' '}
            <a href="http://www.grafana.com">Span that should have index 2 but has index 0</a>
            Second line
          </Trans>
    i18next-cli preserved some whitespace between </a> and Second, but JSX does not.
  3. In JSX such as
          <Trans i18nKey="children_receive_wrong_index">
            First line with empty JSXTextNode
            <p>
              <span>Span that should have index 1 but has index 0</span>
            </p>
            Second line
          </Trans>
    i18next-cli preserved the <p> via transKeepBasicHtmlNodesFor, but react-i18next did not, because its children were too complex.

I've done my best to verify each of these behavior changes but would appreciate a review. (https://codesandbox.io/p/sandbox/react-i18next-ref-sh88qx has a sandbox where I was experimenting with some of these.)

This currently relies on an undocumented react-i18next function, nodesToString. If this approach seems reasonable, I can open a PR to react-i18next to expose the needed interface.

There is one remaining test failure which I have not yet investigated; it looks like a test of internal behavior, which makes me wonder if the test is invalid.

Fixes #148.

Checklist

  • only relevant code is changed (Merely saving the extractor.Trans.test.ts file in VS Code caused it to strip a bunch of trailing whitespace. I did not attempt to prevent this, but I did keep it in its own commit for easier review. I also made minor fixes to types and spelling.)
  • run tests npm run test
  • tests are included
  • commit message and code follows the Developer's Certification of Origin

@socket-security
Copy link
Copy Markdown

socket-security bot commented Dec 31, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedreact@​19.2.31001008496100
Addedreact-i18next@​16.5.1100100100100100

View full report

@adrai
Copy link
Copy Markdown
Member

adrai commented Dec 31, 2025

currently afk, but sounds interesting...

btw: The whitespace in
was wished, since this is still accepted in react-i18next...

In general I would say if i18next-cli generates "better" defaults (and still accepted by react-i18next) it's acceptable imo...

@joshkel
Copy link
Copy Markdown
Contributor Author

joshkel commented Dec 31, 2025

btw: The whitespace in <br /> was wished, since this is still accepted in react-i18next...

You're referring to #101?

If I understand correctly, it's not a question of whether react-i18next accepts <br/> versus <br />, it's a question of what it generates when it's creating string keys to look up in translations. As far as I can tell, it generates <br/>, not <br />. So, if i18next-parser extracts keys with <br />, then that seems like a bug in i18next-parser, because I would not expect those extracted keys to properly translate at runtime.

https://github.com/i18next/react-i18next/blob/v16.5.0/src/TransWithoutContext.js#L74

But my understanding doesn't seem to match what @janplancraft reported in #101. If I'm misunderstanding, please let me know; I'm happy to make whatever corrections are needed.

@adrai
Copy link
Copy Markdown
Member

adrai commented Dec 31, 2025

No corrections necessary... if we can say with more confidence that i18next-cli produces the same as react-i18next, I'm totally ok with that.

@adrai
Copy link
Copy Markdown
Member

adrai commented Jan 1, 2026

Can you please update your PR with react-i18next v16.5.1 ? => i18next/react-i18next@106eeb7

Fix remaining test failure; consolidate `<br/>` tests.
@joshkel
Copy link
Copy Markdown
Contributor Author

joshkel commented Jan 1, 2026

Can you please update your PR with react-i18next v16.5.1 ? => i18next/react-i18next@106eeb7

@adrai Done. Thanks!

@adrai adrai merged commit 91346e1 into i18next:main Jan 1, 2026
2 checks passed
@adrai
Copy link
Copy Markdown
Member

adrai commented Jan 1, 2026

I have to thank you! ;-)

included in v1.34.0

@joshkel joshkel deleted the rework-with-react-i18next branch January 1, 2026 23:22
github-merge-queue bot pushed a commit to authelia/authelia that referenced this pull request Jan 7, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [react-i18next](https://redirect.github.com/i18next/react-i18next) |
[`16.5.0` →
`16.5.1`](https://renovatebot.com/diffs/npm/react-i18next/16.5.0/16.5.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/16.5.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/16.5.0/16.5.1?slim=true)
|

---

### Release Notes

<details>
<summary>i18next/react-i18next (react-i18next)</summary>

###
[`v16.5.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1651)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.0...v16.5.1)

- fix: export `nodesToString` (runtime + TypeScript typings) to support
`i18next-cli`
([i18next/i18next-cli#155](https://redirect.github.com/i18next/i18next-cli/pull/155))

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/authelia/authelia).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJqYXZhc2NyaXB0Il19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Feb 11, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [react-i18next](https://redirect.github.com/i18next/react-i18next) |
[`15.7.4` →
`16.5.4`](https://renovatebot.com/diffs/npm/react-i18next/15.7.4/16.5.4)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/16.5.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/15.7.4/16.5.4?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>i18next/react-i18next (react-i18next)</summary>

###
[`v16.5.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1654)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.3...v16.5.4)

- fix: Overriding React component props not working
[1902](https://redirect.github.com/i18next/react-i18next/pull/1902)

###
[`v16.5.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1653)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.2...v16.5.3)

- fix: Trans named tags with underscore
[1901](https://redirect.github.com/i18next/react-i18next/pull/1901)

###
[`v16.5.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1652)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.1...v16.5.2)

- fix: Type errors when you've declared a resources type
[1899](https://redirect.github.com/i18next/react-i18next/issues/1899)
via [1900](https://redirect.github.com/i18next/react-i18next/pull/1900)

###
[`v16.5.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1651)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.0...v16.5.1)

- fix: export `nodesToString` (runtime + TypeScript typings) to support
`i18next-cli`
([i18next/i18next-cli#155](https://redirect.github.com/i18next/i18next-cli/pull/155))

###
[`v16.5.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1650)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.4.1...v16.5.0)

- Add configuration option `transDefaultProps` to set default props for
the Trans component (e.g. `tOptions`, `shouldUnescape`, `values`)
[1895](https://redirect.github.com/i18next/react-i18next/issues/1895)

###
[`v16.4.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1641)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.4.0...v16.4.1)

- fix(Trans): prevent double-escaping of interpolated values in
component props (e.g. title). Unescape HTML entities before passing prop
values to React to avoid rendered output like `&amp;quot;` /
`&amp;#&#8203;39;`.
[#&#8203;1893](https://redirect.github.com/i18next/react-i18next/issues/1893)

###
[`v16.4.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1640)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.5...v16.4.0)

- `<Trans count>` prop: optional - infer count from children
[1891](https://redirect.github.com/i18next/react-i18next/issues/1891)

###
[`v16.3.5`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1635)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.4...v16.3.5)

- fix runaway effect in useTranslation
[1888](https://redirect.github.com/i18next/react-i18next/issues/1888) by
[1889](https://redirect.github.com/i18next/react-i18next/pull/1889)

###
[`v16.3.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1634)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.3...v16.3.4)

- Fix: avoid the "ref is not a prop" warning when a user ref is placed
on an element inside `<Trans>`
[1887](https://redirect.github.com/i18next/react-i18next/issues/1887),
by still trying to fix element.ref access issue with react 19
[1846](https://redirect.github.com/i18next/react-i18next/pull/1846)

###
[`v16.3.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1633)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.2...v16.3.3)

- improve useTranslation to fix "Maximum update depth exceeded" but
still support new react-compiler
[1885](https://redirect.github.com/i18next/react-i18next/issues/1885)
[1863](https://redirect.github.com/i18next/react-i18next/issues/1863#issuecomment-3491246391)

###
[`v16.3.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1632)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.1...v16.3.2)

- fix: avoid "Uncaught TypeError: Cannot redefine property:
\_\_original"

###
[`v16.3.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1631)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.0...v16.3.1)

- revert fix: Incosistent behaviour of Trans and t. Trans set
defaultValue when t call doesn't set the field.
[1876](https://redirect.github.com/i18next/react-i18next/issues/1876)
[f22d478](https://redirect.github.com/i18next/react-i18next/commit/f22d4787187e6cfc54d57f5fbede1c816ea19565)

###
[`v16.3.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1630)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.4...v16.3.0)

- fix: add i18n wrapper for React Compiler and React.memo compatibility
[1884](https://redirect.github.com/i18next/react-i18next/pull/1884)

###
[`v16.2.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1624)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.3...v16.2.4)

- try to fix "Trans component do not render anymore children as default
value in test environment"
[1883](https://redirect.github.com/i18next/react-i18next/issues/1883) by
also respecting
[1876](https://redirect.github.com/i18next/react-i18next/issues/1876)

###
[`v16.2.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1623)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.2...v16.2.3)

- fix hyphened component break issue
[1882](https://redirect.github.com/i18next/react-i18next/pull/1882)

###
[`v16.2.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1622)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.1...v16.2.2)

- fix trans component break with less than sign
[1880](https://redirect.github.com/i18next/react-i18next/pull/1880),
closes
[1734](https://redirect.github.com/i18next/react-i18next/issues/1734)

###
[`v16.2.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1621)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.0...v16.2.1)

- fix regression in v16.2.0: bindI18nStore does not work correctly
[1879](https://redirect.github.com/i18next/react-i18next/issues/1879)

###
[`v16.2.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1620)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.6...v16.2.0)

- try to address: useTranslation hook violates React's rules of hooks by
conditionally calling inner hooks
[1863](https://redirect.github.com/i18next/react-i18next/issues/1863)

###
[`v16.1.6`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1616)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.5...v16.1.6)

- fix: fix: handle spread props for inner components in Trans (icu)
[1877](https://redirect.github.com/i18next/react-i18next/pull/1877)

###
[`v16.1.5`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1615)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.4...v16.1.5)

- fix: Incosistent behaviour of Trans and t. Trans set defaultValue when
t call doesn't set the field.
[1876](https://redirect.github.com/i18next/react-i18next/issues/1876)
- Trans: use also defaultValue via tOptions as fallback

###
[`v16.1.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1614)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.3...v16.1.4)

- fix: detect pre-transformation use of interpolation like
number/date/etc.
[1875](https://redirect.github.com/i18next/react-i18next/pull/1875)

###
[`v16.1.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1613)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.2...v16.1.3)

- fix: ensure invalid identifiers are quoted in the props object
[1874](https://redirect.github.com/i18next/react-i18next/pull/1874)

###
[`v16.1.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1612)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.1...v16.1.2)

- missing.js extensions for Icu imports

###
[`v16.1.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1611)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.0...v16.1.1)

- exports for `IcuTrans` component
[1873](https://redirect.github.com/i18next/react-i18next/pull/1873)

###
[`v16.1.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1610)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.0.1...v16.1.0)

- Introduce `IcuTrans` component
[1869](https://redirect.github.com/i18next/react-i18next/issues/1869)

###
[`v16.0.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1601)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.0.0...v16.0.1)

- fix: Using <Trans> component with named tags throws error when
Selector API is enabled
[1867](https://redirect.github.com/i18next/react-i18next/issues/1867)
with [1868](https://redirect.github.com/i18next/react-i18next/pull/1868)

###
[`v16.0.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1600)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v15.7.4...v16.0.0)

- major upgrade i18next dep to address
[1865](https://redirect.github.com/i18next/react-i18next/issues/1865)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At 08:00 PM through 11:59 PM and 12:00
AM through 08:59 AM, Monday through Friday ( * 20-23,0-8 * * 1-5 ), Only
on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/camunda/camunda).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXJlYS9mcm9udGVuZCIsImF1dG9tZXJnZSIsImRlcGVuZGVuY2llcyJdfQ==-->
github-merge-queue bot pushed a commit to camunda/camunda that referenced this pull request Feb 11, 2026
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [react-i18next](https://redirect.github.com/i18next/react-i18next) |
[`15.7.4` →
`16.5.4`](https://renovatebot.com/diffs/npm/react-i18next/15.7.4/16.5.4)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/react-i18next/16.5.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-i18next/15.7.4/16.5.4?slim=true)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>i18next/react-i18next (react-i18next)</summary>

###
[`v16.5.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1654)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.3...v16.5.4)

- fix: Overriding React component props not working
[1902](https://redirect.github.com/i18next/react-i18next/pull/1902)

###
[`v16.5.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1653)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.2...v16.5.3)

- fix: Trans named tags with underscore
[1901](https://redirect.github.com/i18next/react-i18next/pull/1901)

###
[`v16.5.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1652)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.1...v16.5.2)

- fix: Type errors when you've declared a resources type
[1899](https://redirect.github.com/i18next/react-i18next/issues/1899)
via [1900](https://redirect.github.com/i18next/react-i18next/pull/1900)

###
[`v16.5.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1651)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.5.0...v16.5.1)

- fix: export `nodesToString` (runtime + TypeScript typings) to support
`i18next-cli`
([i18next/i18next-cli#155](https://redirect.github.com/i18next/i18next-cli/pull/155))

###
[`v16.5.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1650)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.4.1...v16.5.0)

- Add configuration option `transDefaultProps` to set default props for
the Trans component (e.g. `tOptions`, `shouldUnescape`, `values`)
[1895](https://redirect.github.com/i18next/react-i18next/issues/1895)

###
[`v16.4.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1641)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.4.0...v16.4.1)

- fix(Trans): prevent double-escaping of interpolated values in
component props (e.g. title). Unescape HTML entities before passing prop
values to React to avoid rendered output like `&amp;quot;` /
`&amp;#&#8203;39;`.
[#&#8203;1893](https://redirect.github.com/i18next/react-i18next/issues/1893)

###
[`v16.4.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1640)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.5...v16.4.0)

- `<Trans count>` prop: optional - infer count from children
[1891](https://redirect.github.com/i18next/react-i18next/issues/1891)

###
[`v16.3.5`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1635)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.4...v16.3.5)

- fix runaway effect in useTranslation
[1888](https://redirect.github.com/i18next/react-i18next/issues/1888) by
[1889](https://redirect.github.com/i18next/react-i18next/pull/1889)

###
[`v16.3.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1634)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.3...v16.3.4)

- Fix: avoid the "ref is not a prop" warning when a user ref is placed
on an element inside `<Trans>`
[1887](https://redirect.github.com/i18next/react-i18next/issues/1887),
by still trying to fix element.ref access issue with react 19
[1846](https://redirect.github.com/i18next/react-i18next/pull/1846)

###
[`v16.3.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1633)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.2...v16.3.3)

- improve useTranslation to fix "Maximum update depth exceeded" but
still support new react-compiler
[1885](https://redirect.github.com/i18next/react-i18next/issues/1885)
[1863](https://redirect.github.com/i18next/react-i18next/issues/1863#issuecomment-3491246391)

###
[`v16.3.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1632)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.1...v16.3.2)

- fix: avoid "Uncaught TypeError: Cannot redefine property:
\_\_original"

###
[`v16.3.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1631)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.3.0...v16.3.1)

- revert fix: Incosistent behaviour of Trans and t. Trans set
defaultValue when t call doesn't set the field.
[1876](https://redirect.github.com/i18next/react-i18next/issues/1876)
[f22d478](https://redirect.github.com/i18next/react-i18next/commit/f22d4787187e6cfc54d57f5fbede1c816ea19565)

###
[`v16.3.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1630)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.4...v16.3.0)

- fix: add i18n wrapper for React Compiler and React.memo compatibility
[1884](https://redirect.github.com/i18next/react-i18next/pull/1884)

###
[`v16.2.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1624)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.3...v16.2.4)

- try to fix "Trans component do not render anymore children as default
value in test environment"
[1883](https://redirect.github.com/i18next/react-i18next/issues/1883) by
also respecting
[1876](https://redirect.github.com/i18next/react-i18next/issues/1876)

###
[`v16.2.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1623)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.2...v16.2.3)

- fix hyphened component break issue
[1882](https://redirect.github.com/i18next/react-i18next/pull/1882)

###
[`v16.2.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1622)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.1...v16.2.2)

- fix trans component break with less than sign
[1880](https://redirect.github.com/i18next/react-i18next/pull/1880),
closes
[1734](https://redirect.github.com/i18next/react-i18next/issues/1734)

###
[`v16.2.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1621)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.2.0...v16.2.1)

- fix regression in v16.2.0: bindI18nStore does not work correctly
[1879](https://redirect.github.com/i18next/react-i18next/issues/1879)

###
[`v16.2.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1620)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.6...v16.2.0)

- try to address: useTranslation hook violates React's rules of hooks by
conditionally calling inner hooks
[1863](https://redirect.github.com/i18next/react-i18next/issues/1863)

###
[`v16.1.6`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1616)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.5...v16.1.6)

- fix: fix: handle spread props for inner components in Trans (icu)
[1877](https://redirect.github.com/i18next/react-i18next/pull/1877)

###
[`v16.1.5`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1615)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.4...v16.1.5)

- fix: Incosistent behaviour of Trans and t. Trans set defaultValue when
t call doesn't set the field.
[1876](https://redirect.github.com/i18next/react-i18next/issues/1876)
- Trans: use also defaultValue via tOptions as fallback

###
[`v16.1.4`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1614)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.3...v16.1.4)

- fix: detect pre-transformation use of interpolation like
number/date/etc.
[1875](https://redirect.github.com/i18next/react-i18next/pull/1875)

###
[`v16.1.3`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1613)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.2...v16.1.3)

- fix: ensure invalid identifiers are quoted in the props object
[1874](https://redirect.github.com/i18next/react-i18next/pull/1874)

###
[`v16.1.2`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1612)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.1...v16.1.2)

- missing.js extensions for Icu imports

###
[`v16.1.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1611)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.1.0...v16.1.1)

- exports for `IcuTrans` component
[1873](https://redirect.github.com/i18next/react-i18next/pull/1873)

###
[`v16.1.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1610)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.0.1...v16.1.0)

- Introduce `IcuTrans` component
[1869](https://redirect.github.com/i18next/react-i18next/issues/1869)

###
[`v16.0.1`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1601)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v16.0.0...v16.0.1)

- fix: Using <Trans> component with named tags throws error when
Selector API is enabled
[1867](https://redirect.github.com/i18next/react-i18next/issues/1867)
with [1868](https://redirect.github.com/i18next/react-i18next/pull/1868)

###
[`v16.0.0`](https://redirect.github.com/i18next/react-i18next/blob/HEAD/CHANGELOG.md#1600)

[Compare
Source](https://redirect.github.com/i18next/react-i18next/compare/v15.7.4...v16.0.0)

- major upgrade i18next dep to address
[1865](https://redirect.github.com/i18next/react-i18next/issues/1865)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At 08:00 PM through 11:59 PM and 12:00
AM through 08:59 AM, Monday through Friday ( * 20-23,0-8 * * 1-5 ), Only
on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time
(no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

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

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/camunda/camunda).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXJlYS9mcm9udGVuZCIsImF1dG9tZXJnZSIsImRlcGVuZGVuY2llcyJdfQ==-->
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.

Inconsistent numbering for type assertions

2 participants