\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3228],{"name":3173,"color":3174},3792,"`switchLocalePath` returns an empty string","2025-08-21T22:49:06Z","https://github.com/nuxt-modules/i18n/issues/3792",0.6687645,{"description":3235,"labels":3236,"number":3243,"owner":3176,"repository":3177,"state":3220,"title":3244,"updated_at":3245,"url":3246,"score":3247},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.15.0`\n- Nuxt Version: `3.17.4`\n- CLI Version: `3.25.1`\n- Nitro Version: `2.11.12`\n- Package Manager: `npm@10.9.2`\n- Builder: `-`\n- User Config: `devtools`, `modules`, `i18n`, `compatibilityDate`, `app`\n- Runtime Modules: `@nuxtjs/i18n@9.5.4`\n- Build Modules: `-`\n\n\n### Reproduction\n\nhttps://github.com/cjpearson/switch-locale-path-repro\n\n### Describe the bug\n\nWhen using different domains for each locale, `switchLocalePath` will return an absolute URL for the current route in a different locale. However, if `app.baseURL` will not be included if it is set.\n\nFor example, calling `switchLocalePath` on `http://en.localhost/prefix/testing` will return `http://nl.localhost/testing`.\n\nThis is also the case when using path prefixes instead of domains, but less of an issue in practice since NuxtLink automatically adds the baseURL.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3237,3240],{"name":3238,"color":3239},"bug 🐛","ee0701",{"name":3241,"color":3242},"domain","fbca04",3628,"`switchLocalePath` should include the baseURL","2025-05-22T15:50:22Z","https://github.com/nuxt-modules/i18n/issues/3628",0.6703814,{"description":3249,"labels":3250,"number":3253,"owner":3176,"repository":3177,"state":3220,"title":3254,"updated_at":3255,"url":3256,"score":3257},"### Environment\n\n- Operating System: `Darwin`\r\n- Node Version: `v20.9.0`\r\n- Nuxt Version: `3.11.2`\r\n- CLI Version: `3.11.1`\r\n- Nitro Version: `2.9.6`\r\n- Package Manager: `pnpm@9.0.4`\r\n- Builder: `-`\r\n- User Config: `devtools`, `modules`, `i18n`\r\n- Runtime Modules: `@nuxtjs/i18n@8.3.0`\r\n- Build Modules: `-`\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-starter-dx8kkg?file=nuxt.config.ts\r\n\r\nThe reproduction will not work on stackblitz due to using the custom domains. Please clone it & test locally.\n\n### Describe the bug\n\nThe documentation [says](https://i18n.nuxtjs.org/docs/guide/different-domains#runtime-environment-variables):\r\n> Alternatively, to avoid the need for multiple builds, the locale domains can be overridden via runtime environment variables. The variable name should follow the format NUXT_PUBLIC_I18N_LOCALES_{locale code}_DOMAIN\r\n\r\nHowever, based on my testing, this doesn't seem to work. The domains provided through `.env` **do** appear in the lang switcher (result of `switchLocalePath()` call), however, they don't switch the locale.\r\n\r\nI'm not sure if I'm just doing something wrong or if this is a bug, but regardless, this issue either needs fixing or the documentation needs to be updated. I'd be happy to update the docs if necessary.\r\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3251],{"name":3252,"color":3242},"scope: domains",2931,"Overridden locale domains don't switch locale","2025-08-21T22:56:42Z","https://github.com/nuxt-modules/i18n/issues/2931",0.6705429,{"description":3259,"labels":3260,"number":3264,"owner":3176,"repository":3177,"state":3220,"title":3265,"updated_at":3266,"url":3267,"score":3268},"### Environment\r\n\r\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v18.16.0\r\n- Nuxt Version: 3.7.1\r\n- CLI Version: 3.7.3\r\n- Nitro Version: 2.6.2\r\n- Package Manager: pnpm@8.6.12\r\n- Builder: -\r\n- User Config: extends, telemetry, ssr, fontMetrics, nitro, routeRules, runtimeConfig, build, modules, delayHydration, image, components, bugsnag, devtools, i18n, experimental, pwa, app, dnGraphqlClient, vite, plugins\r\n- Runtime Modules: @nuxtjs/fontaine@0.4.1, @pinia/nuxt@0.4.11, @nuxt/devtools@0.8.2, @vite-pwa/nuxt@0.1.0, nuxt-bugsnag@7.0.0, @digitalnatives/css-variables/nuxt@5.1.3, @digitalnatives/graphql-client@4.0.3, @nuxtjs/i18n@8.0.0-rc.4, @nuxt/image@1.0.0-rc.1, nuxt-delay-hydration@1.2.1, @digitalnatives/composables@2.0.1\r\n- Build Modules: -\r\n------------------------------\r\n\r\n### Reproduction\r\n\r\nA naïve reproduction is the following:\r\n\r\n```js\r\nconst route = useRoute(); \r\nconst locale = useLocale();\r\n\r\n// On switch, this will first log the NEW locale with the OLD path, then it will trigger a second time, logging the NEW locale with the NEW path\r\nwatchEffect(() => {\r\n console.log(route.fullPath);\r\n console.log(locale);\r\n});\r\n```\r\n\r\nAdd it to a global component in the layout that doesn't get mounted/umounted on URI change.\r\n\r\n\r\n\r\n### Describe the bug\r\n\r\nWhen using prefixed routes and a language switcher as described in the docs, it seems the locale changes before the route does.\r\n\r\nWhen watching the locale with `useAsyncData()` or `useLazyAsyncData()` this will cause the results of this call to be associated with the wrong URL/path, which then has a side-effect of refetching API data which was already pre-rendered in Nuxt static mode. Therefore, the pre-rendered payload is NOT used in this pattern, even though it should.\r\n\r\nI've also seen this lead to data mismatching to the wrong paths, but this is a bit harder to create a reproduction for.\r\n\r\n### Additional context\r\n\r\nMy current workaround is this;\r\n\r\ncomposable:\r\n```js\r\nexport const useVariables = () => {\r\n const route = useRoute();\r\n const { $i18n }: any = useNuxtApp();\r\n // Don't automatically update the site and url to ensure they both change at the same time\r\n variables.uri = toValue(route.path);\r\n variables.lang = toValue($i18n?.localeProperties)?.apiLanguageHandle;\r\n\r\n // Update variables manually when the route changes, at this point both the locale AND the URI are correct.\r\n watch(() => route.path, () => {\r\n variables.uri = toValue(route.path);\r\n variables.lang = toValue($i18n?.localeProperties)?.apiLanguageHandle;\r\n });\r\n return { variables };\r\n});\r\n```\r\n\r\nthen:\r\n\r\n```js\r\nconst { variables } = useVariables();\r\nuseAsyncData(() => { console.log('trigger!') } , { watch: [ variables ] });\r\n```\r\n\r\n\r\nPerhaps it would be possible to inject the locale & locale properties into the localized route meta? That way we could just watch the route and apply the language from that.\r\n\r\nRelates to #2278 \r\n\r\n### Logs\r\n\r\n_No response_",[3261],{"name":3262,"color":3263},"switch locale","D2FCC6",2377,"`locale` changes BEFORE the route path does, which causes issues with (static) `asyncData`-payloads","2025-05-16T11:44:11Z","https://github.com/nuxt-modules/i18n/issues/2377",0.67241085,{"description":3270,"labels":3271,"number":3273,"owner":3176,"repository":3177,"state":3220,"title":3274,"updated_at":3275,"url":3276,"score":3277},"### Environment\n\n- Operating System: Darwin\n- Node Version: v23.9.0\n- Nuxt Version: 3.17.4\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: bun@1.2.12\n- Builder: -\n- User Config: compatibilityDate, devtools, future, experimental, modules, runtimeConfig, css, app, ui, icon, fonts, image, nitro, i18n, turnstile\n- Runtime Modules: @nuxt/ui@3.1.2, @nuxt/image@1.10.0, @nuxt/scripts@0.11.7, @nuxtjs/i18n@9.5.4, @nuxtjs/turnstile@1.0.0, nuxt-auth-utils@0.5.20\n- Build Modules: -\n\n### Reproduction\n\nNuxtLinkLocale's job should be to just convert the to parameter to the correct path. Right now it does too much!\n\nWhether or not a link is external is not determined by target! It should only control the transformation of to.\n\n### Describe the bug\n\n#3252\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3272],{"name":3173,"color":3174},3631,"Respect NuxtLink props, just like NuxtLink respects VueRouteLink!","2025-05-22T11:29:36Z","https://github.com/nuxt-modules/i18n/issues/3631",0.67439675,["Reactive",3279],{},["Set"],["ShallowReactive",3282],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$ftUbTtNhEApdlzhrI4EvM80YFNWk2Dchlor6U5If0qNM":-1},"/nuxt-modules/i18n/2260"]