fix: components not updating correctly when changing language

The issue was caused by incorrect handling of the `i18n.global.locale` value in the Composition API.

When using `createI18n` with `legacy: false`, `i18n.global.locale` is a reactive ref.
Assigning directly with `i18n.global.locale = lang;` breaks reactivity.

The correct usage is : `i18n.global.locale.value = lang;`.

However, this assignment was unnecessary because the value is already updated automatically when the language changes.

All scripts using `const { locale } = useI18n({ useScope: "global" });` are updated to use `locale.value` instead of just `locale`, to ensure correct reactive behavior.

Fixes: #1597, #1772, and possibly other related issues.
This commit is contained in:
Massedil
2025-06-10 22:45:53 +02:00
parent 52a6115866
commit 2fa54e8282
5 changed files with 10 additions and 11 deletions

View File

@@ -43,7 +43,6 @@ export const i18n = createI18n({
const loadedLanguages = [DEFAULT_LOCALE];
function setI18nLanguage(lang: string): string {
i18n.global.locale = lang;
setLanguageInDOM(lang);
return lang;
}