Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

localePath not generating route, it's empty #3038

Closed
grzegorztomasiak opened this issue Jul 22, 2024 · 4 comments
Closed

localePath not generating route, it's empty #3038

grzegorztomasiak opened this issue Jul 22, 2024 · 4 comments

Comments

@grzegorztomasiak
Copy link

Environment

  • Operating System: Windows_NT
  • Node Version: v22.5.1
  • Nuxt Version: 3.12.4
  • CLI Version: 3.12.0
  • Nitro Version: 2.9.7
  • Package Manager: npm@10.8.2
  • Builder: -
  • User Config: compatibilityDate, devtools, modules, i18n
  • Runtime Modules: @nuxtjs/i18n@8.3.1
  • Build Modules: -

Reproduction

no reproduction given.

Describe the bug

I can't find anything on the web regarding the issue I have, I followed the docs many times and still no luck.

When I use <NuxtLink :to="localePath('index', 'fr')">Homepage in FR</NuxtLink> the localePath does not generate any url, in fact it's null in the console and null and <a> tag does not contain href property.

image

image

and i18n configuration

export default defineI18nConfig(() => ({
  legacy: false,
  locales: ['en', 'fr'],
  defaultLocale: 'en',
  messages: {
    en: {
      welcome: 'Welcome'
    },
    fr: {
      welcome: 'Bienvenue'
    }
  }
}))

Anyone has idea why?

Additional context

No response

Logs

No response

Copy link

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:

@BobbieGoede
Copy link
Collaborator

The defineI18nConfig is meant for vue-i18n specific options, have you configured locales in the i18n option in nuxt.config.ts? These will be applied to vue-i18n options as well.

@grzegorztomasiak
Copy link
Author

grzegorztomasiak commented Jul 22, 2024

export default defineNuxtConfig({
  compatibilityDate: '2024-04-03',
  devtools: { enabled: true },
  modules: ['@nuxtjs/i18n'],
  i18n: {
    locales: ['en', 'fr'],
    vueI18n: './i18n.config.ts'
  }
})

holy cow, now it works. I will leave the locales in nuxt.config.js only. Thank you!

@BobbieGoede
Copy link
Collaborator

Any shared options you only need to configure in nuxt.config, these will be applied to vue-i18n as well. The vueI18n config file simply accepts all vue-i18n configurations including those we handle as well.

We're considering merging these options in the next major version so this can configured in one place if possible 😄 (difficulties are serialization of certain properties)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants