This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@nuxtjs/i18n](https://i18n.nuxtjs.org) ([source](https://github.com/nuxt-modules/i18n)) | [`10.5.0` → `10.6.0`](https://renovatebot.com/diffs/npm/@nuxtjs%2fi18n/10.5.0/10.6.0) |  |  |
---
### Release Notes
<details>
<summary>nuxt-modules/i18n (@​nuxtjs/i18n)</summary>
### [`v10.6.0`](https://github.com/nuxt-modules/i18n/blob/HEAD/CHANGELOG.md#v1060-2026-07-30T104910Z)
[Compare Source](https://github.com/nuxt-modules/i18n/compare/v10.5.0...v10.6.0)
This changelog is generated by [GitHub Releases](https://github.com/nuxt-modules/i18n/releases/tag/v10.6.0)
##### 🚀 Features
- Add `experimental.optimizeMessageBundling` option - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4068](https://github.com/nuxt-modules/i18n/issues/4068) [<samp>(e7b6b)</samp>](https://github.com/nuxt-modules/i18n/commit/e7b6b094)
- **domain**: Restrict locales to a subset of `domains` - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4085](https://github.com/nuxt-modules/i18n/issues/4085) [<samp>(436c3)</samp>](https://github.com/nuxt-modules/i18n/commit/436c361b)
##### 🐞 Bug Fixes
- Strip protocol when matching domain to host - by [@​adamkasper](https://github.com/adamkasper), [@​cursoragent](https://github.com/cursoragent) and [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4064](https://github.com/nuxt-modules/i18n/issues/4064) [<samp>(86a4d)</samp>](https://github.com/nuxt-modules/i18n/commit/86a4d7e4)
- Let vue-router encode `switchLocalePath` paths - by [@​Vincentdevreede](https://github.com/Vincentdevreede) and [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4079](https://github.com/nuxt-modules/i18n/issues/4079) [<samp>(03a8e)</samp>](https://github.com/nuxt-modules/i18n/commit/03a8e587)
- Load locale files that use Nuxt app composables in the app - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4102](https://github.com/nuxt-modules/i18n/issues/4102) [<samp>(917c0)</samp>](https://github.com/nuxt-modules/i18n/commit/917c043f)
- Keep params encoded when resolving a localized route by path - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4104](https://github.com/nuxt-modules/i18n/issues/4104) [<samp>(a4eee)</samp>](https://github.com/nuxt-modules/i18n/commit/a4eee0f4)
- **bundler**:
- Only precompile locale files the resource transform can re-emit - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4095](https://github.com/nuxt-modules/i18n/issues/4095) [<samp>(930ff)</samp>](https://github.com/nuxt-modules/i18n/commit/930ffca0)
- **domain**:
- Resolve locale availability from host membership - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4083](https://github.com/nuxt-modules/i18n/issues/4083) [<samp>(ef5d3)</samp>](https://github.com/nuxt-modules/i18n/commit/ef5d36ef)
- Resolve links for the host default locale under `prefix_and_default` - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4087](https://github.com/nuxt-modules/i18n/issues/4087) [<samp>(de62b)</samp>](https://github.com/nuxt-modules/i18n/commit/de62bd25)
- Resolve domain config the same way at build time and runtime - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4090](https://github.com/nuxt-modules/i18n/issues/4090) [<samp>(b38b7)</samp>](https://github.com/nuxt-modules/i18n/commit/b38b7dfb)
- Resolve the current origin from the host - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4103](https://github.com/nuxt-modules/i18n/issues/4103) [<samp>(01d43)</samp>](https://github.com/nuxt-modules/i18n/commit/01d4310e)
- Redirect detection to the domain serving the detected locale - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4105](https://github.com/nuxt-modules/i18n/issues/4105) [<samp>(03eba)</samp>](https://github.com/nuxt-modules/i18n/commit/03eba9f0)
- Resolve a domain serving a single locale as its default - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4107](https://github.com/nuxt-modules/i18n/issues/4107) [<samp>(efb9d)</samp>](https://github.com/nuxt-modules/i18n/commit/efb9d50c)
- Serve every locale on a host matching no configured domain - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4108](https://github.com/nuxt-modules/i18n/issues/4108) [<samp>(187b3)</samp>](https://github.com/nuxt-modules/i18n/commit/187b3644)
- **hmr**:
- Use virtual module ids in `import.meta.hot.accept()` for vite 8 - by [@​sawa-ko](https://github.com/sawa-ko) and [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4065](https://github.com/nuxt-modules/i18n/issues/4065) [<samp>(329db)</samp>](https://github.com/nuxt-modules/i18n/commit/329db4e3)
- **routing**:
- Resolve the unprefixed locale per domain - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4082](https://github.com/nuxt-modules/i18n/issues/4082) [<samp>(7a2db)</samp>](https://github.com/nuxt-modules/i18n/commit/7a2db62a)
- **seo**:
- Emit the same `x-default` on every domain - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4089](https://github.com/nuxt-modules/i18n/issues/4089) [<samp>(45d95)</samp>](https://github.com/nuxt-modules/i18n/commit/45d95ab6)
- Warn when a domain setup has no locale to annotate as `x-default` - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4092](https://github.com/nuxt-modules/i18n/issues/4092) [<samp>(e0706)</samp>](https://github.com/nuxt-modules/i18n/commit/e07063ee)
- Resolve alternate and canonical links from one domain per locale - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4106](https://github.com/nuxt-modules/i18n/issues/4106) [<samp>(21e1c)</samp>](https://github.com/nuxt-modules/i18n/commit/21e1ccd0)
- **types**:
- Narrow locale head types to support `useHeadSafe` - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4062](https://github.com/nuxt-modules/i18n/issues/4062) [<samp>(59e5d)</samp>](https://github.com/nuxt-modules/i18n/commit/59e5d4d3)
- Annotate the logger so its declaration stays portable - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4094](https://github.com/nuxt-modules/i18n/issues/4094) [<samp>(93754)</samp>](https://github.com/nuxt-modules/i18n/commit/93754a96)
- Prevent duplicate tsconfig paths for aliased deps - by [@​BuuBux](https://github.com/BuuBux) and **Kamil Kras** in [#​4031](https://github.com/nuxt-modules/i18n/issues/4031) [<samp>(d6930)</samp>](https://github.com/nuxt-modules/i18n/commit/d6930a62)
##### 🏎 Performance
- Skip client locale chunks when using messages endpoint - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4067](https://github.com/nuxt-modules/i18n/issues/4067) [<samp>(7d762)</samp>](https://github.com/nuxt-modules/i18n/commit/7d762832)
- Keep locale messages out of server build graphs - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4070](https://github.com/nuxt-modules/i18n/issues/4070) [<samp>(640e1)</samp>](https://github.com/nuxt-modules/i18n/commit/640e1309)
- Avoid copying locale messages per ssr request - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4071](https://github.com/nuxt-modules/i18n/issues/4071) [<samp>(46ab4)</samp>](https://github.com/nuxt-modules/i18n/commit/46ab4e3a)
- Enable `experimental.optimizeMessageBundling` by default - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4073](https://github.com/nuxt-modules/i18n/issues/4073) [<samp>(ba6f3)</samp>](https://github.com/nuxt-modules/i18n/commit/ba6f3002)
- Keep message caching enabled for static locales in mixed projects - by [@​BobbieGoede](https://github.com/BobbieGoede) in [#​4074](https://github.com/nuxt-modules/i18n/issues/4074) [<samp>(d9d30)</samp>](https://github.com/nuxt-modules/i18n/commit/d9d30756)
##### [View changes on GitHub](https://github.com/nuxt-modules/i18n/compare/v10.5.0...v10.6.0)
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- 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 has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41LjMiLCJ1cGRhdGVkSW5WZXIiOiI0NC41LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
10.5.0→10.6.0Release Notes
nuxt-modules/i18n (@nuxtjs/i18n)
v10.6.0Compare Source
This changelog is generated by GitHub Releases
🚀 Features
experimental.optimizeMessageBundlingoption - by @BobbieGoede in #4068 (e7b6b)domains- by @BobbieGoede in #4085 (436c3)🐞 Bug Fixes
switchLocalePathpaths - by @Vincentdevreede and @BobbieGoede in #4079 (03a8e)prefix_and_default- by @BobbieGoede in #4087 (de62b)import.meta.hot.accept()for vite 8 - by @sawa-ko and @BobbieGoede in #4065 (329db)x-defaulton every domain - by @BobbieGoede in #4089 (45d95)x-default- by @BobbieGoede in #4092 (e0706)useHeadSafe- by @BobbieGoede in #4062 (59e5d)🏎 Performance
experimental.optimizeMessageBundlingby default - by @BobbieGoede in #4073 (ba6f3)View changes on GitHub
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR has been generated by Mend Renovate CLI.