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

Cannot use dynamic locale file #2929

Closed
intellild opened this issue Apr 19, 2024 · 4 comments
Closed

Cannot use dynamic locale file #2929

intellild opened this issue Apr 19, 2024 · 4 comments

Comments

@intellild
Copy link

Environment


  • Operating System: Linux
  • Node Version: v20.12.0
  • Nuxt Version: 3.9.3
  • CLI Version: 3.10.0
  • Nitro Version: 2.8.1
  • Package Manager: [email protected]
  • Builder: -
  • User Config: hooks, typescript, imports, build, modules, css, alias, devtools, devServer, nitro, vite, runtimeConfig, app, piniaPersistedstate, sourcemap
  • Runtime Modules: @pinia/nuxt, @pinia-plugin-persistedstate/nuxt, @nuxtjs/tailwindcss, vite-plugin-version-mark/nuxt, nuxt-svgo, @vueuse/[email protected], @vueuse/motion/nuxt, @nuxtjs/[email protected], unplugin-icons/nuxt
  • Build Modules: -

Reproduction

Follow unplugin-vue-i18n's document
https://github.com/intlify/bundle-tools/blob/main/packages/unplugin-vue-i18n/README.md#allowdynamic

Describe the bug

'unknown' type in 'mypath/en-US.ts'

Additional context

I read through the code src/utils#scanProgram and managed to get it work through a hack

const defineFoo = (fn: () => Promise<any>) => {
  return fn();
};

export default defineFoo(async () => {
  return {};
});

But this diverges from unplugin-vue-i18n. Is it intended or a bug?

Logs

No response

@rishta
Copy link

rishta commented Apr 21, 2024

I'm having a similar problem. I think it is required to export the TS data through a wrapping adapter object like export default createI18nLangueage({your: "language_object"}), but I fail to find how to define it.

EDIT: RTFM:

https://i18n.nuxtjs.org/docs/guide/lazy-load-translations

export default defineI18nLocale(async locale => { return { welcome: 'Bienvenue' } })

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

@intellild
I'm not sure what the issue is, the documentation you're referring to is not for Nuxt I18n

@intellild
Copy link
Author

Thanks @rishta
I was trying to use the feature from unplugin-vue-i18n which powers nuxt i18n and failed to find the correct documentation

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

3 participants