\n\u003Cimg width=\"1458\" height=\"406\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/81553474-7205-48ad-8231-b92d3638399e\" />\n\n### Additional information\n\n- [ ] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/community/contribution) (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).\n- [x] Check existing [discussions](https://github.com/nuxt-modules/i18n/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3195],{"name":3173,"color":3174},3822,"Configurable Server Route Prefix for i18n Messages Endpoint","2025-09-17T09:19:34Z","https://github.com/nuxt-modules/i18n/issues/3822",0.6882438,{"description":3202,"labels":3203,"number":3205,"owner":3176,"repository":3177,"state":3178,"title":3206,"updated_at":3207,"url":3208,"score":3209},"### Describe the feature\n\n### Description\n\nHi there,\nI'm working on a Nuxt project that needs to serve multiple countries, each on a separate domain. Each domain has its own i18n requirements:\n\n* Some domains have **only one official language** (e.g., `site.fr` → French only, no prefix needed).\n* Others have **multiple languages**, and the strategy varies:\n\n * Some use `prefix_except_default` (e.g., `site.ca` with `fr` and `en`)\n * Others use `prefix` (e.g., `site.be` with `fr` and `nl`)\n\n### Constraints:\n\n* I want to **use a single Nuxt build** to serve all domains.\n* I need to **dynamically adapt the i18n config** (strategy, locales, defaultLocale) based on the current domain (host).\n* I also need to **detect the current domain** at runtime (server & client) to configure things like API base URLs.\n* Compatible with SSR & SEO\n\n### Problem\n\nCurrently, I need to generate and deploy **one build per domain** to accommodate the differences in `strategy`, `defaultLocale`, and available `locales`. That means I must build the app **8 times**, which is time-consuming and hard to maintain.\n\n### Question\n\nIs there currently any **official or recommended way** to support multiple domains with different i18n strategies **using a single build**?\n\nIf not, would this be considered a valid feature request, or are there technical constraints that prevent this kind of setup?\n\nThanks a lot for your help!\n\n\n### Additional information\n\n- [ ] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/community/contribution) (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).\n- [x] Check existing [discussions](https://github.com/nuxt-modules/i18n/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3204],{"name":3173,"color":3174},3748,"Support complex multi-domain i18n configurations in a single build","2025-07-22T22:16:46Z","https://github.com/nuxt-modules/i18n/issues/3748",0.69239545,{"description":3211,"labels":3212,"number":3216,"owner":3176,"repository":3177,"state":3178,"title":3217,"updated_at":3218,"url":3219,"score":3220},"### Environment\n\n* Nuxt: `^3.x`\n* @nuxtjs/i18n: `^9.x`\n* Package manager: `pnpm`\n* Node: `>=18`\n* OS: macOS\n\n### Reproduction\n\n\n#### 🧩 What I'm trying to do\n\nI want to **dynamically disable translation for some pages**, such as `/admin` or any route matching a certain pattern, by injecting into the `i18n.pages` config like this:\n\n```ts\ni18n: {\n customRoutes: 'config',\n pages: {\n 'admin': false\n }\n}\n```\n\nBut I want to do this **dynamically from another Nuxt module**, based on logic like:\n\n* Whether route path starts with `/admin`\n* Whether the file name includes certain keywords\n* Optional user-defined exclude rule function\n\n---\n\n#### 📌 Problem\n\nThe `pages:extend` hook gives access to all generated Nuxt pages, and I can detect which pages I want to exclude, then inject:\n\n```ts\nnuxt.options.i18n.pages = {\n ...nuxt.options.i18n.pages,\n ...detectedPagesToExclude\n}\n```\n\nHowever, **`@nuxtjs/i18n` appears to snapshot the config too early**, likely before `pages:extend` runs, and generates `i18n-options.mjs` using an internal `ctx.options`, so my dynamic changes to `nuxt.options.i18n.pages` do **not reflect** in the generated options.\n\n---\n\n### Describe the bug\n\n\n#### ❓Question\n\nIs there an **official or recommended way** to dynamically inject/disable page translation settings (`customRoutes: 'config'` + `pages`) at runtime or module time?\n\nMore specifically:\n\n* Can you expose a Nuxt hook like `i18n:extendPagesConfig(pages)` before generating `i18n-options.mjs`?\n* Or is there a safe way to hook into `ctx.options.pages` in a custom module?\n* Or should we write a wrapper module that overrides the `i18n` module setup?\n\n---\n\n#### 🧪 What I tried\n\n```ts\nnuxt.hook('pages:extend', pages => {\n for (const page of pages) {\n if (page.path.startsWith('/admin') && page.name) {\n nuxt.options.i18n.pages[page.name] = false\n }\n }\n})\n```\n\nBut this doesn't reflect in the generated `.nuxt/i18n-options.mjs` file.\n\n---\n\n#### 🙏 Feature request?\n\nCould you consider adding a hook like:\n\n```ts\nnuxt.hook('i18n:extendPagesConfig', (pages: NuxtPage[], currentConfig: Record\u003Cstring, any>) => {\n // modify and return updated pages config\n})\n```\n\nSo that other modules (like `i18n-exclude`) can safely hook in and modify translation strategy for specific routes?\n\n---\n\nLet me know if there's already a supported way to do this.\n\nThanks a lot for the amazing work on `@nuxtjs/i18n` 🙌\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3213],{"name":3214,"color":3215},"feature request","ffbb00",3716,"Allow modules to modify route localization","2025-07-03T17:06:13Z","https://github.com/nuxt-modules/i18n/issues/3716",0.69308376,{"description":3222,"labels":3223,"number":3228,"owner":3176,"repository":3177,"state":3178,"title":3229,"updated_at":3230,"url":3231,"score":3232},"### Environment\n\nnpx nuxi info\nWorking directory: C:/Users/senem/MEM22 nuxi 01:42:27\nNuxt project info: (copied to clipboard) nuxi 01:42:27\n\n------------------------------\n- Operating System: Windows_NT\n- Node Version: v20.19.4\n- Nuxt Version: 3.17.7\n- CLI Version: 3.26.2\n- Nitro Version: 2.12.3\n- Package Manager: npm@10.8.2\n- Builder: -\n- User Config: compatibilityDate, devtools, ssr, app, pages, modules, css, postcss, supabase, vite, sourcemap, routeRules, nitro, site, sitemap, plugins, headers, i18n\n- Runtime Modules: @nuxtjs/i18n@10.0.3, @nuxt/eslint@1.6.0, @nuxt/icon@1.15.0, @nuxt/image@1.10.0, @nuxtjs/tailwindcss@6.14.0, @nuxtjs/supabase@1.5.3, @nuxtjs/sitemap@7.4.3\n- Build Modules: -\n------------------------------\n\n👉 Report an issue: https://github.com/nuxt/nuxt/issues/new?template=bug-report.yml\n👉 Suggest an improvement: https://github.com/nuxt/nuxt/discussions/new\n👉 Read documentation: https://nuxt.com\n\n### Reproduction\n\nhttps://github.com/EnsMsgLu/nuxt-i18n-issue\n\n### Describe the bug\n\nit doesnt working with subdomains \n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3224,3225],{"name":3173,"color":3174},{"name":3226,"color":3227},"need reproduction","CD234A",3767,"Its not working Home page on Subdomain","2025-07-31T10:28:33Z","https://github.com/nuxt-modules/i18n/issues/3767",0.70243615,{"description":3234,"labels":3235,"number":3237,"owner":3176,"repository":3177,"state":3178,"title":3238,"updated_at":3239,"url":3240,"score":3241},"### Describe the feature\n\nI’d like to configure my application so that a locale like pt-BR uses a human‑friendly prefix instead of the code in URLs.\n\nE.g. `/brazil/about` instead of `/pt-BR/about`.\n\nIdeally, something like this:\n\n```js\nlocales: [\n {\n code: 'pt-BR',\n file: 'pt-BR.yml',\n language: 'pt-BR',\n prefix: 'brazil'\n }\n]\n```\n\nThat way:\n\n- I don’t need to map every route manually via pages config or macros.\n- I can keep my existing locale code value (`pt-BR`) unchanged.\n- I can support a custom prefix string (`brazil`) that’s meaningful and SEO‑friendly.\n\n### Additional information\n\n- [ ] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/community/contribution) (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).\n- [x] Check existing [discussions](https://github.com/nuxt-modules/i18n/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3236],{"name":3173,"color":3174},3761,"[Feature Request] Allow custom prefix per locale","2025-07-25T05:47:03Z","https://github.com/nuxt-modules/i18n/issues/3761",0.7093803,{"description":3243,"labels":3244,"number":3249,"owner":3176,"repository":3177,"state":3250,"title":3251,"updated_at":3252,"url":3253,"score":3254},"### Describe the feature\n\nNuxt added support for [inline route rules](https://nuxt.com/docs/api/utils/define-route-rules), when using locale prefixed routes however - the rules don't seem to match/be triggered.\r\nMore broadly speaking a section or note on how to deal with nuxt `routeRules` and prefixed routes might be nice, maybe even a helper function to pass config to and get a transformed result back\n\n### Additional information\n\n- [ ] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution) (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).\n- [X] Check existing [discussions](https://github.com/nuxt-modules/i18n/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3245,3246],{"name":3214,"color":3215},{"name":3247,"color":3248},"upstream","fbca04",3019,"closed","Support for `defineRouteRules`","2025-08-27T13:48:14Z","https://github.com/nuxt-modules/i18n/issues/3019",0.6659243,{"description":3256,"labels":3257,"number":3261,"owner":3176,"repository":3177,"state":3250,"title":3262,"updated_at":3263,"url":3264,"score":3265},"### Describe the feature\n\n\r\nI have a project that heavily relies on several modules injecting pages. It is used to create websites for different countries by feeding country-config into nuxt-config. As a result, each module may inject a different set of pages based on the configuration.\r\n\r\nCurrently, I have found no way to define custom routes for pages injected through modules. \r\nI cannot use `customRoutes: 'page'` because it would require modifying all modules whenever we release the website for a new country. \r\nAlso, I cannot use `customRoutes: 'config'` since it cannot resolve AnalyzedNuxtPageMeta for injected pages.\r\n\r\nI wrote some details in discussions few days ago:\r\nhttps://github.com/nuxt-modules/i18n/discussions/2398\r\n\r\nI'd like to have an ability to define customRoutes based on route name instead of fs-like path. \r\nSo next 2 blocks will give same result:\r\n\r\n```js\r\ni18n: {\r\n customRoutes: 'config',\r\n pages: {\r\n 'my/[param]/page': {\r\n en: 'my/[param]/page',\r\n de: 'mein/[param]/seite'\r\n }\r\n }\r\n}\r\n```\r\n\r\n```js\r\ni18n: {\r\n customRoutes: 'named-config',\r\n pages: {\r\n 'my-param-page': { \r\n en: 'my/:param()/page',\r\n de: 'mein/:param()/seite'\r\n }\r\n }\r\n}\r\n```\r\n\r\n\r\n\n\n### Additional information\n\n- [X] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution) (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).\n- [X] Check existing [discussions](https://github.com/nuxt-modules/i18n/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3258],{"name":3259,"color":3260},"scope: routing","21CD73",2407,"Add one more way to define custom routes. 'named-config'","2025-05-23T09:36:57Z","https://github.com/nuxt-modules/i18n/issues/2407",0.6863901,{"description":3267,"labels":3268,"number":3270,"owner":3176,"repository":3177,"state":3250,"title":3271,"updated_at":3272,"url":3273,"score":3274},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.16.0\n- Nuxt Version: 3.17.7\n- CLI Version: 3.26.2\n- Nitro Version: 2.12.2\n- Package Manager: pnpm@10.13.1\n- Builder: -\n- User Config: compatibilityDate, future, devtools, telemetry, debug, runtimeConfig, app, css, postcss, tailwindcss, modules, cms, build, storefront, storefront-ui, svgo, fonts, image, experimental, i18n, opentelemetry, imports, vueuse, components, vue, devServer, ignore, routeRules, vite, hooks, nitro, optimization\n- Runtime Modules: @nuxtjs/i18n@10.0.0, @scayle/storefront-nuxt/module@8.33.2, @scayle/omnichannel-nuxt/module@4.3.2, @nuxtjs/tailwindcss@6.14.0, nuxt-svgo@4.2.4, @nuxt/fonts@0.11.4, @nuxt/image@1.10.0, @vueuse/nuxt@13.5.0, nuxt-swiper@1.2.2, @nuxt/test-utils/module@3.19.2, @nuxt/eslint@1.4.1, @scayle/eslint-auto-explicit-import@0.2.0, @scayle/nuxt-opentelemetry@0.13.10, @scayle/storefront-country-detection@2.0.0, @scayle/storefront-product-detail@1.5.0, @scayle/storefront-product-listing@2.0.1, @scayle/storefront-promotions@2.2.0, @scayle/storefront-search@0.3.0, @scayle/storefront-basket@0.3.0, @scayle/storefront-navigation@0.3.0, @scayle/nuxt-image-provider@0.3.1, @nuxtjs/storybook@8.4.1\n- Build Modules: -\n\n### Reproduction\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-a8x1bxda?file=i18n%2Fi18n.config.ts\n\n### Describe the bug\n\nI use a module that relies on the correct locale during SSR. When I set the strategy to `prefix` and open some site without prefix but with query params, the default locale is missing during SSR. \n\nIn my case, this cause the page to crash. \n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell\n\n```",[3269],{"name":3173,"color":3174},3733,"Redirects are not properly resolved when the URL contians query params","2025-07-19T09:16:15Z","https://github.com/nuxt-modules/i18n/issues/3733",0.69253814,["Reactive",3276],{},["Set"],["ShallowReactive",3279],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fwaQWiXlpWUMxkdaQF5QfZJsDI1upk56IZxGZkrwL3EU":-1},"/nuxt-modules/i18n/3801"]