\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```",[3018],{"name":3019,"color":3020},"pending triage","c2e0c6",3755,"nuxt-modules","i18n","open","_ctx.$t is not a function","2025-07-23T13:58:47Z","https://github.com/nuxt-modules/i18n/issues/3755",0.6370738,{"description":3030,"labels":3031,"number":3036,"owner":3022,"repository":3023,"state":3024,"title":3037,"updated_at":3038,"url":3039,"score":3040},"### Environment\n\n------------------------------\n- Operating System: Darwin\n- Node Version: v22.11.0\n- Nuxt Version: 3.14.1592\n- CLI Version: 3.17.1\n- Nitro Version: 2.10.4\n- Package Manager: npm@10.9.0\n- Builder: -\n- User Config: default\n- Runtime Modules: @pinia/nuxt@0.9.0, @nuxt/eslint@0.7.4, @nuxtjs/i18n@9.1.1\n- Build Modules: -\n------------------------------\n\n```ts\nexport default defineNuxtConfig({\n compatibilityDate: \"2024-11-01\",\n devtools: { enabled: true },\n\n modules: [\"@pinia/nuxt\", \"@nuxt/eslint\", \"@nuxtjs/i18n\"],\n i18n: {\n debug: true,\n types: 'composition',\n strategy: 'no_prefix',\n defaultLocale: 'en',\n lazy: true,\n langDir: 'locales',\n locales: [\n {\n name: 'English',\n code: 'en',\n language: 'en-GB',\n file: 'en-GB.json',\n },\n ],\n },\n\n future: {\n compatibilityVersion: 4,\n },\n```\n\n### Reproduction\n\nI don't know how reproduce this problem in online services\n\n### Describe the bug\n\nWith this configuration on a clean project I get this typing error: `'__VLS_ctx.$t' is of type 'unknown'.`\n\n\u003Cimg width=\"916\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/17be6c4d-fc51-4352-adc5-78db230f7ef0\" />\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3032,3033],{"name":3019,"color":3020},{"name":3034,"color":3035},"need reproduction","CD234A",3271,"[WebStorm] Type error '__VLS_ctx.$t' is of type 'unknown'.","2025-07-04T14:54:08Z","https://github.com/nuxt-modules/i18n/issues/3271",0.66325223,{"description":3042,"labels":3043,"number":3045,"owner":3022,"repository":3023,"state":3024,"title":3046,"updated_at":3047,"url":3048,"score":3049},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v23.10.0\n- Nuxt Version: 3.17.4\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: pnpm@8.15.9\n- Builder: -\n- User Config: devtools, modules, i18n, compatibilityDate\n- Runtime Modules: @nuxtjs/i18n@9.5.5\n- Build Modules: -\n\n### Reproduction\n\nhttps://github.com/warflash/nuxt-i18n-rolldown\n\n### Describe the bug\n\nBuilds are failing\n\n### Additional context\n\n[Rolldown vite was just announced as technical preview,](https://voidzero.dev/posts/announcing-rolldown-vite) so I wanted to jump in and test against our project. Dev works well, builds seem to fail, also on the i18n starter with the override applied.\n\nGiven that vite-rolldown aims to be a drop in replacement it might just need time for the vite team to iron out the cause of this bug. Just wanted to raise the issue in case it's some internal tooling in the i18n project that won't be compatible with vite in the future.\n\n### Logs\n\n```shell\n> nuxt build\n\n[nuxi 21:06:47] Nuxt 3.17.4 with Nitro 2.11.12\n\n[@nuxtjs/i18n 21:06:48] WARN bundle.optimizeTranslationDirective is enabled by default, we recommend disabling this feature as it causes issues and will be deprecated in v10.\nExplicitly setting this option to true or false disables this warning, for more details see: https://github.com/nuxt-modules/i18n/issues/3238#issuecomment-2672492536\n\n[nuxi 21:06:48] ℹ Building for Nitro preset: node-server\n[21:06:51] ℹ Building client...\n\n[21:06:51] WARN You have set optimizeDeps.esbuildOptions but this options is now deprecated. Vite now uses Rolldown to optimize the dependencies. Please use optimizeDeps.rollupOptions instead.\n\n[21:06:51] ℹ rolldown-vite v6.3.14 building for production...\n[21:06:52] ℹ ✓ 181 modules transformed.\n\n[21:06:52] ERROR ✗ Build failed in 531ms\n\n\n[nuxi 21:06:52] ERROR Nuxt Build Error: Build failed with 3 errors:\n\n[PARSE_ERROR] Error: Unexpected token\n ╭─[ i18n/locales/en.json:1:1 ]\n │\n 1 │ const resource = {\n │ ──┬── \n │ ╰──── \n───╯\n\n[PARSE_ERROR] Error: Unexpected token\n ╭─[ i18n/locales/nl.json:1:1 ]\n │\n 1 │ const resource = {\n │ ──┬── \n │ ╰──── \n───╯\n\n[PARSE_ERROR] Error: Unexpected token\n ╭─[ i18n/locales/ja.json:1:1 ]\n │\n 1 │ const resource = {\n │ ──┬── \n │ ╰──── \n───╯\n\n\n at normalizeErrors (/project/node_modules/.pnpm/rolldown@1.0.0-beta.10-commit.ac4e5db/node_modules/rolldown/dist/shared/src-r81e2JxS.mjs:2195:18)\n at handleOutputErrors (/project/node_modules/.pnpm/rolldown@1.0.0-beta.10-commit.ac4e5db/node_modules/rolldown/dist/shared/src-r81e2JxS.mjs:3125:34)\n at transformToRollupOutput (/project/node_modules/.pnpm/rolldown@1.0.0-beta.10-commit.ac4e5db/node_modules/rolldown/dist/shared/src-r81e2JxS.mjs:3119:2)\n at RolldownBuild.write (/project/node_modules/.pnpm/rolldown@1.0.0-beta.10-commit.ac4e5db/node_modules/rolldown/dist/shared/src-r81e2JxS.mjs:4269:10)\n at async buildEnvironment (/project/node_modules/.pnpm/rolldown-vite@6.3.14_esbuild@0.25.5_jiti@2.4.2/node_modules/rolldown-vite/dist/node/chunks/dep-C0xpd56d.js:44464:16)\n at async buildClient (/project/node_modules/.pnpm/@nuxt+vite-builder@3.17.4_eslint@9.27.0_rollup@4.41.1_typescript@5.8.3_vue@3.5.16/node_modules/@nuxt/vite-builder/dist/shared/vite-builder.DNPjFC0L.mjs:765:5)\n at async bundle (/project/node_modules/.pnpm/@nuxt+vite-builder@3.17.4_eslint@9.27.0_rollup@4.41.1_typescript@5.8.3_vue@3.5.16/node_modules/@nuxt/vite-builder/dist/shared/vite-builder.DNPjFC0L.mjs:1527:3)\n at async bundle (/project/node_modules/.pnpm/nuxt@3.17.4_eslint@9.27.0_rolldown-vite@6.3.14_rollup@4.41.1_typescript@5.8.3/node_modules/nuxt/dist/shared/nuxt.Ipy8-4AT.mjs:7387:5)\n at async build (/project/node_modules/.pnpm/nuxt@3.17.4_eslint@9.27.0_rolldown-vite@6.3.14_rollup@4.41.1_typescript@5.8.3/node_modules/nuxt/dist/shared/nuxt.Ipy8-4AT.mjs:7247:3)\n at async Object.run (/project/node_modules/.pnpm/@nuxt+cli@3.25.1/node_modules/@nuxt/cli/dist/chunks/build.mjs:74:5)\n```",[3044],{"name":3019,"color":3020},3659,"Builds with rolldown-vite + nuxt i18n fail","2025-05-30T19:14:35Z","https://github.com/nuxt-modules/i18n/issues/3659",0.6751254,{"description":3051,"labels":3052,"number":3054,"owner":3022,"repository":3023,"state":3024,"title":3055,"updated_at":3056,"url":3057,"score":3058},"### Environment\n\n------------------------------\n- Operating System: Windows_NT\n- Node Version: v19.9.0\n- Nuxt Version: 3.17.3\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: npm@9.6.3\n- Builder: -\n- User Config: modules, i18n, tailwindcss, css, plugins, devtools, compatibilityDate, runtimeConfig, vite, nitro\n- Runtime Modules: @geeks.solutions/nuxt-sections@3.0.1, @nuxt/image@1.10.0, @nuxtjs/i18n@9.5.4, @nuxtjs/tailwindcss@6.14.0, nuxt-lazytube@0.2.2, nuxt3-leaflet@1.0.13, @pinia/nuxt@0.11.0\n- Build Modules: -\n------------------------------\n\n\n### Reproduction\n\n* nuxt.config.ts\n\n```ts\nexport default defineNuxtConfig({\n ...(process.env.NODE_ENV === 'development' && {\n devServer: {\n https: {},\n host: '0.0.0.0',\n port: 443,\n }\n }),\n modules: [\n \"@geeks.solutions/nuxt-sections\",\n \"@nuxt/image\",\n \"@nuxtjs/i18n\",\n \"@nuxtjs/tailwindcss\",\n \"nuxt-lazytube\",\n \"nuxt3-leaflet\",\n \"@pinia/nuxt\"\n ],\n i18n: {\n detectBrowserLanguage: false,\n defaultLocale: \"en\",\n locales: [\n {\n name: \"French\",\n code: \"fr\",\n iso: \"fr\",\n file: \"fr.js\"\n },\n {\n name: \"English\",\n code: \"en\",\n iso: \"en\",\n file: \"en.js\"\n }\n ],\n langDir: \"lang/\",\n experimental: {\n localeDetector: 'localeDetector.ts'\n }\n },\n tailwindcss: {\n\n },\n css: [\n '~/assets/css/default.css'\n ],\n plugins: [\n '~/plugins/vue-dragscroll.js'\n ],\n devtools: { enabled: true },\n compatibilityDate: '2025-05-13',\n vite: {\n optimizeDeps: {\n include: ['quill', '@devdcodes9/quill-emojijs', 'quill-table-ui'],\n }\n },\n nitro: {\n compressPublicAssets: {\n gzip: true,\n brotli: true\n }\n }\n})\n```\n\n* localeDetector.ts inside i18n directory\n\n```ts\nconsole.log(\"Detector file loaded\")\n\n// Detect based on query, cookie, header\nexport default defineI18nLocaleDetector((event, config) => {\n\n console.log(\"Event\", event)\n\n // try to get locale from query\n const query = tryQueryLocale(event, { lang: '' }) // disable locale default value with `lang` option\n if (query) {\n return query.toString()\n }\n\n // try to get locale from cookie\n const cookie = tryCookieLocale(event, { lang: '', name: 'i18n_redirected' }) // disable locale default value with `lang` option\n if (cookie) {\n return cookie.toString()\n }\n\n // try to get locale from header (`accept-header`)\n const header = tryHeaderLocale(event, { lang: '' }) // disable locale default value with `lang` option\n if (header) {\n return header.toString()\n }\n\n // If the locale cannot be resolved up to this point, it is resolved with the value `defaultLocale` of the locale config passed to the function\n return config.defaultLocale\n})\n```\n\n* nuxi prepare\n* nuxi dev\n\n### Describe the bug\n\nI am trying to use the experimental localeDetector feature.\nThe localeDetector file is loaded and confirmed by having `Detector file loaded` logged on the server console.\n\nThe problem I am facing is that defineI18nLocaleDetector is never called and no Event is logged.\nAm I missing something ?\n\n### Additional context\n\nIn the documentation I saw that the local detector function is called per request on the server, so why the code inside the defineI18nLocaleDetector is never reached\n\n### Logs\n\n```shell\nNo errors logged at all\n```",[3053],{"name":3019,"color":3020},3651,"Code inside defineI18nLocaleDetector is not reached","2025-05-29T06:34:13Z","https://github.com/nuxt-modules/i18n/issues/3651",0.69682306,{"description":3060,"labels":3061,"number":3064,"owner":3022,"repository":3023,"state":3024,"title":3065,"updated_at":3066,"url":3067,"score":3068},"### Environment\n\n Operating System: Darwin\n- Node Version: v22.15.1\n- Nuxt Version: 4.0.1\n- CLI Version: 3.26.4\n- Nitro Version: 2.12.4\n- Package Manager: pnpm@10.11.0\n- Builder: -\n- User Config: runtimeConfig, devtools, modules, app, css, i18n, image, telemetry, sentry, storyblok, devServer, sourcemap, vite, extends, compatibilityDate\n- Runtime Modules: @nuxtjs/i18n@9.5.6, @pinia/nuxt@0.11.2, @nuxt/image@1.10.0, @nuxt/eslint@1.7.0, @nuxtjs/stylelint-module@5.2.1, @storyblok/nuxt@8.0.1, @sentry/nuxt/module@9.40.0\n\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/dry-violet-pg2j9q\n\nadd en-GB.json \n```\n{\n \"header\": {\n \"apply-as-developer\": \"Apply as a developer\",\n \"find-developer\": \"FIND A DEVELOPER\",\n \"sign-in\": \"LOG IN\"\n }\n}\n```\n\nadd empty sv-SE.json - `{}`\n\nnuxt configs\n\n```\n i18n: {\n baseUrl: process.env.BASE_URL,\n strategy: 'prefix_and_default',\n defaultLocale: 'en',\n detectBrowserLanguage: false,\n compilation: {\n strictMessage: false,\n escapeHtml: false,\n },\n vueI18n: '../i18n/i18n.config.ts',\n locales: [\n {\n code: 'en',\n language: 'en-GB',\n name: 'English',\n file: 'en-GB.json',\n isCatchallLocale: true,\n },\n {\n code: 'sv',\n language: 'sv-SE',\n name: 'Svenska',\n file: 'sv-SE.json',\n },\n ]\n}\n```\n\ni18n.config.ts\n```\nexport default defineI18nConfig(() => ({\n locale: 'en',\n fallbackLocale: 'en',\n fallbackRoot: true,\n fallbackRootWithEmptyString: true,\n}));\n```\n\n\n\n\n### Describe the bug\n\nOn my new nuxt v4 project the fallbacks didn't work and I was getting the following errors\n```\nHeader.vue:43 [intlify] Not found 'header.find-developer' key in 'sv' locale messages.\nHeader.vue:43 [intlify] Fall back to translate 'header.find-developer' key with 'en' locale. \nHeader.vue:43 [intlify] Not found 'header.find-developer' key in 'en' locale\n```\nalthough I had translations on english.\n\nI changed package version to to - \"@nuxtjs/i18n\": \"^9.5.4\" and it is working like a charm again.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3062,3063],{"name":3019,"color":3020},{"name":3034,"color":3035},3760,"Fallback language does not work on v10.0.2","2025-07-25T12:56:26Z","https://github.com/nuxt-modules/i18n/issues/3760",0.6998577,{"description":3070,"labels":3071,"number":3078,"owner":3022,"repository":3023,"state":3079,"title":3080,"updated_at":3081,"url":3082,"score":3083},"### 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```",[3072,3075],{"name":3073,"color":3074},"🍰 p2-nice-to-have","0e8a16",{"name":3076,"color":3077},"scope: components","B327C3",3402,"closed","Double nested `NuxtLinkLocale`","2025-05-30T19:25:27Z","https://github.com/nuxt-modules/i18n/issues/3402",0.66186017,{"description":3085,"labels":3086,"number":3090,"owner":3022,"repository":3023,"state":3079,"title":3091,"updated_at":3092,"url":3093,"score":3094},"### Environment\n\n- Operating System: `Windows_NT`\n- Node Version: `v22.14.0`\n- Nuxt Version: `3.16.2`\n- CLI Version: `3.24.0`\n- Nitro Version: `2.11.8`\n- Package Manager: `npm@10.8.1`\n- Builder: `-`\n- User Config: `modules`, `imports`, `devtools`, `app`, `css`, `site`, `runtimeConfig`, `devServer`, `experimental`, `compatibilityDate`, `nitro`, `vite`, `typescript`, `eslint`, `graphqlMiddleware`, `i18n`, `image`, `leaflet`, `multiCache`, `primevue`\n- Runtime Modules: `@pinia/nuxt@0.10.1`, `pinia-plugin-persistedstate/nuxt@4.2.0`, `nuxt-multi-cache@3.4.0`, `nuxt-graphql-middleware@4.3.2`, `normalizedModule()`, `@nuxtjs/i18n@9.4.0`, `@nuxtjs/seo@3.0.1`, `@nuxtjs/leaflet@1.2.6`, `nuxt-splide@1.1.1`, `@nuxt/icon@1.11.0`, `@primevue/nuxt-module@4.3.2`, `@nuxt/image@1.10.0`, `@formkit/auto-animate/nuxt@0.8.2`, `@vueuse/nuxt@13.0.0`, `nuxt-lodash@2.5.3`, `nuxt-monaco-editor@1.3.1`, `dayjs-nuxt@2.1.11`, `@nuxt/eslint@1.2.0`\n- Build Modules: `-`\n\n\n### Reproduction\n\n1. Create a new Nuxt 3 project and install @nuxtjs/i18n. Configure the module as needed.\n\n2. Create the following folder structure within the pages directory:\n\n```\npages/\n└── blog/\n├── [[category]]/\n│ ├── [article].html.vue\n│ └── index.vue\n└── index.vue\n```\n\n3. Add a basic HTML template to each of the .vue files for visual identification. For example:\n\npages/blog/index.vue:\n```html\n\u003Ctemplate>\n\n\u003Cdiv>Blog Index (root)\u003C/div>\n\u003C/template>\n```\npages/blog/[[category]]/index.vue:\n```html\n\u003Ctemplate>\n\n\u003Cdiv>Category Index: {{ $route.params.category }}\u003C/div>\n\u003C/template>\n```\npages/blog/[[category]]/[[article]].html.vue:\n```html\n\u003Ctemplate>\n\n\u003Cdiv>Article: {{ $route.params.article }} in Category: {{ $route.params.category }}\u003C/div>\n\u003C/template>\n```\n4. Run Nuxt in development mode (npm run dev or yarn dev or pnpm dev).\n\n5. Navigate to the following URLs in your browser:\n\n - /blog/ - Expected to render \"Blog Index (root)\" (Works as expected).\n \n - /blog/article2.html - Expected to render [article].html.vue with category as undefined and article as article2. Current Behavior: Instead, it seems to attempt to render [[category]]/index.vue, possibly interpreting \"article2.html\" as the category parameter, leading to unexpected output or a 404.\n \n - /blog/category1/ - Expected to render \"Category Index: category1\" (Works as expected).\n \n - /blog/category1/article1.html - Expected to render \"Article: article1 in Category: category1\" (Works as expected).\n\n\nMinimal reproduction:\nhttps://stackblitz.com/edit/github-wp13roib-mzypd8gg\n\n### Describe the bug\n\nWith @nuxtjs/i18n enabled, accessing a dynamic route [[article]].html.vue within a directory with an optional dynamic parameter [[category]] directly with the .html extension results in incorrect route resolution. Instead of correctly identifying the optional category parameter as missing and resolving to the [article].html.vue route, Nuxt seems to be trying to match the URL against the [[category]]/index.vue route, misinterpreting the \"article2.html\" segment.\n\n### Additional context\n\nThis issue only occurs when @nuxtjs/i18n is active. Without the module, a different routing issue arises (documented in the next issue). This suggests an interaction between the Nuxt routing and @nuxtjs/i18n in handling optional dynamic parameters with file extensions.\n\n\n\n### Logs\n\n```shell\n\n```",[3087],{"name":3088,"color":3089},"upstream issue","fbca04",3504,"Dynamic route with optional parent parameter fails to resolve correctly when accessed directly with extension","2025-05-22T15:54:36Z","https://github.com/nuxt-modules/i18n/issues/3504",0.6844822,{"description":3096,"labels":3097,"number":3101,"owner":3022,"repository":3023,"state":3079,"title":3102,"updated_at":3103,"url":3104,"score":3105},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.14.0`\n- Nuxt Version: `4.0.1`\n- CLI Version: `3.26.4`\n- Nitro Version: `2.12.4`\n- Package Manager: `pnpm@10.12.4`\n- Builder: `-`\n- User Config: `compatibilityDate`, `devtools`, `modules`, `i18n`\n- Runtime Modules: `@nuxt/scripts@0.11.10`, `@nuxt/test-utils@3.19.2`, `@nuxtjs/i18n@10.0.2`\n- Build Modules: `-`\n\n\n### Reproduction\n\n修改多语言热更新报错,\n\n\u003Cimg width=\"3318\" height=\"334\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ba25f21a-3216-4066-9e49-269efad06425\" />\n\n\u003Cimg width=\"1436\" height=\"474\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/378d9d5d-c5ae-48e5-a3b5-da94d168e206\" />\n\n### Describe the bug\n\n修改多语言热更新报错,\n\n\u003Cimg width=\"3318\" height=\"334\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ba25f21a-3216-4066-9e49-269efad06425\" />\n\n\u003Cimg width=\"1436\" height=\"474\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/378d9d5d-c5ae-48e5-a3b5-da94d168e206\" />\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3098,3100],{"name":3099,"color":3089},"upstream",{"name":3034,"color":3035},3753,"在 nuxt4.0.2 里使用 \"@nuxtjs/i18n\": \"^10.0.2\" 热更新报错","2025-07-24T09:13:52Z","https://github.com/nuxt-modules/i18n/issues/3753",0.68627423,{"description":3107,"labels":3108,"number":3110,"owner":3022,"repository":3023,"state":3079,"title":3111,"updated_at":3112,"url":3113,"score":3114},"### Environment\n\n------------------------------\n- Operating System: Linux\n- Node Version: v23.11.1\n- Nuxt Version: 3.17.4\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: npm@11.4.0\n- Builder: -\n- User Config: compatibilityDate, devtools, modules, i18n, devServer\n- Runtime Modules: @nuxtjs/i18n@9.5.5\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nMinimal repo here https://github.com/ThibaudDauce/test_i18n\n\nThis is my `app.vue`:\n```html\n\u003Ctemplate>\n \u003Cdiv>\n \u003Cp>{{ $t('Hello {name}', { name: 'John' }) }}\u003C/p>\n \u003Cp>{{ $t('The weather today is {condition}!', { condition: 'sunny' }) }}\u003C/p>\n \u003C/div>\n\u003C/template>\n```\n\nWith this `i18n/i18n.config.ts`:\n```ts\nexport default defineI18nConfig(() => {\n return {\n missingWarn: false,\n formatFallbackMessages: true,\n }\n})\n```\n\nAnd this `nuxt.config.ts`:\n```ts\nexport default defineNuxtConfig({\n compatibilityDate: '2025-05-15',\n devtools: { enabled: true },\n modules: ['@nuxtjs/i18n'],\n i18n: {\n defaultLocale: 'fr',\n },\n devServer: {\n port: 8080,\n },\n})\n```\n\n`missingWarn: false` is working so the config seems to be loaded correctly.\n\n### Describe the bug\n\nWhen I set `formatFallbackMessages: true`, the messages are not formatted in the template.\n",[3109],{"name":3019,"color":3020},3670,"Cannot set `formatFallbackMessages`","2025-06-02T13:58:58Z","https://github.com/nuxt-modules/i18n/issues/3670",0.6864971,{"description":3116,"labels":3117,"number":3119,"owner":3022,"repository":3023,"state":3079,"title":3120,"updated_at":3121,"url":3122,"score":3123},"### Environment\n\nNuxt 4\nnew Typescript project references\ni18n 10.0.0-rc.3\n\n### Reproduction\n\nWill be given if requested.\n\n### Describe the bug\n\nApplying the new typescript project references typing in Nuxt 4 changes something about how types are resolved for the `i18n` key in `nuxt.config.ts`.\n\nWith old type setup, also Nuxt 4, the type is resolved to `.playground/.nuxt/types` in my project to something shown as:\n\n\u003Cimg width=\"505\" height=\"274\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/1998c736-a15a-431a-ac9b-fb7e6193d553\" />\n\nWith the new type layout, the type resolves to `@nuxtjs/i18n/dist/module.d.mts`:\n\n\u003Cimg width=\"983\" height=\"247\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/953bab0d-12a9-4001-aab0-68a59b7eca08\" />\n\nOr:\n\n```ts\ninterface ModulePublicRuntimeConfig {\n i18n: I18nPublicRuntimeConfig;\n}\n```\n\nMy guess is that the code should be this instead:\n\n```ts\ninterface ModulePublicRuntimeConfig {\n i18n: Partial\u003CI18nPublicRuntimeConfig>;\n}\n```\n\nAlternatively, all keys on `I18nPublicRuntimeConfig` could get a suffix `?` to mark them key-optional.\n\n### Additional context\n\nI added https://github.com/nuxt-modules/i18n/pull/3730 which includes the first solution given.\n\n### Logs\n\n```shell\n\n```",[3118],{"name":3019,"color":3020},3729,"fix(v10): `runtimeConfig` type in Nuxt 4","2025-07-17T08:39:49Z","https://github.com/nuxt-modules/i18n/issues/3729",0.6870304,["Reactive",3125],{},["Set"],["ShallowReactive",3128],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fWa1HwsquqZ_UfE4PrjemD1NWYcfjO1f3B0g9cq4gvNs":-1},"/nuxt-modules/i18n/3713"]