\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```",[3041],{"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.7294317,{"description":3048,"labels":3049,"number":3053,"owner":3022,"repository":3023,"state":3024,"title":3054,"updated_at":3055,"url":3056,"score":3057},"### Environment\n\n* Nuxt: `^3.x`\n* @nuxtjs/i18n: `^9.x`\n* Package manager: `pnpm`\n* Node: `>=18`\n* OS: macOS\n\n### Reproduction\n\n\n#### 🧩 What I'm trying to do\n\nI want to **dynamically disable translation for some pages**, such as `/admin` or any route matching a certain pattern, by injecting into the `i18n.pages` config like this:\n\n```ts\ni18n: {\n customRoutes: 'config',\n pages: {\n 'admin': false\n }\n}\n```\n\nBut I want to do this **dynamically from another Nuxt module**, based on logic like:\n\n* Whether route path starts with `/admin`\n* Whether the file name includes certain keywords\n* Optional user-defined exclude rule function\n\n---\n\n#### 📌 Problem\n\nThe `pages:extend` hook gives access to all generated Nuxt pages, and I can detect which pages I want to exclude, then inject:\n\n```ts\nnuxt.options.i18n.pages = {\n ...nuxt.options.i18n.pages,\n ...detectedPagesToExclude\n}\n```\n\nHowever, **`@nuxtjs/i18n` appears to snapshot the config too early**, likely before `pages:extend` runs, and generates `i18n-options.mjs` using an internal `ctx.options`, so my dynamic changes to `nuxt.options.i18n.pages` do **not reflect** in the generated options.\n\n---\n\n### Describe the bug\n\n\n#### ❓Question\n\nIs there an **official or recommended way** to dynamically inject/disable page translation settings (`customRoutes: 'config'` + `pages`) at runtime or module time?\n\nMore specifically:\n\n* Can you expose a Nuxt hook like `i18n:extendPagesConfig(pages)` before generating `i18n-options.mjs`?\n* Or is there a safe way to hook into `ctx.options.pages` in a custom module?\n* Or should we write a wrapper module that overrides the `i18n` module setup?\n\n---\n\n#### 🧪 What I tried\n\n```ts\nnuxt.hook('pages:extend', pages => {\n for (const page of pages) {\n if (page.path.startsWith('/admin') && page.name) {\n nuxt.options.i18n.pages[page.name] = false\n }\n }\n})\n```\n\nBut this doesn't reflect in the generated `.nuxt/i18n-options.mjs` file.\n\n---\n\n#### 🙏 Feature request?\n\nCould you consider adding a hook like:\n\n```ts\nnuxt.hook('i18n:extendPagesConfig', (pages: NuxtPage[], currentConfig: Record\u003Cstring, any>) => {\n // modify and return updated pages config\n})\n```\n\nSo that other modules (like `i18n-exclude`) can safely hook in and modify translation strategy for specific routes?\n\n---\n\nLet me know if there's already a supported way to do this.\n\nThanks a lot for the amazing work on `@nuxtjs/i18n` 🙌\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3050],{"name":3051,"color":3052},"feature request","ffbb00",3716,"Allow modules to modify route localization","2025-07-03T17:06:13Z","https://github.com/nuxt-modules/i18n/issues/3716",0.73183846,{"description":3059,"labels":3060,"number":3062,"owner":3022,"repository":3023,"state":3063,"title":3064,"updated_at":3065,"url":3066,"score":3067},"### Environment\n\nReproduction env:\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: pnpm@8.15.6\n- Builder: -\n- User Config: modules, future, compatibilityDate, devtools, i18n\n- Runtime Modules: @nuxtjs/i18n@10.0.0-rc.1\n- Build Modules: -\n\nLocal dev env:\n- Operating System: Linux\n- Node Version: v22.16.0\n- Nuxt Version: 3.17.5\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.13\n- Package Manager: pnpm@10.12.4\n- Builder: -\n- User Config: modules, future, compatibilityDate, devtools, experimental, plugins, css, app, nitro, router, routeRules, runtimeConfig, fonts, i18n, icon, image, pwa, robots, security, typescript, vite, webVitals\n- Runtime Modules: nuxt-security@2.2.0, @pinia/nuxt@0.11.1, @nuxtjs/i18n@10.0.0-rc.1, @nuxtjs/robots@5.2.11, @nuxt/content@3.6.1, @nuxt/fonts@0.11.4, @nuxt/icon@1.15.0, @nuxt/image@1.10.0, @nuxtjs/color-mode@3.5.2, @vueuse/nuxt@13.4.0, @vueuse/motion/nuxt@3.0.3, @vite-pwa/nuxt@1.0.4, @nuxtjs/web-vitals@0.2.7, @nuxt/eslint@1.4.1, @nuxt/test-utils/module@3.19.1\n- Build Modules: -\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-jjpn8kps\n\nRun `pnpm typecheck` after installing dependencies (`pnpm install`), and see the error.\n\n### Describe the bug\n\nThe next i18n implementation breaks types augmentation, for example, defining PageMeta additional props leads to TS error:\n// auth.d.ts\n```ts\ntype AccountRoleType = 'admin' | 'user'\n\ndeclare module '#app' {\n interface PageMeta {\n roles?: AccountRoleType[]\n }\n}\n\nexport {}\n```\nand in middleware/auth.ts\n```ts\nexport default defineNuxtRouteMiddleware(async (to) => {\n if (!to.meta.roles?.includes('admin')) {\n throw createError({\n statusCode: 404,\n message: 'Not found',\n fatal: true,\n })\n }\n})\n```\n\nleads to this TS error:\n```\nerror TS2339: Property 'includes' does not exist on type '{}'.\n```\n\n### Additional context\n\nIf I remember correctly, nuxt/i18n module v10.0.0-beta.1 was working correctly. A couple of days ago I tried beta.10 and today - rc.1, and such TS error start throwing.\n\n### Logs\n\n```shell\npnpm typecheck\n\n> nuxt-app@ typecheck /home/projects/github-jjpn8kps\n> nuxi typecheck\n\n\n[2:28:51 PM] ERROR (node:19) ExperimentalWarning: WASI is an experimental feature and might change at any time\n(Use node --trace-warnings ... to show where the warning was created)\n\n\n WARN Slow module @nuxt/devtools took 23273.91ms to setup. 2:29:30 PM\n\nℹ Running with compatibility version 4 nuxt 2:29:41 PM\napp/middleware/auth.ts:2:23 - error TS2339: Property 'includes' does not exist on type '{}'.\n\n2 if (!to.meta.roles?.includes('admin')) {\n ~~~~~~~~\n\n\nFound 1 error in app/middleware/auth.ts:2\n\n\n ERROR Process exited with non-zero status (2) 2:30:30 PM\n\n at new x (node_modules/.pnpm/tinyexec@1.0.1/node_modules/tinyexec/dist/main.js:440:5)\n at R._waitForOutput (node_modules/.pnpm/tinyexec@1.0.1/node_modules/tinyexec/dist/main.js:548:13)\n at async Object.run (node_modules/.pnpm/@nuxt+cli@3.25.1/node_modules/@nuxt/cli/dist/chunks/typecheck.mjs:60:7)\n at async runCommand (node_modules/.pnpm/citty@0.1.6/node_modules/citty/dist/index.mjs:337:16)\n at async runCommand (node_modules/.pnpm/citty@0.1.6/node_modules/citty/dist/index.mjs:328:11)\n at async Module.runMain (node_modules/.pnpm/citty@0.1.6/node_modules/citty/dist/index.mjs:466:7) \n\n\n\n ERROR Process exited with non-zero status (2) 2:30:30 PM\n\n ELIFECYCLE Command failed with exit code 1.\n```",[3061],{"name":3019,"color":3020},3713,"closed","[v10.0.0-rc.1] Breaks PageMeta augmentation","2025-06-30T19:00:03Z","https://github.com/nuxt-modules/i18n/issues/3713",0.6974993,{"description":3069,"labels":3070,"number":3077,"owner":3022,"repository":3023,"state":3063,"title":3078,"updated_at":3079,"url":3080,"score":3081},"### Environment\n\n------------------------------\n- Operating System: Darwin\n- Node Version: v20.18.0\n- Nuxt Version: 3.16.0\n- CLI Version: 3.22.5\n- Nitro Version: 2.11.6\n- Package Manager: pnpm@9.12.2\n- Builder: -\n- User Config: modules, devtools, app, css, runtimeConfig, future, compatibilityDate, vite, postcss, eslint, i18n, image, prismic\n- Runtime Modules: @nuxt/eslint@1.2.0, @nuxtjs/prismic@4.1.0, @nuxt/fonts@0.11.0, @nuxtjs/i18n@9.3.1, @nuxt/image@1.9.0, @vueuse/nuxt@13.0.0\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-w8n5eqto?file=pages%2Findex.vue\n\n### Describe the bug\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3071,3074],{"name":3072,"color":3073},"🍰 p2-nice-to-have","0e8a16",{"name":3075,"color":3076},"scope: components","B327C3",3402,"Double nested `NuxtLinkLocale`","2025-05-30T19:25:27Z","https://github.com/nuxt-modules/i18n/issues/3402",0.69970626,{"description":3083,"labels":3084,"number":3086,"owner":3022,"repository":3023,"state":3063,"title":3087,"updated_at":3088,"url":3089,"score":3090},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.16.0\n- Nuxt Version: 3.17.7\n- CLI Version: 3.26.2\n- Nitro Version: 2.12.2\n- Package Manager: pnpm@10.13.1\n- Builder: -\n- User Config: compatibilityDate, future, devtools, telemetry, debug, runtimeConfig, app, css, postcss, tailwindcss, modules, cms, build, storefront, storefront-ui, svgo, fonts, image, experimental, i18n, opentelemetry, imports, vueuse, components, vue, devServer, ignore, routeRules, vite, hooks, nitro, optimization\n- Runtime Modules: @nuxtjs/i18n@10.0.0, @scayle/storefront-nuxt/module@8.33.2, @scayle/omnichannel-nuxt/module@4.3.2, @nuxtjs/tailwindcss@6.14.0, nuxt-svgo@4.2.4, @nuxt/fonts@0.11.4, @nuxt/image@1.10.0, @vueuse/nuxt@13.5.0, nuxt-swiper@1.2.2, @nuxt/test-utils/module@3.19.2, @nuxt/eslint@1.4.1, @scayle/eslint-auto-explicit-import@0.2.0, @scayle/nuxt-opentelemetry@0.13.10, @scayle/storefront-country-detection@2.0.0, @scayle/storefront-product-detail@1.5.0, @scayle/storefront-product-listing@2.0.1, @scayle/storefront-promotions@2.2.0, @scayle/storefront-search@0.3.0, @scayle/storefront-basket@0.3.0, @scayle/storefront-navigation@0.3.0, @scayle/nuxt-image-provider@0.3.1, @nuxtjs/storybook@8.4.1\n- Build Modules: -\n\n### Reproduction\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-a8x1bxda?file=i18n%2Fi18n.config.ts\n\n### Describe the bug\n\nI use a module that relies on the correct locale during SSR. When I set the strategy to `prefix` and open some site without prefix but with query params, the default locale is missing during SSR. \n\nIn my case, this cause the page to crash. \n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3085],{"name":3019,"color":3020},3733,"Redirects are not properly resolved when the URL contians query params","2025-07-19T09:16:15Z","https://github.com/nuxt-modules/i18n/issues/3733",0.71516967,{"description":3092,"labels":3093,"number":3100,"owner":3022,"repository":3023,"state":3063,"title":3101,"updated_at":3102,"url":3103,"score":3104},"### Environment\r\n\r\n------------------------------\r\n- Operating System: Darwin\r\n- Node Version: v22.2.0\r\n- Nuxt Version: 3.12.3\r\n- CLI Version: 3.12.0\r\n- Nitro Version: 2.9.7\r\n- Package Manager: pnpm@9.1.2\r\n- Builder: -\r\n- User Config: app, modules, i18n, components, experimental, routeRules, vuefire, imports, vite, devtools\r\n- Runtime Modules: @vueuse/nuxt@10.11.0, nuxt-lodash@2.5.3, @pinia/nuxt@0.5.1, nuxt-vuefire@1.0.2, @nuxtjs/i18n@8.3.1, @nuxt/content@2.13.1\r\n- Build Modules: -\r\n------------------------------\r\n\r\n### Reproduction\r\n\r\nNavigate to the login screen, the original route path is `/auth/signin`, not `/Auth/Signin`\r\n\r\nThis discrepancy is due to the `i18n` route override process, which takes into account the casing of the actual files or folders in the pages directory. This behavior contrasts with Nuxt and its router, which normalize all paths to lowercase.\r\n\r\n[Live Version](https://skriptjobs-layers-4.vercel.app/) \r\n \r\n### Describe the bug\r\n\r\n It would be preferable for this behavior to be configurable via a flag, rather than needing the creation of a plugin or middleware to address this undesired outcome. \r\n\r\n",[3094,3097],{"name":3095,"color":3096},"need reproduction","CD234A",{"name":3098,"color":3099},"scope: routing","21CD73",3018,"Undesired Route Path Casing Override","2025-06-03T21:54:18Z","https://github.com/nuxt-modules/i18n/issues/3018",0.71592665,{"description":3106,"labels":3107,"number":3112,"owner":3022,"repository":3023,"state":3063,"title":3113,"updated_at":3114,"url":3115,"score":3116},"### Environment\n\n- Operating System: Windows 10\r\n- Node Version: v20.9.0\r\n- Nuxt Version: 3.12.4\r\n- Nitro Version: 2.9.7\r\n- Package Manager: npm@10.8.1\r\n- User Config: i18n, vite\r\n- Runtime Modules: @nuxtjs/i18n@8.3.3\n\n### Reproduction\n\n[https://stackblitz.com/~/github.com/patriciorivera/i18n](https://stackblitz.com/~/github.com/patriciorivera/i18n)\r\n[https://github.com/patriciorivera/i18n](https://github.com/patriciorivera/i18n)\r\n\n\n### Describe the bug\n\nI'm not sure if it's a bug. It's possibly something I'm doing wrong, but I can't figure it out. \r\n\r\nI'm getting vue-router warnings in the devtools when I'm on a page that has dynamic parameters and uses useSetI18nParams() and I go to another route that doesn't have parameters.\r\n\r\nReproduction:\r\n1) click on a product\r\n2) click about section or home\r\n\r\nYou will see vue-router warnings at chrome devtools\r\n\r\n\r\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3108,3111],{"name":3109,"color":3110},"🔨 p3-minor-bug","fbca04",{"name":3098,"color":3099},3049,"vue-router warnings when leaving a url with useSetI18nParams().","2025-06-08T16:28:14Z","https://github.com/nuxt-modules/i18n/issues/3049",0.7212021,{"description":3118,"labels":3119,"number":3121,"owner":3022,"repository":3023,"state":3063,"title":3122,"updated_at":3123,"url":3124,"score":3125},"### Environment\n\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v20.14.0\r\n- Nuxt Version: 3.12.4\r\n- CLI Version: 3.12.0\r\n- Nitro Version: 2.9.7\r\n- Package Manager: yarn@1.22.22\r\n- Builder: -\r\n- User Config: ssr, compatibilityDate, devtools, modules, components, runtimeConfig, site, ogImage, i18n, tailwindcss, sitemap, content, gtag, cookieControl\r\n- Runtime Modules: @nuxtjs/i18n@8.3.3, @nuxtjs/tailwindcss@6.12.1, @nuxtjs/seo@2.0.0-rc.16, @nuxt/content@2.13.2, @nuxthq/studio@2.0.3, nuxt-gtag@2.1.0, @dargmuesli/nuxt-cookie-control@8.4.7\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\nwww.vinoteqa.com/blog\n\n### Describe the bug\n\nWhen I try to visit a page, other than the root, I get redirected to the localized url but still get a error. As soon as I reload the page, it is displayed correctly. \r\n\r\nTry it at: www.vinoteqa.com/blog\r\n\r\nAm I missing some configuration?\n\n### Additional context\n\n```ts\r\n i18n: {\r\n defaultLocale: 'en',\r\n locales: [{\r\n code: 'en',\r\n iso: 'en',\r\n name: 'English',\r\n file: 'en.json',\r\n },\r\n {\r\n code: 'de',\r\n iso: 'de',\r\n name: 'Deutsch',\r\n file: 'de.json',\r\n },\r\n {\r\n code: 'it', \r\n iso: 'it',\r\n name: 'Italiano',\r\n file: 'it.json',\r\n }],\r\n strategy: 'prefix',\r\n lazy: false,\r\n langDir: 'locales/',\r\n },\r\n ```\r\n \r\n \n\n### Logs\n\n_No response_",[3120],{"name":3019,"color":3020},3062,"404 on all pages other than root with `prefix` strategy","2025-05-21T19:36:56Z","https://github.com/nuxt-modules/i18n/issues/3062",0.72291815,["Reactive",3127],{},["Set"],["ShallowReactive",3130],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f5sh51QvqBl9_MjrbKmGyNMgHMUDeRcPT7QCi2Io9ijQ":-1},"/nuxt-modules/i18n/3504"]