\n 176 ┃ {{ item.label }}\n 177 ┃ \u003C/UButton>\n\n ⁃ at renderComponentSubTree (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:737:9) \n ⁃ at renderComponentVNode (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:686:12) \n ⁃ at ssrRenderComponent (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:100:10) \n ⁃ at _sfc_ssrRender (/project/layouts/default.vue:28:41) \n ⁃ at renderComponentSubTree (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:737:9) \n ⁃ at renderVNode (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:801:14) \n ⁃ at callWithNuxt (/project/node_modules/nuxt/dist/app/nuxt.js:225:24)\n\n[CAUSE]\nTypeError {\n message: '_ctx.$t is not a function',\n stack: '_ctx.$t is not a function\\n' +\n 'at _sfc_ssrRender (/project/components/Navigation.vue:175:15)\\n' +\n 'at renderComponentSubTree (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:737:9)\\n' +\n 'at renderComponentVNode (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:686:12)\\n' +\n 'at ssrRenderComponent (/project/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:100:10)\\n' +\n 'at _sfc_ssrRender (/project/layouts/default.vue:28:41)\\n' +\n '...'\n}\n```\n\n\nHence I can't start the whole application.\n\nI tried to reproduce it in the stackblitz, but all works fine there. Maybe it has something to do with my envirnoment as I deleted all .nuxt files and also removed all node modules/reinstalled them\n\n\n### Additional context\n\n\nAlso I have a previous error which then causes the application to crash:\n```\n WARN [Vue warn]: Property \"$t\" was accessed during render but is not defined on instance. 14:28:44 \n at \u003CHeaderBar>\n at \u003CDefault ref=Ref\u003C undefined > >\n at \u003CAsyncComponentWrapper ref=Ref\u003C undefined > >\n at \u003CLayoutLoader key=\"default\" layoutProps={\n ref: RefImpl {\n dep: Dep {\n computed: undefined,\n version: 0,\n activeLink: undefined,\n subs: undefined,\n map: undefined,\n key: undefined,\n sc: 0,\n __v_skip: true,\n subsHead: undefined\n },\n __v_isRef: true,\n __v_isShallow: true,\n _rawValue: undefined,\n _value: undefined\n }\n } name=\"default\" >\n at \u003CNuxtLayoutProvider layoutProps={\n ref: RefImpl {\n dep: Dep {\n computed: undefined,\n version: 0,\n activeLink: undefined,\n subs: undefined,\n map: undefined,\n key: undefined,\n sc: 0,\n __v_skip: true,\n subsHead: undefined\n },\n __v_isRef: true,\n __v_isShallow: true,\n _rawValue: undefined,\n _value: undefined\n }\n } key=\"default\" name=\"default\" ... >\n at \u003CNuxtLayout>\n at \u003CError error=(0 , __vite_ssr_import_0__.getApps) is not a function\n\n at ensureAdminApp (/app/node_modules/vuefire/dist/server/index.mjs:36:41)\n at /app/node_modules/nuxt-vuefire/dist/runtime/admin/plugin.server.js:12:68\n at /app/node_modules/nuxt/dist/app/nuxt.js:156:60\n at fn (/app/node_modules/nuxt/dist/app/nuxt.js:233:44)\n at Object.callAsync (/app/node_modules/unctx/dist/index.mjs:68:55)\n at /app/node_modules/nuxt/dist/app/nuxt.js:236:56\n at Object.runWithContext (/app/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4002:18)\n at callWithNuxt (/app/node_modules/nuxt/dist/app/nuxt.js:236:24)\n at /app/node_modules/nuxt/dist/app/nuxt.js:55:41\n at EffectScope.run (/app/node_modules/@vue/reactivity/dist/reactivity.cjs.js:85:16) >\n at \u003CNuxtRoot>\n\n[nuxt-app] vue:error: 9.872ms 14:28:44 \n[nuxt-app] app:error: 0.022ms 14:28:44 \n[nitro-runtime] error: 0.571ms\n```\n\nWhen I remove nuxt-vuefire. It works again, no error on startup.\n\nWhen I downgrade to 9.5.6 for the i18n module, it works too even with nuxt-vuefire and even with it throwing an error directly\n\n### Logs\n\n```shell\n\n```",[3044],{"name":3019,"color":3020},3755,"_ctx.$t is not a function","2025-07-23T13:58:47Z","https://github.com/nuxt-modules/i18n/issues/3755",0.7229045,{"description":3051,"labels":3052,"number":3054,"owner":3025,"repository":3026,"state":3027,"title":3055,"updated_at":3056,"url":3057,"score":3058},"### Environment\n\n------------------------------\n- Operating System: Linux\n- Node Version: v20.19.1\n- Nuxt Version: 3.17.5\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: npm@10.8.2\n- Builder: -\n- User Config: modules, devtools, nitro, i18n\n- Runtime Modules: @nuxtjs/i18n@9.5.5-29143926.54460af\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-b5evupp3?file=nuxt.config.ts\n\n### Describe the bug\n\nWhen the site is generated or pre-rendered in `strategy: 'prefix'`, Browser language detection is not performed but the site always lands on the `defaultLocale` (`ja` in this case).\nThis is a bug present in both `V9` and `V10` and it would be nice to be fixed before the final release.\n\nCurrently the only solution I have found is to specify not to pre-render the `/` page and to start from the others (by the way it is not correct that this page is prerendered in `strategy: 'prefix'`):\n```js \n routeRules: {\n '/': {\n prerender: false,\n },\n '/ja': {\n prerender: true,\n },\n '/it': {\n prerender: true,\n },\n '/en': {\n prerender: true,\n },\n },\n```\n\n### Additional context\n\nI noticed this error when deploying to Netlify, but you can reproduce it with\n`nuxt build`\n`nuxt preview`\n\n### Logs\n\n```shell\n\n```",[3053],{"name":3019,"color":3020},3678,"Browser language detection on prerendering with `strategy: 'prefix'`","2025-06-05T15:21:38Z","https://github.com/nuxt-modules/i18n/issues/3678",0.7234573,{"description":3060,"labels":3061,"number":3068,"owner":3025,"repository":3026,"state":3069,"title":3070,"updated_at":3071,"url":3072,"score":3073},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.11.0\n- Nuxt Version: 3.16.2\n- CLI Version: 3.25.0\n- Nitro Version: 2.11.9\n- Package Manager: pnpm@9.12.3\n- Builder: -\n- User Config: compatibilityDate, devtools, nitro, modules\n- Runtime Modules: nitro-cloudflare-dev@0.2.2\n- Build Modules: -\n\n### Reproduction\n\nhttps://github.com/dongnaebi/nuxt-cf\n\n### Describe the bug\n\nAfter upgrading i18n to version 9.5.3, I discovered a hydration mismatch in the production environment (Cloudflare Worker). Upon investigation, I found that `v-html` wasn't rendering properly. My code is as follows:\n\n```html\n\u003Ch1 v-html=\"t('hero').replace('\\n', '\u003Cbr>')\">\u003C/h1>\n```\n\nDowngrading to 9.5.2 resolves the issue, and everything works fine. Running `nuxt dev` locally also works, but when building locally and using `wrangler dev`, the problem can be reproduced.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3062,3065],{"name":3063,"color":3064},"possible regression","B78041",{"name":3066,"color":3067},"scope: hydration","008866",3581,"closed","v-html in version 9.5.3 not rendering correctly","2025-05-28T16:37:16Z","https://github.com/nuxt-modules/i18n/issues/3581",0.673605,{"description":3075,"labels":3076,"number":3080,"owner":3025,"repository":3026,"state":3069,"title":3081,"updated_at":3082,"url":3083,"score":3084},"### 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_",[3077],{"name":3078,"color":3079},"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.69157875,{"description":3086,"labels":3087,"number":3094,"owner":3025,"repository":3026,"state":3069,"title":3095,"updated_at":3096,"url":3097,"score":3098},"### 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```",[3088,3091],{"name":3089,"color":3090},"bug 🐛","ee0701",{"name":3092,"color":3093},"domain","fbca04",3628,"`switchLocalePath` should include the baseURL","2025-05-22T15:50:22Z","https://github.com/nuxt-modules/i18n/issues/3628",0.6927899,{"description":3100,"labels":3101,"number":3103,"owner":3025,"repository":3026,"state":3069,"title":3104,"updated_at":3105,"url":3106,"score":3107},"### 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```",[3102],{"name":3019,"color":3020},3631,"Respect NuxtLink props, just like NuxtLink respects VueRouteLink!","2025-05-22T11:29:36Z","https://github.com/nuxt-modules/i18n/issues/3631",0.69352573,{"description":3109,"labels":3110,"number":3117,"owner":3025,"repository":3026,"state":3069,"title":3118,"updated_at":3119,"url":3120,"score":3121},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.9.0`\n- Nuxt Version: `3.17.5`\n- CLI Version: `3.25.1`\n- Nitro Version: `2.11.12`\n- Package Manager: `pnpm@10.6.4`\n- Builder: `-`\n- User Config: `compatibilityDate`, `devtools`, `future`, `nitro`, `modules`, `vite`, `i18n`\n- Runtime Modules: `@nuxtjs/i18n@10.0.0-beta.9`\n- Build Modules: `-`\n\n### Reproduction\n\nhttps://github.com/mas-25/i18n-cloudflare-hydration-mismatch\n\n1. pnpm install\n2. pnpm build\n3. npx wrangler --cwd .output/ dev\n\nWhen opening `http://localhost:8787/`, a hydration mismatch error is shown.\n\n### Describe the bug\n\nWhen deploying to Cloudflare Workers, all my pages get a hydration mismatch. In Development mode, there are no issues.\n\nOn production, it only shows the translation key, and not the translation value.\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3111,3114],{"name":3112,"color":3113},"scope: locales","006b75",{"name":3115,"color":3116},"scope: dynamic resources","38FB12",3681,"Hydration mismatch on production (cloudflare)","2025-06-07T20:32:02Z","https://github.com/nuxt-modules/i18n/issues/3681",0.696767,{"description":3123,"labels":3124,"number":3131,"owner":3025,"repository":3026,"state":3069,"title":3132,"updated_at":3133,"url":3134,"score":3135},"### Environment\r\n\r\n```\r\n❯ npx nuxi info\r\nWorking directory: /home/projects/github-q5ddsy 17:08:17\r\nNuxt project info: 17:08:17\r\n\r\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v18.20.3\r\n- Nuxt Version: 3.13.1\r\n- CLI Version: 3.13.1\r\n- Nitro Version: 2.9.7\r\n- Package Manager: npm@10.2.3\r\n- Builder: -\r\n- User Config: compatibilityDate, devtools, modules, pages, routeRules, i18n\r\n- Runtime Modules: @nuxtjs/i18n@8.5.3\r\n- Build Modules: -\r\n------------------------------\r\n\r\n 17:08:17\r\n👉 Report an issue: https://github.com/nuxt/nuxt/issues/new?template=bug-report.yml\r\n👉 Suggest an improvement: https://github.com/nuxt/nuxt/discussions/new\r\n👉 Read documentation: https://nuxt.com\r\n```\r\n\r\n### Reproduction\r\n\r\nReproduction here:\r\n\r\nhttps://stackblitz.com/edit/github-q5ddsy-62oh2a?file=.output%2Fpublic%2Findex.html\r\n\r\nSummary: Using nuxt-i18n with a default language and a translated language\r\n\r\n### Describe the bug\r\n\r\n**Please check the output index.html at**\r\n\r\n- either live in your browser\r\n- build the project with `npx nuxt build --preset github_pages`\r\n\r\nTake a look at the __auto-generated__ `\u003Clink>` elements, especially the `rel=\"alternate\"` & `red=\"canonical\"`:\r\n\r\n```html\r\n\u003Clink id=\"i18n-alt-en\" rel=\"alternate\" href=\"https://example.com/en\" hreflang=\"en\">\r\n\u003Clink id=\"i18n-alt-en-US\" rel=\"alternate\" href=\"https://example.com/en\" hreflang=\"en-US\">\r\n\u003Clink id=\"i18n-alt-de\" rel=\"alternate\" href=\"https://example.com\" hreflang=\"de\">\r\n\u003Clink id=\"i18n-alt-de-DE\" rel=\"alternate\" href=\"https://example.com\" hreflang=\"de-DE\">\r\n\u003Clink id=\"i18n-xd\" rel=\"alternate\" href=\"https://example.com\" hreflang=\"x-default\">\r\n\u003Clink id=\"i18n-can\" rel=\"canonical\" href=\"https://example.com\">\r\n```\r\n\r\nNotice, that the same URL `https://example.com` is being referred to, from: \r\n\r\n```\r\n\u003Clink id=\"i18n-xd\" rel=\"alternate\" href=\"https://example.com\" hreflang=\"x-default\">\r\n\u003Clink id=\"i18n-can\" rel=\"canonical\" href=\"https://example.com\">\r\n\u003Clink id=\"i18n-alt-de\" rel=\"alternate\" href=\"https://example.com\" hreflang=\"de\">\r\n```\r\n\r\nThat leads in SEO indexing/crawling, to an issue:\r\n\r\n- Bing Webmaster tools are complaining about the canonical link, referring to a link that is already marked as an alternative translation\r\n- Google Search Console is complaining about the same issue\r\n\r\nURL that I requested indexing for: https://waldemarenns.de/\r\n\r\nBing Webmaster Tools:\r\n\r\n```\r\nURL cannot be indexed by Bing\r\nThe URL is not indexable as the page is an alternate version of the similar page which you have specified as canonical version using a \u003Clink rel=\"canonical\"> tag. Bing does not index the alternate version.\r\nCanonical URL :https://waldemarenns.de/en\r\n```\r\n\r\n**Screenshot:**\r\n\r\n\r\n\r\nGoogle Page Speed Insights:\r\n\r\n```\r\nDocument does not have a valid rel=canonicalPoints to another `hreflang` location (https://waldemarenns.de/)\r\n```\r\n\r\n**Screenshot:**\r\n\r\n\r\n\r\nTake a look: https://pagespeed.web.dev/analysis/https-waldemarenns-de/30jj8518lg?form_factor=desktop\r\n\r\nℹ️ Feel free to inspect my site that is mentioned.\r\n\r\n### Additional context\r\n\r\nRefers to #2925\r\n\r\n### Logs\r\n\r\n_No response_",[3125,3128],{"name":3126,"color":3127},"❗ p4-important","d93f0b",{"name":3129,"color":3130},"scope: seo","30CDE0",3099,"Build output has canonical link linking to the same URL as another alternate link, leading to SEO issues","2025-05-24T23:09:03Z","https://github.com/nuxt-modules/i18n/issues/3099",0.70327216,["Reactive",3137],{},["Set"],["ShallowReactive",3140],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fGYGw-kfLtxJUOfjxtmPo3rTt0c3SCIgPcbO_7p8KV8c":-1},"/nuxt-modules/i18n/3701"]