\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.63532895,{"description":3030,"labels":3031,"number":3033,"owner":3022,"repository":3023,"state":3024,"title":3034,"updated_at":3035,"url":3036,"score":3037},"### 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\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```",[3032],{"name":3019,"color":3020},3760,"Fallback language does not work on v10.0.2","2025-07-24T14:43:30Z","https://github.com/nuxt-modules/i18n/issues/3760",0.66588753,{"description":3039,"labels":3040,"number":3042,"owner":3022,"repository":3023,"state":3024,"title":3043,"updated_at":3044,"url":3045,"score":3046},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v21.7.1`\n- Nuxt Version: `3.16.2`\n- CLI Version: `3.25.0`\n- Nitro Version: `2.11.9`\n- Package Manager: `npm@10.9.0`\n- Builder: `-`\n- User Config: `codegen`, `compatibilityDate`, `css`, `device`, `devtools`, `i18n`, `image`, `modules`, `runtimeConfig`, `scripts`, `srcDir`, `svgo`, `vite`, `watch`\n- Runtime Modules: `@bootstrap-vue-next/nuxt@0.29.3`, `@nuxt/eslint@1.3.0`, `@nuxt/fonts@0.11.2`, `@nuxt/image@1.10.0`, `@nuxt/scripts@0.11.6`, `@nuxtjs/device@3.2.4`, `@nuxtjs/i18n@9.5.3`, `@nuxtjs/stylelint-module@5.2.1`, `nuxt-svgo@4.0.19`, `nuxt-swiper@2.0.0`\n- Build Modules: `-`\n\n\n### Reproduction\n\nHere is the reproduction:\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-rskcxctd\n\n### Describe the bug\n\nWhen you translate your pages with defineI18nRoute (or maybe into `pages` key into i18n config) is getting rid when strategy in no prefixed (bot _no_prefix_ and _prefix_except_default_)\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3041],{"name":3019,"color":3020},3598,"defineI18nRoute is not working with no_prefix strategy","2025-05-13T14:21:14Z","https://github.com/nuxt-modules/i18n/issues/3598",0.6901972,{"description":3048,"labels":3049,"number":3054,"owner":3022,"repository":3023,"state":3024,"title":3055,"updated_at":3056,"url":3057,"score":3058},"### Environment\n\nI am using @nuxtjs/i18n 9.5.4 with nuxt 3.17.3 for a statically generated website.\n\n\n### Reproduction\n\n-\n\n### Describe the bug\n\n\nIn nuxt.config.ts I have the default i18n settings:\n\n```\n\t\tdetectBrowserLanguage: {\n\t\t\tuseCookie: true,\n\t\t\tcookieKey: 'i18n_redirected',\n\t\t\tredirectOn: 'root'\n\t\t},\n```\n\nThe first time the site loads, before the i18n_redirected cookie exists, I see the following error in the console:\n\n```\nHydration completed but contains mismatches.\n```\n\nSubsequent visits to the site, once the cookie exists, do not have this error.\n\nI have confirmed that i18n locale detection is the issue by testing this configuration:\n\n```\n\t\tdetectBrowserLanguage: false\n```\n\nWhen detectBrowserLanguage is false, the issue does not occur.\n\nEDIT: Upon some further testing, the error only seems to occur if the browser locale that i18n matches is different from the defaultLocale. For example, if my browser locale is \"de\" but the i18n defaultLocale is \"en\" then the error will occur when i18n flips over to to the 'de' pages. By comparision, if the browser locale is \"en\", same as i18n defaultLocale, then the error will never occur. \n\nThe site renders fine, so it is not a big deal. But I'm wondering if there is anything that can be done to prevent that error from happening in the console on the initial load, before the cookie exists?\n\nThanks (in advance) for your help!\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3050,3051],{"name":3019,"color":3020},{"name":3052,"color":3053},"need reproduction 💻","CD234A",3608,"Hydration mismatch on initial static site load, before i18n cookie is set","2025-05-21T00:33:31Z","https://github.com/nuxt-modules/i18n/issues/3608",0.7060383,{"description":3060,"labels":3061,"number":3063,"owner":3022,"repository":3023,"state":3024,"title":3064,"updated_at":3065,"url":3066,"score":3067},"### 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```",[3062],{"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.7074475,{"description":3069,"labels":3070,"number":3072,"owner":3022,"repository":3023,"state":3024,"title":3073,"updated_at":3074,"url":3075,"score":3076},"### Environment\n\n------------------------------\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: npm@10.8.2\n- Builder: -\n- User Config: modules, devtools, nitro, i18n\n- Runtime Modules: @nuxtjs/i18n@9.5.5-29143926.54460af\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-b5evupp3?file=nuxt.config.ts\n\n### Describe the bug\n\nWhen the site is generated or pre-rendered in `strategy: 'prefix'`, Browser language detection is not performed but the site always lands on the `defaultLocale` (`ja` in this case).\nThis is a bug present in both `V9` and `V10` and it would be nice to be fixed before the final release.\n\nCurrently the only solution I have found is to specify not to pre-render the `/` page and to start from the others (by the way it is not correct that this page is prerendered in `strategy: 'prefix'`):\n```js \n routeRules: {\n '/': {\n prerender: false,\n },\n '/ja': {\n prerender: true,\n },\n '/it': {\n prerender: true,\n },\n '/en': {\n prerender: true,\n },\n },\n```\n\n### Additional context\n\nI noticed this error when deploying to Netlify, but you can reproduce it with\n`nuxt build`\n`nuxt preview`\n\n### Logs\n\n```shell\n\n```",[3071],{"name":3019,"color":3020},3678,"Browser language detection on prerendering with `strategy: 'prefix'`","2025-06-05T15:21:38Z","https://github.com/nuxt-modules/i18n/issues/3678",0.7089868,{"description":3078,"labels":3079,"number":3086,"owner":3022,"repository":3023,"state":3087,"title":3088,"updated_at":3089,"url":3090,"score":3091},"### 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```",[3080,3083],{"name":3081,"color":3082},"🍰 p2-nice-to-have","0e8a16",{"name":3084,"color":3085},"scope: components","B327C3",3402,"closed","Double nested `NuxtLinkLocale`","2025-05-30T19:25:27Z","https://github.com/nuxt-modules/i18n/issues/3402",0.66746354,{"description":3093,"labels":3094,"number":3096,"owner":3022,"repository":3023,"state":3087,"title":3097,"updated_at":3098,"url":3099,"score":3100},"### 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```",[3095],{"name":3019,"color":3020},3713,"[v10.0.0-rc.1] Breaks PageMeta augmentation","2025-06-30T19:00:03Z","https://github.com/nuxt-modules/i18n/issues/3713",0.67574453,{"description":3102,"labels":3103,"number":3105,"owner":3022,"repository":3023,"state":3087,"title":3106,"updated_at":3107,"url":3108,"score":3109},"### 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```",[3104],{"name":3019,"color":3020},3390,"Error: [unhandledRejection] _ctx.$t is not a function","2025-07-20T22:55:17Z","https://github.com/nuxt-modules/i18n/issues/3390",0.67722565,{"description":3111,"labels":3112,"number":3116,"owner":3022,"repository":3023,"state":3087,"title":3117,"updated_at":3118,"url":3119,"score":3120},"### Environment\n\n```\n- Operating System: Darwin\n- Node Version: v22.14.0\n- Nuxt Version: 3.16.2\n- CLI Version: 3.25.0\n- Nitro Version: 2.11.9\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: ssr, compatibilityDate, devtools, modules, i18n\n- Runtime Modules: @nuxt/content@3.4.0, @nuxtjs/i18n@9.5.3\n- Build Modules: -\n```\n\n### Reproduction\n\nReproduction: https://stackblitz.com/~/github.com/ismaoc/test2\nCode: https://github.com/ismaoc/test2\n\n### Describe the bug\n\nJust created a fresh Nuxt project with `npm create nuxt \u003Cproject_name>` and added nuxti18n with `npx nuxi@latest module add i18n`. Added a basic locale config (same as the docs) and get a \"not found error\" or \"Failed to parse JSON file.\" for the locales files.\n\nThe config\n\n```\ni18n: {\n lazy: false,\n locales: [\n { code: 'en', file: 'en' },\n { code: 'fr', file: 'fr' },\n ],\n }\n```\n\nthrows the error:\n\n\n```\n[9:12:36 PM] ERROR Pre-transform error: Failed to load url /i18n/locales/en (resolved id: /Users/user/pruebas/test2/i18n/locales/en) in /Users/user/pruebas/test2/.nuxt/i18n.options.mjs. Does the file exist?\n\n\n[9:12:36 PM] ERROR Pre-transform error: Failed to load url /i18n/locales/fr (resolved id: /Users/user/pruebas/test2/i18n/locales/fr) in /Users/user/pruebas/test2/.nuxt/i18n.options.mjs. Does the file exist?\n```\n\nIf I add the .json extension like this:\n\ni18n: {\n defaultLocale: 'en',\n locales: [\n { code: 'en', name: 'English', file: 'en.json' },\n { code: 'fr', name: 'Français', file: 'fr.json' }\n ]\n }\n\nthrows:\n\n```\n ERROR Pre-transform error: Failed to parse JSON file. 9:19:58 PM\n Plugin: vite:json\n File: /Users/user/pruebas/test2/i18n/locales/fr.json\n\n\n ERROR Pre-transform error: Failed to parse JSON file. 9:19:58 PM\n Plugin: vite:json\n File: /Users/user/pruebas/test2/i18n/locales/en.json\n```\n\nThanks.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3113],{"name":3114,"color":3115},"upstream issue","fbca04",3560,"Bug: i18n Configuration Not Loading Locale Files","2025-05-16T11:33:25Z","https://github.com/nuxt-modules/i18n/issues/3560",0.6802032,["Reactive",3122],{},["Set"],["ShallowReactive",3125],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fmvgm_MBqA8g3Sbh-Gw6xbyCe6YTtq3zlJpbmD0f2uDk":-1},"/nuxt-modules/i18n/3659"]