detectBrowserLanguage does not work in production
Environment
- Operating System: Linux
- Node Version: v20.11.0
- Nuxt Version: 3.11.1
- CLI Version: 3.11.1
- Nitro Version: 2.9.4
- Package Manager: [email protected]
- Builder: -
- User Config: srcDir, imports, $development, app, runtimeConfig, modules, primevue, i18n, postcss, css, supabase
- Runtime Modules: @nuxt/test-utils/[email protected], @nuxtjs/[email protected], @nuxtjs/[email protected], @pinia/[email protected], [email protected], @nuxtjs/[email protected]
- Build Modules: -
Reproduction
- The configuration:
i18n: {
locales: ['en', 'fr'],
defaultLocale: 'en',
strategy: 'no_prefix',
detectBrowserLanguage: {
useCookie: true,
cookieKey: 'i18n_redirected',
redirectOn: 'root', // recommended
},
},
- Run
npm run generate
Describe the bug
- Locally in development mode (
npm run dev): The cookie is set correctly with the browser locale being its value, works as expected :heavy_check_mark: - Production (
npm run generate): The cookie's value is set to the defaultLocale instead :x:
Additional context
No response
Logs
No response
Would you be able to provide a reproduction? 🙏
More info
Why do I need to provide a reproduction?
Reproductions make it possible for us to triage and fix issues quickly with a relatively small team. It helps us discover the source of the problem, and also can reveal assumptions you or we might be making.
What will happen?
If you've provided a reproduction, we'll remove the label and try to reproduce the issue. If we can, we'll mark it as a bug and prioritise it based on its severity and how many people we think it might affect.
If needs reproduction labeled issues don't receive any substantial activity (e.g., new comments featuring a reproduction link), we'll close them. That's not because we don't care! At any point, feel free to comment with a reproduction and we'll reopen it.
How can I create a reproduction?
We have a couple of templates for starting with a minimal reproduction:
👉 Reproduction starter (v8 and higher) 👉 Reproduction starter (edge)
A public GitHub repository is also perfect. 👌
Please ensure that the reproduction is as minimal as possible. See more details in our guide.
You might also find these other articles interesting and/or helpful:
reproduction: https://stackblitz.com/edit/github-oyrjnm?file=app.vue
@kazupon here is the reproduction: https://stackblitz.com/edit/github-oyrjnm?file=app.vue
I have the same problem - came here trying to debug this and find a solution. With nuxt generate, cookies and browser language are ignored - it's always the default language (and the cookie value is overwritten to the default language on load)
This should be resolved by #3087 which is included in the latest patch release so I'll close this, let me know if you have any questions!
I can confirm it works again - thank you for the fix! 🙏