\n\n### Describe the bug\n\nWith the default settings and `experimental.typedPages: true` the generated types are not correctly picked up.\n\nIf I rename `RouteNamedMapI18n` to `RouteNamedMap` the types are available.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3174],{"name":3175,"color":3176},"pending triage","c2e0c6",3771,"nuxt-modules","i18n","open","useRoute needs suffix to work","2025-08-05T16:28:06Z","https://github.com/nuxt-modules/i18n/issues/3771",0.7108546,{"description":3186,"labels":3187,"number":3189,"owner":3178,"repository":3179,"state":3180,"title":3190,"updated_at":3191,"url":3192,"score":3193},"### Environment\n\nThe issue is not happening in local, only on Vercel (preview and production env).\nBut still here are the local information:\n- Operating System: Windows_NT\n- Node Version: v22.17.0\n- Nuxt Version: 3.18.1\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.4\n- Package Manager: yarn@4.9.2\n- Builder: -\n- User Config: app, ssr, nitro, components, image, plugins, build, typescript, modules, imports, runtimeConfig, ui, icon, i18n, vite, compatibilityDate, devtools, site, \nschemaOrg, ogImage\n- Runtime Modules: @nuxt/image@1.11.0, @nuxtjs/i18n@10.0.6, @nuxtjs/seo@3.1.0, @nuxt/ui@3.3.2, @nuxt/fonts@0.11.4, @nuxt/eslint@1.9.0\n- Build Modules: -\n\n\nOn the Vercel side, nothing has really been tweaked (no env variables), it takes the default config.\n\u003Cimg width=\"927\" height=\"550\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ba24b828-c014-4c83-994a-d199031ac827\" />\n\n### Reproduction\n\nHere is the repo where the issue is happening:\nhttps://github.com/PABERTHIER/atelier-libr-emotions\nFor this PR more precisely:\nhttps://github.com/PABERTHIER/atelier-libr-emotions/pull/22/files\n\nYou can find the nuxt-config here:\nhttps://github.com/PABERTHIER/atelier-libr-emotions/blob/main/nuxt.config.ts\n\nI can't put into production the issue since it will break the images rendering.\nBut you can find more information in the **Describe the bug** section.\n\n### Describe the bug\n\nI know that sounds weird because nuxtjs/i18n is not tied to NuxtImg / IPX / Vercel but still, the issue is only happening when I upgrade the nuxtjs/i18n package from 9.5.6 to 10.0.6.\nI've tried many things to resolve this issue but without success.\nI've checked all breaking changes and I don't think those have a direct impact to this issue.\nCould it be related to all new packages added / modified ?\nOr maybe something about I18n intercepting the route ?\n\nI know there already are some issues like this in the NuxtImg repo:\nhttps://github.com/nuxt/image/issues/1281\nBut still, I never experienced it since the migration to V10.\nWhen rollbacking to 9.5.6 the issue disappears so there is a direct link.\n\nFor the record, it is intentional to use IPX as the provider instead of Vercel.\n\nSince the upgrade, I'm getting 404 for images rendered with IPX:\n{error: {message: \"[404] [IPX_FILE_NOT_FOUND] File not found: /paintings/celestial-collision.jpg\"}}\n\n- **Before the upgrade**:\n\u003Cimg width=\"1016\" height=\"715\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ce265489-8260-4e83-9936-9a4a542be950\" />\n\n- **After the upgrade**:\n\u003Cimg width=\"1022\" height=\"352\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/1f3f854b-ceee-41b0-935d-9fdaef11c21d\" />\n\u003Cimg width=\"1410\" height=\"196\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/c93d82ec-735c-4485-95ac-eb8e816c367a\" />\n\u003Cimg width=\"666\" height=\"57\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/f33f4988-4b44-4e0e-9bbe-c2ad7b91a07a\" />\n\n- **For the generated HTML**:\nBefore the upgrade:\n\u003Cimg width=\"1126\" height=\"136\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/41225aa1-a371-43f8-bb9b-14cc5307b515\" />\n\nAfter the upgrade:\n\u003Cimg width=\"1123\" height=\"103\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/8f47c7c9-ba34-4fe5-a83f-10712fc2876b\" />\n\n### Additional context\n\nIf you need more information, feel free to ask, I will do my best to provide anything useful.\nI'd happy to help.\nI wanted to point out that issue and try to understand what is really happening under the hood.\n\n### Logs\n\n```shell\n\n```",[3188],{"name":3175,"color":3176},3796,"Unable to display NuxtImg on Vercel when using the IPX provider since V10 migration","2025-08-23T12:16:49Z","https://github.com/nuxt-modules/i18n/issues/3796",0.7120172,{"description":3195,"labels":3196,"number":3201,"owner":3178,"repository":3179,"state":3180,"title":3202,"updated_at":3203,"url":3204,"score":3205},"### Environment\n\nnpx nuxi info\nWorking directory: C:/Users/senem/MEM22 nuxi 01:42:27\nNuxt project info: (copied to clipboard) nuxi 01:42:27\n\n------------------------------\n- Operating System: Windows_NT\n- Node Version: v20.19.4\n- Nuxt Version: 3.17.7\n- CLI Version: 3.26.2\n- Nitro Version: 2.12.3\n- Package Manager: npm@10.8.2\n- Builder: -\n- User Config: compatibilityDate, devtools, ssr, app, pages, modules, css, postcss, supabase, vite, sourcemap, routeRules, nitro, site, sitemap, plugins, headers, i18n\n- Runtime Modules: @nuxtjs/i18n@10.0.3, @nuxt/eslint@1.6.0, @nuxt/icon@1.15.0, @nuxt/image@1.10.0, @nuxtjs/tailwindcss@6.14.0, @nuxtjs/supabase@1.5.3, @nuxtjs/sitemap@7.4.3\n- Build Modules: -\n------------------------------\n\n👉 Report an issue: https://github.com/nuxt/nuxt/issues/new?template=bug-report.yml\n👉 Suggest an improvement: https://github.com/nuxt/nuxt/discussions/new\n👉 Read documentation: https://nuxt.com\n\n### Reproduction\n\nhttps://github.com/EnsMsgLu/nuxt-i18n-issue\n\n### Describe the bug\n\nit doesnt working with subdomains \n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3197,3198],{"name":3175,"color":3176},{"name":3199,"color":3200},"need reproduction","CD234A",3767,"Its not working Home page on Subdomain","2025-07-31T10:28:33Z","https://github.com/nuxt-modules/i18n/issues/3767",0.7204668,{"description":3207,"labels":3208,"number":3210,"owner":3178,"repository":3179,"state":3180,"title":3211,"updated_at":3212,"url":3213,"score":3214},"### Environment\n\n- Node Version: v23.11.0\n- Nuxt Version: 3.17.5\n- Nitro Version: 2.11.12\n- @nuxtjs/i18n: 9.5.5\n- Package Manager: pnpm@9.5.0\n\n### Reproduction\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-5cgp8cfo?file=package.json,components%2FLangSwitcher.vue,pages%2Findex.vue,pages%2Fnews%2Findex.vue,pages%2Fnews%2F[slug]%2Findex.vue,nuxt.config.ts\n\n### Describe the bug\n\nWhen using a simple language switcher like this:\n\n```vue\n\u003Ctemplate>\n \u003Cdiv class=\"lang-switch\">\n \u003CNuxtLink\n v-for=\"availableLocale in availableLocales\"\n :key=\"availableLocale.code\"\n :to=\"switchLocalePath(availableLocale.code)\"\n >\n {{ availableLocale.name }}\n \u003C/NuxtLink>\n \u003C/div>\n\u003C/template>\n\n\u003Cscript setup>\nconst { locale, locales } = useI18n();\nconst switchLocalePath = useSwitchLocalePath();\nconst availableLocales = computed(() => {\n return locales.value.filter((i) => i.code !== locale.value);\n});\n\u003C/script>\n```\n\nIf you are on a dynamic route (e.g. `/news/[slug]`), navigating to another page causes Vue Router to warn:\n\n```\n[Vue Router warn]: Discarded invalid param(s) \"slug\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.\n```\n\n## Expected behavior\nNo warning should be emitted when navigating, even from dynamic routes.\n\n## Actual behavior\nA warning is emitted every time the user navigates from a dynamic route to another page.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n[Vue Router warn]: Discarded invalid param(s) \"slug\" when navigating. \nSee https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.\nlocalePathFor\t@\tindex.vue?t=1750772396716:31\n(anonymous)\t@\tindex.vue?t=1750772396716:51\n_sfc_render\t@\tindex.vue?t=1750772396716:48\n```",[3209],{"name":3175,"color":3176},3702,"Language switcher with switchLocalePath causes [Vue Router warn]: Discarded invalid param(s) \"slug\" on dynamic routes","2025-06-24T14:14:55Z","https://github.com/nuxt-modules/i18n/issues/3702",0.72282493,{"description":3216,"labels":3217,"number":3219,"owner":3178,"repository":3179,"state":3180,"title":3220,"updated_at":3221,"url":3222,"score":3223},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.14.0`\n- Nuxt Version: `3.17.6`\n- CLI Version: `3.25.1`\n- Nitro Version: `2.11.13`\n- Package Manager: `npm@10.9.2`\n- Builder: `-`\n- User Config: `compatibilityDate`, `devtools`, `modules`, `i18n`\n- Runtime Modules: `@nuxtjs/i18n@9.5.6`\n- Build Modules: `-`\n\n\n### Reproduction\n\n[https://github.com/ap-arto/define-i18n-route-issue](https://github.com/ap-arto/define-i18n-route-issue)\n \n1. Run the development server:`npm run dev`\n2. Visit localhost:3000\n3. Observe that the `spanish___es` route has been created, even though this domain is meant to serve only the `en` locale and the `/spanish` page shouldn't be available.\n\n### Describe the bug\n\nWhen using customRoutes: 'config' with manually specified pages, everything works as expected. However, defineI18nRoute appears to be broken in this edge case.\n\n### Additional context\n\nThis might be related to that issue: https://github.com/nuxt-modules/i18n/issues/3226\n\n### Logs\n\n```shell\n\n```",[3218],{"name":3175,"color":3176},3721,"defineI18nRoute includes routes for other locales when using 'no_prefix' and differentDomains","2025-07-11T09:46:02Z","https://github.com/nuxt-modules/i18n/issues/3721",0.7274774,{"description":3225,"labels":3226,"number":3228,"owner":3178,"repository":3179,"state":3180,"title":3229,"updated_at":3230,"url":3231,"score":3232},"### Environment\n\n------------------------------\n- Operating System: Windows_NT\n- Node Version: v22.12.0\n- Nuxt Version: 4.0.1\n- CLI Version: 3.26.4\n- Nitro Version: 2.12.4\n- Package Manager: npm@11.1.0\n- Builder: -\n- User Config: modules, imports, devtools, app, css, router, site, colorMode, runtimeConfig, generate, dev, compatibilityDate, nitro, debug, eslint, i18n, ogImage, robots, security, vuefire\n- Runtime Modules: @nuxt/ui@3.2.0, @nuxt/eslint@1.7.0, @nuxtjs/seo@3.1.0, @nuxtjs/i18n@10.0.2, nuxt-security@2.3.0, nuxt-vuefire@1.1.0\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nThe problem starts to appear after updating to nuxt-i18n v10 module\n\nWhat we can do to replicate:\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-dwb5kaqj?file=nuxt.config.ts\n\n### Describe the bug\n\nAfter updating i19n from version 9.5.6 to 10.0.2 I receive the following error on startup\n\n```\n[16:02:12] ERROR [request error] [unhandled] [GET] http://localhost:3000/__nuxt_error?error=true&url=%2Fdashboard&statusCode=500&statusMessage=Internal+Server+Error&message=(0%2C+__vite_ssr_import_0__.getApps)+is+not+a+function&stack=(0%2C+__vite_ssr_import_0__.getApps)+is+not+a+function%0Aat+ensureAdminApp+(/project/node_modules/vuefire/dist/server/index.mjs:42:17)%0Aat+/project/node_modules/nuxt-vuefire/dist/runtime/admin/plugin.server.js:13:62)%0Aat+/project/node_modules/nuxt/dist/app/nuxt.js:142:40)%0Aat+fn+(/project/node_modules/nuxt/dist/app/nuxt.js:220:36)%0Aat+Object.callAsync+(/project/node_modules/unctx/dist/index.mjs:72:47)%0Aat+/project/node_modules/nuxt/dist/app/nuxt.js:225:52)%0Aat+Object.runWithContext+(/project/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4020:18)%0Aat+callWithNuxt+(/project/node_modules/nuxt/dist/app/nuxt.js:225:24)%0Aat+/project/node_modules/nuxt/dist/app/nuxt.js:61:41)%0Aat+EffectScope.run+(/project/node_modules/@vue/reactivity/dist/reactivity.cjs.js:97:16)\n\nℹ Error: _ctx.$t is not a function\n\n ⁃ at _sfc_ssrRender (/project/components/Navigation.vue:175:15)\n\n 171 ┃ \u003CUButton\n 172 ┃ variant=\"ghost\"\n 173 ┃ :aria-label=\"item.label\"\n 174 ┃ >\n ❯ 175 ┃ \u003CUIcon :name=\"item.icon\" />\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```",[3227],{"name":3175,"color":3176},3755,"_ctx.$t is not a function","2025-07-23T13:58:47Z","https://github.com/nuxt-modules/i18n/issues/3755",0.7294317,{"description":3234,"labels":3235,"number":3239,"owner":3178,"repository":3179,"state":3180,"title":3240,"updated_at":3241,"url":3242,"score":3243},"### 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```",[3236],{"name":3237,"color":3238},"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":3245,"labels":3246,"number":3248,"owner":3178,"repository":3179,"state":3249,"title":3250,"updated_at":3251,"url":3252,"score":3253},"### 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```",[3247],{"name":3175,"color":3176},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":3255,"labels":3256,"number":3263,"owner":3178,"repository":3179,"state":3249,"title":3264,"updated_at":3265,"url":3266,"score":3267},"### 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```",[3257,3260],{"name":3258,"color":3259},"🍰 p2-nice-to-have","0e8a16",{"name":3261,"color":3262},"scope: components","B327C3",3402,"Double nested `NuxtLinkLocale`","2025-05-30T19:25:27Z","https://github.com/nuxt-modules/i18n/issues/3402",0.69970626,{"description":3269,"labels":3270,"number":3275,"owner":3178,"repository":3179,"state":3249,"title":3276,"updated_at":3277,"url":3278,"score":3279},"### Environment\n\n------------------------------\n- Operating System: Darwin\n- Node Version: v22.14.0\n- Nuxt Version: 4.0.3\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.4\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: runtimeConfig, graphql-client, app, site, seo, devtools, nitro, build, css, modules, components, sentry, sourcemap, googleFonts, dayjs, i18n, image, compatibilityDate\n- Runtime Modules: @nuxtjs/google-fonts@3.2.0, @nuxtjs/i18n@10.0.4, @nuxt/image@1.11.0, @nuxtjs/tailwindcss@6.14.0, @pinia/nuxt@0.11.2, nuxt-graphql-client@0.2.46, @nuxtjs/seo@3.1.0, dayjs-nuxt@2.1.11, @sentry/nuxt/module@10.4.0, @vite-pwa/nuxt@1.0.4\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nNot sure\n\n### Describe the bug\n\nI have a `app/pages/businesses/[slug]/register.vue` and a `app/pages/businesses/[slug]/dotoos/index.vue` page which both broke when updating to 10.0.4:\nThey return a 404 page not found.\n\nNow for example in `app/pages/businesses/[slug]/dotoos/index.vue` I have this:\n```vue\ndefineI18nRoute({\n paths: {\n en: '/businesses/[business_slug]/dotoos',\n nl: '/bedrijven/[business_slug]/dotoos',\n },\n})\n```\n\nSo my url `http://localhost:3000/bedrijven/test/dotoos` should work.\n\nI deleted my lockfile, node modules AND `.nuxt` file and tried again, same problem. When I pin the version to 10.0.3 it works....\n\nThe strange thing, in my devtools I see those routes, note the `businesses-slug-dotoos___nl`! \n\n\u003Cimg width=\"1069\" height=\"122\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/32264c2b-6817-46f1-976d-aad85bc269c1\" />\nIt should be `/bedrijven/business_slug?/dotoos`!\n\nSomething is off here, unless im doing something wrong.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3271,3272],{"name":3199,"color":3200},{"name":3273,"color":3274},"possible regression","B78041",3779,"Page not found on 10.0.4","2025-08-13T12:31:07Z","https://github.com/nuxt-modules/i18n/issues/3779",0.7001325,["Reactive",3281],{},["Set"],["ShallowReactive",3284],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f5sh51QvqBl9_MjrbKmGyNMgHMUDeRcPT7QCi2Io9ijQ":-1},"/nuxt-modules/i18n/3504"]