\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```",[3172],{"name":3173,"color":3174},"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.6421811,{"description":3184,"labels":3185,"number":3187,"owner":3176,"repository":3177,"state":3178,"title":3188,"updated_at":3189,"url":3190,"score":3191},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.18.0`\n- Nuxt Version: `4.1.2`\n- CLI Version: `3.28.0`\n- Nitro Version: `2.12.6`\n- Package Manager: `npm@10.9.3`\n- Builder: `-`\n- User Config: `compatibilityDate`, `devtools`, `modules`, `i18n`\n- Runtime Modules: `@nuxtjs/i18n@10.1.0`, `@nuxt/test-utils/module@3.19.2`\n- Build Modules: `-`\n\n\n### Reproduction\n\n- Install and setup I18n module\n- Add Nuxt testing\n- Use a component with translation (`const {.t } = useI18n();`) in the `setup` part of the component\n\nThe error case is set up in this repository, after cloning and installing dependencies the test run shows the error.\n\nhttps://github.com/gaborsoos-byborg/nuxt-i18n-testing\n\n### Describe the bug\n\nWhen testing a component in Vitest with NuxtTestUtils, translating a string with `$t` works fine, but translating with `const { t } = useI18n();` fails with the following error\n\n```\nstderr | ../test/components/Content.test.ts > Content > should render\n[Vue warn]: Unhandled error during execution of setup function \n at \u003CMountSuspendedComponent > \n at \u003CMountSuspendedHelper> \n at \u003CAnonymous ref=\"VTU_COMPONENT\" > \n at \u003CVTUROOT>\n \nSyntaxError: Need to install with `app.use` function\n ❯ createCompileError ../node_modules/@intlify/message-compiler/dist/message-compiler.mjs:77:19\n 75| ? format((messages || errorMessages)[code] || '', ...(args || []))\n 76| : code;\n 77| const error = new SyntaxError(String(msg));\n | ^\n 78| error.code = code;\n 79| if (loc) {\n ❯ createI18nError ../node_modules/vue-i18n/dist/vue-i18n.mjs:61:12\n ❯ useI18n ../node_modules/vue-i18n/dist/vue-i18n.mjs:2143:15\n ❯ setup components/Content.vue:2:15\n ❯ wrappedSetup ../node_modules/@nuxt/test-utils/dist/runtime-utils/index.mjs:99:28\n ❯ clonedComponent.setup ../node_modules/@nuxt/test-utils/dist/runtime-utils/index.mjs:190:48\n ❯ callWithErrorHandling ../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:200:19\n ❯ setupStatefulComponent ../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7936:25\n ❯ setupComponent ../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:7897:36\n ❯ mountComponent ../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5227:7\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3186],{"name":3173,"color":3174},3827,"Test fails when using translation outside of template","2025-09-23T09:46:41Z","https://github.com/nuxt-modules/i18n/issues/3827",0.68600965,{"description":3193,"labels":3194,"number":3196,"owner":3176,"repository":3177,"state":3178,"title":3197,"updated_at":3198,"url":3199,"score":3200},"### 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```",[3195],{"name":3173,"color":3174},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.688166,{"description":3202,"labels":3203,"number":3205,"owner":3176,"repository":3177,"state":3178,"title":3206,"updated_at":3207,"url":3208,"score":3209},"### Environment\n\n- Operating System: Linux\n- Node Version: v20.19.0\n- Nuxt Version: 4.0.2\n- CLI Version: 3.27.0\n- Nitro Version: 2.12.4\n- Package Manager: npm@10.8.2\n- Builder: -\n- User Config: modules, $development, $production, devtools, css, mdc, runtimeConfig, routeRules, experimental, compatibilityDate, nitro, vite, hooks, eslint, fonts, i18n, icon, image, shadcn, supabase, tiptap\n- Runtime Modules: @sentry/nuxt/module@9.42.1, @nuxtjs/color-mode@3.5.2, @nuxtjs/tailwindcss@7.0.0-beta.0, shadcn-nuxt@2.2.0, @nuxtjs/i18n@10.0.3, @nuxtjs/supabase@1.6.0, @nuxt/icon@1.15.0, @nuxt/eslint@1.7.1, nuxt-tiptap-editor@2.3.1, @nuxtjs/mdc@0.17.2, @vueuse/nuxt@13.6.0, @nuxt/image@1.10.0, @nuxt/fonts@0.11.4, nuxt-time@1.0.3, @nuxt/icon@1.15.0, @nuxtjs/leaflet@1.3.2\n- Build Modules: -\n\n### Reproduction\n\nhttps://github.com/Chrissi2812/nuxt_bug_reports/tree/i18n/types-router\n--- Or ---\nhttps://stackblitz.com/edit/github-9m9yc3ub\n\n\u003Cimg width=\"502\" height=\"411\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/f725bb5d-c55d-4200-b26b-8d76338624b0\" />\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```",[3204],{"name":3173,"color":3174},3771,"useRoute needs suffix to work","2025-08-05T16:28:06Z","https://github.com/nuxt-modules/i18n/issues/3771",0.693413,{"description":3211,"labels":3212,"number":3214,"owner":3176,"repository":3177,"state":3215,"title":3216,"updated_at":3217,"url":3218,"score":3219},"### 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```",[3213],{"name":3173,"color":3174},3729,"closed","fix(v10): `runtimeConfig` type in Nuxt 4","2025-07-17T08:39:49Z","https://github.com/nuxt-modules/i18n/issues/3729",0.64478076,{"description":3221,"labels":3222,"number":3229,"owner":3176,"repository":3177,"state":3215,"title":3230,"updated_at":3231,"url":3232,"score":3233},"### 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```",[3223,3226],{"name":3224,"color":3225},"upstream","fbca04",{"name":3227,"color":3228},"need reproduction","CD234A",3753,"在 nuxt4.0.2 里使用 \"@nuxtjs/i18n\": \"^10.0.2\" 热更新报错","2025-07-24T09:13:52Z","https://github.com/nuxt-modules/i18n/issues/3753",0.662079,{"description":3235,"labels":3236,"number":3238,"owner":3176,"repository":3177,"state":3215,"title":3239,"updated_at":3240,"url":3241,"score":3242},"### 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```",[3237],{"name":3173,"color":3174},3713,"[v10.0.0-rc.1] Breaks PageMeta augmentation","2025-06-30T19:00:03Z","https://github.com/nuxt-modules/i18n/issues/3713",0.66215557,{"description":3244,"labels":3245,"number":3250,"owner":3176,"repository":3177,"state":3215,"title":3251,"updated_at":3252,"url":3253,"score":3254},"### 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```",[3246,3247],{"name":3227,"color":3228},{"name":3248,"color":3249},"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.66320693,{"description":3256,"labels":3257,"number":3264,"owner":3176,"repository":3177,"state":3215,"title":3265,"updated_at":3266,"url":3267,"score":3268},"### 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```",[3258,3261],{"name":3259,"color":3260},"🍰 p2-nice-to-have","0e8a16",{"name":3262,"color":3263},"scope: components","B327C3",3402,"Double nested `NuxtLinkLocale`","2025-05-30T19:25:27Z","https://github.com/nuxt-modules/i18n/issues/3402",0.6658476,{"description":3270,"labels":3271,"number":3273,"owner":3176,"repository":3177,"state":3215,"title":3274,"updated_at":3275,"url":3276,"score":3277},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v20.10.0`\n- Nuxt Version: `3.15.4`\n- CLI Version: `3.21.1`\n- Nitro Version: `2.10.4`\n- Package Manager: `yarn@1.22.22`\n- Builder: `-`\n- User Config: `compatibilityDate`, `devtools`, `css`, `vite`, `modules`, `i18n`\n- Runtime Modules: `@nuxtjs/i18n@9.2.1`\n- Build Modules: `-`\n\n\n\n\n### Reproduction\n\nI'm getting the below error when deploying on GitHub pages.\n\n\n[build](https://github.com/SalvoLunar/nuxtpagestest/actions/runs/13653748242/job/38167990431#step:8:105)\nProcess completed with exit code 1.\n\n\n\n\n\n\nUse this repository as minimal reproduction environment: https://github.com/SalvoLunar/nuxtpagestest\n\nTry to deploy on GitHub pages.\n\nYou'll get this error:\n\n_ctx.$t is not a function\n\nWhich seems to be related to the i18n plugin for nuxt\n\n\n\n\n\n\n\n\n\n### Describe the bug\n\nWhen deploying my Nuxt Project on github pages I get this error:\n\nError: [nitro] [unhandledRejection] _ctx.$t is not a function\n\n\nThe project generate correctly on my mac using yarn generate\n\n\n### Additional context\n\nThis is my package.json\n\n{\n \"name\": \"nuxt-app\",\n \"private\": true,\n \"type\": \"module\",\n \"scripts\": {\n \"build\": \"nuxt build\",\n \"dev\": \"nuxt dev\",\n \"generate\": \"nuxt generate\",\n \"preview\": \"nuxt preview\",\n \"postinstall\": \"nuxt prepare\"\n },\n \"dependencies\": {\n \"@nuxtjs/i18n\": \"^9.2.1\",\n \"@tailwindcss/vite\": \"^4.0.6\",\n \"eslint\": \"^9.21.0\",\n \"nuxt\": \"^3.15.4\",\n \"sass\": \"^1.85.0\",\n \"tailwindcss\": \"^4.0.6\",\n \"typescript\": \"^5.8.2\",\n \"typescript-eslint\": \"^8.26.0\",\n \"vue\": \"latest\",\n \"vue-router\": \"latest\"\n }\n}\n\n\n\n\n### Logs\n\n```shell\nRun yarn run generate\n yarn run generate\n shell: /usr/bin/bash -e {0}\n env:\n GITHUB_PAGES: true\nyarn run v1.22.22\n$ nuxt generate\n[log] [nuxi] Nuxt 3.15.4 with Nitro 2.10.4\n[info] [nuxt] Using `2024-04-03` as fallback compatibility date.\n[info] [nuxi] Building for Nitro preset: `static`\n[info] Building client...\n[info] vite v6.1.0 building for production...\n[info] transforming...\n[info] ✓ 114 modules transformed.\n[info] rendering chunks...\n[info] computing gzip size...\n[info] .nuxt/dist/client/manifest.json 1.26 kB │ gzip: 0.33 kB\n[info] .nuxt/dist/client/_nuxt/error-500.dGVH929u.css 1.88 kB │ gzip: 0.72 kB\n[info] .nuxt/dist/client/_nuxt/error-404.C3V-3Mc4.css 3.56 kB │ gzip: 1.10 kB\n[info] .nuxt/dist/client/_nuxt/entry.CcO6HMxk.css 3.82 kB │ gzip: 0.80 kB\n[info] .nuxt/dist/client/_nuxt/Drgu6tN-.js 0.38 kB │ gzip: 0.27 kB\n[info] .nuxt/dist/client/_nuxt/B6sXxbYA.js 3.41 kB │ gzip: 1.53 kB\n[info] .nuxt/dist/client/_nuxt/DhAUtIem.js 9.44 kB │ gzip: 3.77 kB\n[info] .nuxt/dist/client/_nuxt/DTI2uela.js 169.20 kB │ gzip: 62.32 kB\n[info] ✓ built in 1.86s\n[success] Client built in 1875ms\n[info] Building server...\n[info] vite v6.1.0 building SSR bundle for production...\n[info] transforming...\n[info] ✓ 58 modules transformed.\n[info] rendering chunks...\n[info] .nuxt/dist/server/_nuxt/rsvp-styles.CttwTQ2R.mjs 0.08 kB\n[info] .nuxt/dist/server/_nuxt/languageSelector-styles.DQbn0s-Y.mjs 0.08 kB\n[info] .nuxt/dist/server/_nuxt/location-styles.BlzjIDsJ.mjs 0.08 kB\n[info] .nuxt/dist/server/_nuxt/hero-styles.CcH_T3i_.mjs 0.08 kB\n[info] .nuxt/dist/server/_nuxt/error-404-styles.PedwCpCK.mjs 0.08 kB\n[info] .nuxt/dist/server/_nuxt/error-500-styles.K0bbvuT_.mjs 0.08 kB\n[info] .nuxt/dist/server/_nuxt/hero-styles.BlrCqToi.mjs 0.15 kB\n[info] .nuxt/dist/server/_nuxt/location-styles.268T3OaE.mjs 0.15 kB\n[info] .nuxt/dist/server/_nuxt/rsvp-styles.CAfEz6Gs.mjs 0.15 kB\n[info] .nuxt/dist/server/_nuxt/languageSelector-styles.DSHVr56e.mjs 0.15 kB\n[info] .nuxt/dist/server/_nuxt/error-404-styles.B5yeQDbX.mjs 0.15 kB\n[info] .nuxt/dist/server/_nuxt/error-500-styles.HhVXVi60.mjs 0.15 kB\n[info] .nuxt/dist/server/_nuxt/entry-styles.HDozuf_h.mjs 0.28 kB\n[info] .nuxt/dist/server/styles.mjs 1.84 kB\n[info] .nuxt/dist/server/_nuxt/entry-styles-1.mjs-3YZljDCr.js 0.61 kB │ map: 0.11 kB\n[info] .nuxt/dist/server/_nuxt/index-C2merokO.js 0.98 kB │ map: 6.88 kB\n[info] .nuxt/dist/server/_nuxt/entry-styles-4.mjs-DT7PuAmE.js 1.13 kB │ map: 0.11 kB\n[info] .nuxt/dist/server/_nuxt/entry-styles-3.mjs-Chp7cSni.js 1.19 kB │ map: 0.11 kB\n[info] .nuxt/dist/server/_nuxt/entry-styles-2.mjs-DemNg9Cl.js 1.71 kB │ map: 0.11 kB\n[info] .nuxt/dist/server/_nuxt/error-500-styles-1.mjs-Bj5KKHbJ.js 2.10 kB │ map: 0.12 kB\n[info] .nuxt/dist/server/_nuxt/error-404-styles-1.mjs-COU7bu3q.js 3.77 kB │ map: 0.12 kB\n[info] .nuxt/dist/server/_nuxt/error-500-A0s4x7rx.js 4.60 kB │ map: 5.36 kB\n[info] .nuxt/dist/server/_nuxt/error-404-WbywfVLw.js 14.20 kB │ map: 26.49 kB\n[info] .nuxt/dist/server/server.mjs 34.88 kB │ map: 81.85 kB\n[info] ✓ built in 582ms\n[success] Server built in 586ms\n[info] [nitro] Initializing prerenderer\n[info] [nitro] Prerendering 3 initial routes with crawler\nError: [unhandledRejection] _ctx.$t is not a function\n at _sfc_ssrRender$3 (.nuxt/prerender/chunks/build/server.mjs:804:189)\n at renderComponentSubTree (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:444:9)\n at renderComponentVNode (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:394:12)\n at ssrRenderComponent (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:86:10)\n at _sfc_ssrRender (.nuxt/prerender/chunks/build/server.mjs:850:9)\n at renderComponentSubTree (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:444:9)\n at renderComponentVNode (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:394:12)\n at ssrRenderComponent (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:86:10)\n at default (.nuxt/prerender/chunks/build/server.mjs:931:19)\n at ssrRenderSuspense (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:224:5)\nError: [nitro] [unhandledRejection] _ctx.$t is not a function\n at _sfc_ssrRender$3 (.nuxt/prerender/chunks/build/server.mjs:804:189)\n at renderComponentSubTree (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:444:9)\n at renderComponentVNode (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:394:12)\n at ssrRenderComponent (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:86:10)\n at _sfc_ssrRender (.nuxt/prerender/chunks/build/server.mjs:850:9)\n at renderComponentSubTree (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:444:9)\n at renderComponentVNode (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:394:12)\n at ssrRenderComponent (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:86:10)\n at default (.nuxt/prerender/chunks/build/server.mjs:931:19)\n at ssrRenderSuspense (node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js:224:5)\n[log] [nitro] ├─ /200.html (44ms)\n[log] [nitro] ├─ /404.html (45ms)\n[log] [nitro] ├─ / (54ms)\n │ └── [500] \n[log] [nitro] \nErrors prerendering:\n[log] [nitro] ├─ / (54ms)\n │ └── [500] \n[log] [nitro]\nError: Exiting due to prerender errors.\n at prerender (node_modules/nitropack/dist/core/index.mjs:2054:11)\n at async node_modules/nuxt/dist/shared/nuxt.CrJjphBv.mjs:4266:5\n at async build (node_modules/nuxt/dist/shared/nuxt.CrJjphBv.mjs:6645:3)\n at async Object.run (node_modules/@nuxt/cli/dist/chunks/build.mjs:74:5)\n at async Object.run (node_modules/@nuxt/cli/dist/chunks/generate.mjs:33:5)\n at async runCommand (node_modules/citty/dist/index.mjs:316:16)\n at async runCommand (node_modules/citty/dist/index.mjs:307:11)\n at async runMain (node_modules/citty/dist/index.mjs:445:7) \n\nError: Exiting due to prerender errors.\nerror Command failed with exit code 1.\ninfo Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.\nError: Process completed with exit code 1.\n```",[3272],{"name":3173,"color":3174},3390,"Error: [unhandledRejection] _ctx.$t is not a function","2025-07-20T22:55:17Z","https://github.com/nuxt-modules/i18n/issues/3390",0.6825957,["Reactive",3279],{},["Set"],["ShallowReactive",3282],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f-5bboGn-k6HRi7m94YKeKwxouWS44XoqgnxQ7x4HSP0":-1},"/nuxt-modules/i18n/3271"]