force set default language when specified language not exists, force set locale settings when first set locale settings

This commit is contained in:
MaysWind
2023-06-17 23:04:46 +08:00
parent 307c64bc1e
commit 2dd38d9b03
+7 -6
View File
@@ -201,18 +201,19 @@ registerComponents(app);
app.use(pinia); app.use(pinia);
app.use(i18n); app.use(i18n);
function setLanguage(locale) { function setLanguage(locale, force) {
if (!locale) { if (!locale) {
locale = getDefaultLanguage(); locale = getDefaultLanguage();
logger.info(`No specified language, use browser default language ${locale}`); logger.info(`No specified language, use browser default language ${locale}`);
} }
if (!getLanguageInfo(locale)) { if (!getLanguageInfo(locale)) {
logger.warn(`Not found language ${locale}`); locale = getDefaultLanguage();
return null; logger.warn(`Not found language ${locale}, use browser default language ${locale}`);
} }
if (i18n.global.locale === locale) { if (!force && i18n.global.locale === locale) {
logger.info(`Current locale is already ${locale}`);
return locale; return locale;
} }
@@ -266,9 +267,9 @@ function initLocale() {
if (lastUserLanguage && getLanguageInfo(lastUserLanguage)) { if (lastUserLanguage && getLanguageInfo(lastUserLanguage)) {
logger.info(`Last user language is ${lastUserLanguage}`); logger.info(`Last user language is ${lastUserLanguage}`);
setLanguage(lastUserLanguage); setLanguage(lastUserLanguage, true);
} else { } else {
setLanguage(null); setLanguage(null, true);
} }
if (settings.getTimezone()) { if (settings.getTimezone()) {