\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```",[3207],{"name":3173,"color":3174},3771,"useRoute needs suffix to work","2025-08-05T16:28:06Z","https://github.com/nuxt-modules/i18n/issues/3771",0.68961394,{"description":3214,"labels":3215,"number":3217,"owner":3179,"repository":3180,"state":3181,"title":3218,"updated_at":3219,"url":3220,"score":3221},"### 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```",[3216],{"name":3173,"color":3174},3755,"_ctx.$t is not a function","2025-07-23T13:58:47Z","https://github.com/nuxt-modules/i18n/issues/3755",0.6909924,{"description":3223,"labels":3224,"number":3227,"owner":3179,"repository":3180,"state":3228,"title":3229,"updated_at":3230,"url":3231,"score":3232},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.14.0`\n- Nuxt Version: `3.19.1`\n- CLI Version: `3.28.0`\n- Nitro Version: `2.12.5`\n- Package Manager: `pnpm@10.15.1`\n- Builder: `-`\n- User Config: `imports`, `app`, `ssr`, `devtools`, `modules`, `i18n`, `runtimeConfig`, `icon`, `site`, `sitemap`, `image`, `vite`, `experimental`, `router`, `nitro`, `vitalizer`, `shadcn`, `content`, `security`, `compatibilityDate`\n- Runtime Modules: `@vueuse/nuxt@10.11.1`, `nuxt-icon@0.6.10`, `@nuxtjs/tailwindcss@6.14.0`, `shadcn-nuxt@0.10.4`, `nuxt-icons@3.2.1`, `@formkit/auto-animate/nuxt@0.8.4`, `@nuxt/image@1.11.0`, `nuxt-schema-org@3.5.0`, `@pinia/nuxt@0.5.5`, `@nuxt/content@2.13.4`, `vue3-carousel-nuxt@1.1.6`, `nuxt-marquee@1.0.4`, `nuxt-meta-pixel@2.0.2`, `@nuxtjs/seo@2.0.0-rc.23`, `nuxt-vitalizer@0.10.0`, `nuxt-booster@3.3.0`, `@nuxt/icon@1.10.3`, `nuxt-security@2.2.0`, `@nuxtjs/i18n@10.0.6`\n- Build Modules: `-`\n\n\n### Reproduction\n\nrun `pnpm build`\n\n### Describe the bug\n\nNitro auto-imports @intlify/utils/h3 (including getCookieLocale) while @nuxtjs/i18n defines a same-named helper in the server bundle. Esbuild then sees two const getCookieLocale in the same chunk and fails.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3225,3226],{"name":3173,"color":3174},{"name":3176,"color":3177},3815,"closed","The symbol \"getCookieLocale\" has already been declared","2025-09-17T14:07:44Z","https://github.com/nuxt-modules/i18n/issues/3815",0.66898006,{"description":3234,"labels":3235,"number":3237,"owner":3179,"repository":3180,"state":3228,"title":3238,"updated_at":3239,"url":3240,"score":3241},"### Environment\n\n- Operating System: Linux\n- Node Version: v22.14.0\n- Nuxt Version: 3.18.0\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.5\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: compatibilityDate, devtools, modules, i18n, vite\n- Runtime Modules: @nuxt/eslint@1.0.1, @nuxtjs/i18n@10.0.6, @nuxt/image@1.9.0\n- Build Modules: -\n------------------------------\n\n\n### Reproduction\n\n**i18n config**\n```\nconst UA_LOCALE = 'ua';\nconst EN_LOCALE = 'en';\n\nexport const LOCALES = [\n {\n code: EN_LOCALE,\n iso: 'en',\n file: 'en.js',\n hreflang: EN_LOCALE,\n title: 'English',\n },\n {\n code: UA_LOCALE,\n iso: 'uk',\n file: 'ua.js',\n hreflang: 'uk',\n title: 'Українська',\n },\n];\n\nexport default {\n locales: LOCALES,\n defaultLocale: EN_LOCALE,\n strategy: 'prefix_except_default',\n fallbackLocale: EN_LOCALE,\n detectBrowserLanguage: true,\n langDir: './locales',\n restructureDir: '',\n};\n\n```\n\nnuxt.config.js\n```\nimport { defineNuxtConfig } from \"nuxt/config\"\nimport i18nConfig from './config/i18n.config';\n\nexport default defineNuxtConfig({\n compatibilityDate: '2024-11-01',\n devtools: { enabled: true },\n modules: ['@nuxt/eslint', '@nuxtjs/i18n', '@nuxt/image'],\n i18n: i18nConfig,\n vite: {\n css: {\n preprocessorOptions: {\n scss: {\n additionalData: '@use \"~/assets/scss/_variables.scss\" as *;'\n }\n }\n }\n },\n})\n\n```\n**Project is SSR not SSG**\n\n### Describe the bug\n\nOn direct app access i18n request twice for message.json.\n\n\u003Cimg width=\"918\" height=\"241\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/e1267897-7583-47ee-8d94-3286f5f875cc\" />\n\n It calls twice `loadMessages` first time from init, and second after \"locale-changing\" middleware.\n\n\u003Cimg width=\"1591\" height=\"419\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/956c305d-57e9-4a71-a3b6-5e2231a460df\" />\n\nLog from middleware handler\n\n\u003Cimg width=\"1080\" height=\"934\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/228c3154-f653-4190-b9a4-7ce6c197b00d\" />\n\nI faced this problem on big project, i thought maybe i have problems in router or something else, but used it tiny one to be sure\nTried to add and remove lazy: true, detectBrowserLanguage: false also tried.\n\n**Project structure, no custom routing**\n\u003Cimg width=\"1137\" height=\"991\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/9b9385cd-713e-4801-af61-6f8be38c73f1\" />\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3236],{"name":3173,"color":3174},3813,"Duplicate request on client for messages","2025-09-11T15:30:00Z","https://github.com/nuxt-modules/i18n/issues/3813",0.67480356,{"description":3243,"labels":3244,"number":3249,"owner":3179,"repository":3180,"state":3228,"title":3250,"updated_at":3251,"url":3252,"score":3253},"### Environment\n\n- Operating System: Darwin\n- Node Version: v24.5.0\n- Nuxt Version: 4.0.3\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.4\n- Package Manager: bun@1.2.20\n- Builder: -\n- User Config: modules, devtools, app, hooks, components, compatibilityDate, i18n, vite\n- Runtime Modules: @nuxt/eslint@1.8.0, @nuxt/test-utils/module@3.19.2\n- Build Modules: -\n\n(I am using a nuxt layer which configures the i18n module so I suspect that's the reason the module does not show up above)\n\n### Reproduction\n\nUnfortunately did not manage to create a reliable reproduction 😕\n\n### Describe the bug\n\nHello 👋,\n\nsince updating to the new version v10.0.4 I am having a problem with the i18n module. It seems the global `$t` instance is not available as I get the following error message: `ReferenceError: $t is not defined`.\n\nUnfortunately I wasn't able to create a minimal reproduction in stackblitz, so it must be something specific to my project that is causing this. Do you maybe have an idea what might be the issue or what I could check, based on the changes you did in v10.0.4?\n\nI am using the `$t` instance directly in my script setup block in a component and in there the error is thrown:\n```vue\n\u003Cscript setup lang=\"ts\">\n const test = computed(()=> $t('test'))\n\u003C/script>\n\n\u003Ctemplate>\n \u003Cspan>{{ test }}\u003C/span>\n\u003C/template>\n```\n\nIs this an anti-pattern and the `useI18n` composable should be used instead? I was using the global `$t` instance directly since it saved a line of code and worked up to v10.0.3.\n\nI can't share the full project as it is work-related but here are some additional informations about my setup:\n- Nuxt layers: the i18n module is set-up in a \"core\" layer and all other layers and the main app extend from it\n- Multiple translation files: one i18n folder per layer with layer-specific translations\n- I am not using any `i18n.config.ts` files\n\nSorry for the non-existant repro and minimal info but maybe you have an idea what I could try. Thanks. 🙏\n\n### Additional context\n\n### package.json\n```\n{\n \"name\": \"a-project\",\n \"private\": true,\n \"type\": \"module\",\n \"engines\": {\n \"node\": \"22.x\"\n },\n \"scripts\": {\n \"build\": \"nuxt build\",\n \"dev\": \"nuxt dev\",\n \"dev:host\": \"nuxt dev --host\",\n \"start\": \"node .output/server/index.mjs\",\n \"generate\": \"nuxt generate\",\n \"preview\": \"nuxt preview\",\n \"postinstall\": \"nuxt prepare\",\n \"test\": \"vitest run\",\n \"test:coverage\": \"vitest run --coverage\",\n \"lint\": \"eslint .\",\n \"lint:fix\": \"eslint . --fix\",\n \"prettier\": \"prettier --write .\",\n \"typecheck\": \"nuxt typecheck\"\n },\n \"dependencies\": {\n \"@iconify-json/lucide\": \"^1.2.62\",\n \"@nuxt/image\": \"^1.11.0\",\n \"@nuxt/ui\": \"^3.3.0\",\n \"@nuxtjs/i18n\": \"10.0.4\",\n \"@samk-dev/nuxt-vcalendar\": \"^1.0.4\",\n \"@tanstack/vue-query\": \"^5.83.1\",\n \"@vueuse/core\": \"^13.6.0\",\n \"dayjs\": \"^1.11.13\",\n \"dayjs-nuxt\": \"^2.1.11\",\n \"nuxt\": \"^4.0.3\",\n \"nuxt-auth-sanctum\": \"^1.1.2\",\n \"nuxt-charts\": \"^0.2.3\",\n \"nuxt-viewport\": \"^2.3.1\",\n \"v-calendar\": \"^3.1.2\",\n \"vue\": \"^3.5.18\",\n \"vue-router\": \"^4.5.1\",\n \"zod\": \"^4.0.17\"\n },\n \"devDependencies\": {\n \"@nuxt/eslint\": \"^1.8.0\",\n \"@nuxt/test-utils\": \"^3.19.2\",\n \"@tanstack/eslint-plugin-query\": \"^5.83.1\",\n \"@types/node\": \"^24.2.1\",\n \"@vue/test-utils\": \"^2.4.6\",\n \"eslint\": \"^9.33.0\",\n \"eslint-config-prettier\": \"^10.1.8\",\n \"happy-dom\": \"^18.0.1\",\n \"prettier\": \"^3.6.2\",\n \"prettier-plugin-organize-imports\": \"^4.2.0\",\n \"prettier-plugin-tailwindcss\": \"^0.6.14\",\n \"typescript\": \"^5.9.2\",\n \"vitest\": \"^3.2.4\",\n \"vue-tsc\": \"^3.0.5\"\n },\n \"patchedDependencies\": {\n \"@samk-dev/nuxt-vcalendar@1.0.4\": \"patches/@samk-dev%2Fnuxt-vcalendar@1.0.4.patch\"\n }\n}\n```\n\n### nuxt.config.ts\n```ts\nexport default defineNuxtConfig({\n // ...,\n i18n: {\n locales: [\n { code: 'de', file: 'de.app.json' },\n { code: 'en', file: 'en.app.json' },\n ],\n defaultLocale: 'de',\n strategy: 'no_prefix',\n experimental: {\n typedOptionsAndMessages: 'default',\n },\n },\n})\n```\n\n### Logs\n\n```shell\n\n```",[3245,3246],{"name":3176,"color":3177},{"name":3247,"color":3248},"possible regression","B78041",3775,"\"$t is not defined\" after updating to v10.0.4","2025-08-12T14:18:23Z","https://github.com/nuxt-modules/i18n/issues/3775",0.67689043,{"description":3255,"labels":3256,"number":3258,"owner":3179,"repository":3180,"state":3228,"title":3259,"updated_at":3260,"url":3261,"score":3262},"### Environment\n\n- Operating System: Darwin\n- Node Version: v24.1.0\n- Nuxt Version: 4.0.3\n- CLI Version: 3.27.0\n- Nitro Version: 2.12.4\n- Package Manager: npm@10.2.3\n- Builder: -\n- User Config: modules, ssr, imports, devtools, app, css, runtimeConfig, compatibilityDate, vite\n- Runtime Modules: @nuxtjs/device@3.2.4, @vueuse/nuxt@13.8.0, @nuxt/image@1.11.0, @nuxt/eslint@1.9.0, nuxt-schema-org@5.0.6, @nuxt/fonts@0.11.4, @nuxtjs/i18n@10.0.6, @nuxt/icon@2.0.0, @pinia/nuxt@0.11.2, nuxt-headlessui@1.2.1, @vee-validate/nuxt@4.15.1\n- Build Modules: -\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-yzurzmqf?file=nuxt.config.ts\n\n### Describe the bug\n\nWhen setting the i18n module using the [\"@nuxtjs/i18n\", {...config}] syntax, a warning appears that the **defaultLocale** property is not set, although it is set. A more detailed example is shown in the reproduction.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3257],{"name":3173,"color":3174},3798,"False ‘defaultLocale’ not set warning with [’@nuxtjs/i18n’, {…}] config","2025-09-01T13:42:30Z","https://github.com/nuxt-modules/i18n/issues/3798",0.6780048,{"description":3264,"labels":3265,"number":3269,"owner":3179,"repository":3180,"state":3228,"title":3270,"updated_at":3271,"url":3272,"score":3273},"### Environment\n\n------------------------------\r\n- Operating System: Windows_NT\r\n- Node Version: v20.10.0\r\n- Nuxt Version: 3.13.2\r\n- CLI Version: 3.13.2\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, i18n\r\n- Runtime Modules: @nuxtjs/i18n@8.5.5\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\n[nuxt-i18n-BUG-REPRODUCE.zip](https://github.com/user-attachments/files/17109191/nuxt-i18n-BUG-REPRODUCE.zip)\r\n\n\n### Describe the bug\n\nwith setting:\r\n```ts\r\ni18n:{\r\n strategy: 'prefix',\r\n locales: ['zh', 'en'], \r\n detectBrowserLanguage: // \r\n\t{\r\n\t\tuseCookie: false, //set true or false, not influenced the result\r\n\t\tcookieKey: 'i18n_redirected',\r\n\t\tredirectOn: 'root' // recommended\r\n\t}\r\n }\r\n```\r\n\r\nWhen Browser request header has `accept-language: zh-CN,zh;q=0.9`\r\nExpect: redirect to `/zh/hello`\r\nBut has: `location: /en/hello`\r\n\r\nsame with [issues/1632](https://github.com/nuxt-modules/i18n/issues/1632)\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3266],{"name":3267,"color":3268},"scope: language detection","1B89B8",3126,"`detectBrowserLanguage` does not detect browser lang as expected","2025-06-08T01:24:47Z","https://github.com/nuxt-modules/i18n/issues/3126",0.68094826,["Reactive",3275],{},["Set"],["ShallowReactive",3278],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f5lVpedssJ13sgZJULMniol71QdvFdeuCvIDKp3Hyy68":-1},"/nuxt-modules/i18n/3651"]