intlify / vue-i18n-loader

:globe_with_meridians: vue-i18n loader for custom blocks
MIT License
268 stars 29 forks source link

I18n cannot respond to language changed in children components #201

Open zoiewleung opened 2 years ago

zoiewleung commented 2 years ago

Reporting a bug?

For projects created by vue-cli4, internationalization is supported using Vue add I18N. When the children component and parent component contain SFC I18N tags at the same time, the language of the children component cannot be correctly switched to the current language when switching the language in the parent component

Expected behavior

When switching languages, subcomponents can correctly respond to language changes

Reproduction

Detail and reappear Vue-cli: version: @vue/cli 4.5.13

Step: 1、Vue create i18n-demo 2、vue add i18n Options:

📦 Installing vue-cli-plugin-i18n...

91 packages are looking for funding run npm fund for details

✔ Successfully installed plugin: vue-cli-plugin-i18n ? The locale of project localization. en ? The fallback locale of project localization. en ? The directory where store localization messages of project. It's stored under src directory. locales ? Enable locale messages in Single file components ? Yes

🚀 Invoking generator for vue-cli-plugin-i18n...

Vue.config.js: module.exports = { pluginOptions: { i18n: { locale: "en", fallbackLocale: "en", localeDir: "locales", enableInSFC: true, }, }, }; parent compoent:

{ "en": { "lang":"change language", "about": "about" }, "ja": { "lang":"言語を切り替え", "about": "について" } }

children component:

{ "en": { "hello": "Hello i18n in SFC!" }, "ja": { "hello": "こんにちは、i18n in SFC!" } }

System Info

node:v14.17.3
vue-cli: @vue/cli 4.5.13

Screenshot

image

Additional context

No response

Validations

zoiewleung commented 2 years ago

Vue ver: ^2.6.11 vue-i18n ver: ^8.25.0 intlify/vue-i18n-loader ver: ^1.1.0