\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).",[3172],{"name":3173,"color":3174},"pending triage","c2e0c6",3822,"nuxt-modules","i18n","open","Configurable Server Route Prefix for i18n Messages Endpoint","2025-09-17T09:19:34Z","https://github.com/nuxt-modules/i18n/issues/3822",0.6722533,{"description":3184,"labels":3185,"number":3187,"owner":3176,"repository":3177,"state":3178,"title":3188,"updated_at":3189,"url":3190,"score":3191},"### 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).",[3186],{"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.69192725,{"description":3193,"labels":3194,"number":3196,"owner":3176,"repository":3177,"state":3178,"title":3197,"updated_at":3198,"url":3199,"score":3200},"### Describe the feature\n\nAdd the ability to dynamically change the default locale for a multi-domain setup using a Nitro/Nuxt hook.\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).",[3195],{"name":3173,"color":3174},3810,"Add the option to dynamically change the default locale for multi-domain locales","2025-09-04T13:37:23Z","https://github.com/nuxt-modules/i18n/issues/3810",0.7005387,{"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\nHi,\n\nFirst of all, this request is not about custom route paths in Nuxt i18n. It is about Nuxt's [custom routes](https://nuxt.com/docs/4.x/guide/recipes/custom-routing) defined in router.config.js.\nNuxt's file-system routing is more of a hype than actual practicality. Most big commercial apps prefer to have a file specifying all routes along with their names, paths, components, middleware, etc. For that reason, Nuxt has exposed a way to define routes in a router.config.js file.\nHowever, I find it frustrating that I18n still doesn't support automatic prefixing of routes, defined in router.config.js, and rather relies solely on file-system routing. Having support for custom routes would allow bigger applications to make use of all features of I18n module without having to reinvent prefixing and automatic path generation.\n\nI really look forward to seeing this feature and utilizing the module to the fullest.\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},3770,"Add support for Nuxt custom routing","2025-08-05T06:36:57Z","https://github.com/nuxt-modules/i18n/issues/3770",0.70284146,{"description":3211,"labels":3212,"number":3214,"owner":3176,"repository":3177,"state":3178,"title":3215,"updated_at":3216,"url":3217,"score":3218},"### Describe the feature\n\nCurrently, the files property in the locales configuration only supports an array of file paths. I would like to propose supporting a prefix option for each file to namespace its translations when loaded.\n```\ni18n: {\n locales: [\n {\n code: \"en\",\n name: \"English\",\n files: [\n { path: \"en/common.json\", prefix: \"common\" },\n { path: \"en/checkout.json\", prefix: \"checkout\" },\n { path: \"en/order.json\", prefix: \"order\" }\n ]\n }\n ]\n}\n```\nWith this configuration, the keys inside en/checkout.json would be accessible via t('checkout.key'), while en/common.json would be t('common.key'), and so on.\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).",[3213],{"name":3173,"color":3174},3593,"Support for file prefix in locales.files config","2025-05-11T07:15:31Z","https://github.com/nuxt-modules/i18n/issues/3593",0.70883775,{"description":3220,"labels":3221,"number":3223,"owner":3176,"repository":3177,"state":3178,"title":3224,"updated_at":3225,"url":3226,"score":3227},"### Describe the feature\n\n#### Background\n\nThe `nuxt-i18n` module provides a `strategy` option with the following values:\n\n* `no_prefix`\n* `prefix_except_default`\n* `prefix`\n* `prefix_and_default`\n\nref: https://i18n.nuxtjs.org/docs/guide\n\nThe `no_prefix` strategy disables the use of locale prefixes (e.g., `/en`, `/ja`) in the URL.\n\nAdditionally, `nuxt-i18n` has a feature that automatically detects the locale based on the URL. For example, accessing a URL like `/en/*` will switch the locale to `en`.\n\nHowever, when the `no_prefix` strategy is used, this automatic locale detection based on the pathname is disabled, as the pathname does not contain locale information.\nref: https://github.com/nuxt-modules/i18n/blob/25b900a9f5d509ac1081716a3a7d5c1d22edbd71/src/runtime/utils.ts#L247-L249\n\nThis behavior seems logical given the absence of locale information in the URL. However, it causes issues when building multilingual documentation sites using `nuxt/content`.\n\n##### Example Use Case:\n\nSuppose we have the following markdown files for multilingual content:\n\n* `docs/en/about.md`\n* `docs/ja/about.md`\n\nIn this case, we want to access `/en/about` and `/ja/about` to display the corresponding localized content. However, since the locale detection from pathname is disabled with `no_prefix`, the locale is not correctly detected based on the URL.\n\nAs a result, during SSG (Static Site Generation), both `/en/about` and `/ja/about` will be generated using the language setting of the build machine, causing incorrect locale assignments.\n\ne.g. https://github.com/odan-sandbox/nuxt-content-and-i18n-no_prefix-example\n\n| http://localhost:3000/en/about | http://localhost:3000/ja/about |\n|-|-|\n|\u003Cimg width=\"335\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/140618e5-a2cd-46cb-8678-bd615b02bfa1\" />|\u003Cimg width=\"324\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/cd6f6927-33b3-4b85-a984-64c6cb1f53e5\" />|\n\n#### Proposed Feature: `localeDetector` Option\n\n##### Current Behavior Example\n\nTo illustrate the current behavior, consider the following scenario:\n\n* Accessing `/en/about` and `/ja/about` under the `no_prefix` strategy will not trigger locale detection based on the pathname.\n* As a result, both paths will use the language setting of the build machine during SSG, resulting in both paths potentially being generated in the same language.\n\nScreenshots and repository links demonstrating the current behavior will be provided to further clarify the issue.\n\nTo address this issue, I propose adding a new `localeDetector` option to the module configuration. This option allows specifying the methods for locale detection as follows:\n\n```typescript\ntype LocaleDetector = (\"pathname\" | \"domain\" | \"cookie\" | \"browser\")[];\n\nconst localeDetector: LocaleDetector = [\"pathname\", \"domain\", \"cookie\", \"browser\"];\n```\n\nIf `pathname` is specified, the locale will be automatically detected based on the URL pathname.\n\nThe default value of `localeDetector` will vary depending on the `strategy` value to maintain backward compatibility. For instance, when `no_prefix` is selected, the default value would be:\n\n```javascript\nlocaleDetector: [\"domain\", \"cookie\", \"browser\"]\n```\n\n##### Example Configuration for My Use Case:\n\n```javascript\nstrategy: \"no_prefix\",\nlocaleDetector: [\"pathname\", \"cookie\", \"browser\"]\n```\n\nThis configuration would resolve the issue by enabling locale detection based on pathname while maintaining backward compatibility with existing behavior.\n\nThank you for considering this feature request. I would be happy to provide further clarifications or contribute to the implementation if needed.\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).",[3222],{"name":3173,"color":3174},3609,"Add `localeDetector` option to customize locale detection during Vue component rendering","2025-05-16T18:51:35Z","https://github.com/nuxt-modules/i18n/issues/3609",0.70901054,{"description":3229,"labels":3230,"number":3232,"owner":3176,"repository":3177,"state":3178,"title":3233,"updated_at":3234,"url":3235,"score":3236},"### Describe the feature\n\nHi,\nBasically, I have a root `schedule.vue` page which is this route `/en/schedule`.\n\n\u003Cimg width=\"319\" height=\"128\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/03ec9ac3-c1ce-409c-869e-eb48888e241c\" />\n\nThe schedule page has nested \"child\" routes, which are displayed as \"tabs\" using `\u003CNuxtChild />`.\n\n\u003Cimg width=\"1288\" height=\"664\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/3f1a9bac-7094-4cd6-b5a8-3b6f8d26069f\" />\n\nWhen I visit the schedule route, I want to redirected to `schedule/[day].vue`, with \"day\" param set as \"1\", which would display the schedule for the first day of the event `/en/schedule/1`.\n\nI had to create a custom middleware because it was not supported.\n```js\n// schedule.vue\n\ndefinePageMeta({\n localeRedirect: {\n name: 'schedule-day',\n params: { day: 1 },\n },\n i18n: {\n paths: {\n fr: '/programmation',\n en: '/schedule',\n },\n },\n});\n```\n\n```js\n// localeRedirect.global.ts\n\nexport default defineNuxtRouteMiddleware((to) => {\n const localePath = useLocalePath();\n if (to.meta.localeRedirect && to.matched.length === 1 && !to.redirectedFrom) {\n return navigateTo(localePath(to.meta.localeRedirect));\n }\n});\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).",[3231],{"name":3173,"color":3174},3801,"Add i18n support to `redirect` inside `definePageMeta`","2025-08-31T09:50:36Z","https://github.com/nuxt-modules/i18n/issues/3801",0.711306,{"description":3238,"labels":3239,"number":3241,"owner":3176,"repository":3177,"state":3178,"title":3242,"updated_at":3243,"url":3244,"score":3245},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.15.0\n- Nuxt Version: 3.17.3\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: compatibilityDate, devtools, modules, i18n, nitro\n- Runtime Modules: @nuxt/content@3.5.1, @nuxtjs/i18n@9.5.4\n- Build Modules: -\n\n\n### Reproduction\n\nA minimal reproduction of this issue can be found in the following repository: https://github.com/odan-sandbox/nuxt-content-and-i18n-no_prefix-example\n\n\n### Describe the bug\n\nWhen using the `no_prefix` strategy in `nuxt-i18n`, the locale detection based on the URL pathname is not functioning as expected. This results in incorrect locale assignment during SSR/SSG.\n\nFor example, accessing `/en/about` and `/ja/about` should render the corresponding locale-specific content, but instead, both paths are rendered using the default or server locale, ignoring the locale information in the pathname.\n\nThis issue causes problems for multilingual documentation sites using `nuxt/content`, where the content is structured by locale (e.g., `docs/en/about.md`, `docs/ja/about.md`). During SSG, both paths may be generated with the same language content, leading to incorrect output.\n\nIf a PR to resolve this issue is considered appropriate, I would be willing to work on it.\n\n\n### Additional context\n\nRelated: https://github.com/nuxt-modules/i18n/issues/3609\n\n### Logs\n\n```shell\n\n```",[3240],{"name":3173,"color":3174},3619,"Locale detection not working with `no_prefix` strategy","2025-05-19T06:13:27Z","https://github.com/nuxt-modules/i18n/issues/3619",0.7227181,{"description":3247,"labels":3248,"number":3258,"owner":3176,"repository":3177,"state":3259,"title":3260,"updated_at":3261,"url":3262,"score":3263},"### Environment\n\n```\n- Operating System: Darwin\n- Node Version: v22.11.0\n- Nuxt Version: 3.13.2\n- CLI Version: 3.16.0\n- Nitro Version: 2.10.4\n- Package Manager: npm@10.9.0\n- Builder: -\n- User Config: default\n- Runtime Modules: @nuxtjs/i18n@9.1.0, @pinia/nuxt@0.7.0\n- Build Modules: -\n```\n\n### Reproduction\n\nhttps://stackblitz.com/edit/bobbiegoede-nuxt-i18n-starter-l8bdri?file=pages%2Ftest.vue,pages%2Findex.vue but it won't work in stackblitz so it needs to be reproduced in local environment\n\n### Describe the bug\n\nWhen using `\u003CNuxtLinkLocale>` with `to=\"/some-url-in-your-application\"` with `target=\"_blank\"`, locale prefix is not inserted in the resulting URL.\n\n### Additional context\n\nIn my opinion prefix should be added (or omitted if it is a default locale) as I use `\u003CNuxtLinkLocale>` here with exact purpose to direct to my application. Otherwise I would have used just an ordinary `\u003Ca>` tag or even `\u003CNuxtLink>`\n\n### Logs\n\n```shell\n\n```",[3249,3252,3255],{"name":3250,"color":3251},"bug 🐛","ee0701",{"name":3253,"color":3254},"PR Welcome","40922A",{"name":3256,"color":3257},"nuxt-link-locale","B327C3",3252,"closed","NuxtLinkLocale with an attribute target=\"_blank\" does not respect the locale prefix","2025-05-22T15:26:02Z","https://github.com/nuxt-modules/i18n/issues/3252",0.7067164,{"description":3265,"labels":3266,"number":3273,"owner":3176,"repository":3177,"state":3259,"title":3274,"updated_at":3275,"url":3276,"score":3277},"### 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).",[3267,3270],{"name":3268,"color":3269},"feature request","ffbb00",{"name":3271,"color":3272},"upstream","fbca04",3019,"Support for `defineRouteRules`","2025-08-27T13:48:14Z","https://github.com/nuxt-modules/i18n/issues/3019",0.7120691,["Reactive",3279],{},["Set"],["ShallowReactive",3282],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fC0MJCMjXoNVMFMhj5VRJxlGUTlNZ3_eS_BRkwVbdZpw":-1},"/nuxt-modules/i18n/3761"]