i18n icon indicating copy to clipboard operation
i18n copied to clipboard

Cached version (swr, ssg...) is saved with one locale only

Open xelab opened this issue 1 year ago • 1 comments

Environment

Reproduction

Set this config in you nuxt.config.ts to reproduce the mistake :

i18n: {
        compilation: {
            strictMessage: false
        },
        locales: [
            {
                code: "es-ES",
                file: "es-ES.ts",
                domain: "mydomain.es",
                iso: "es-ES"
            },
            {
                code: "fr-FR",
                file: "fr-FR.ts",
                domain: "mydomain.fr",
                iso: "fr-FR"
            }
        ],
        detectBrowserLanguage: false,
        differentDomains: true,
        defaultLocale: "fr-FR",
        lazy: true,
        langDir: "./locales",
        vueI18n: "./i18n.config.ts" // if you are using custom path, default
    },
routeRules: {
        "/": { swr: 3600 }

Describe the bug

Hello, I have a page (my index page) which I want to cache with swr settings (swr: 3600 in routeRoules, see my config). But here is the problem : we have different domains for each language on our website and it appears the cached page is only saved with the default locale (fr-FR), not all the locales we set in our nuxt.config! So when we load the page with a different locale, the i18n stuff is active only on the client side (we can see the other language for a second before the i18n do translations) and the v-if blocks are not properly working (for instance, if we have a "v-if="i18n.locale === 'fr'" and display the page from the spanish domain, that's doesn't work, we see the wrong block).

Additional context

No response

Logs

No response

xelab avatar Mar 22 '24 09:03 xelab

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:

github-actions[bot] avatar Mar 22 '24 09:03 github-actions[bot]

Closing due to inactivity. Please open a new issue with a reference to this one if you can follow up with more information.

Thanks!

kazupon avatar Apr 12 '24 09:04 kazupon