code refactor

This commit is contained in:
MaysWind
2024-08-03 18:21:04 +08:00
parent 77439f675b
commit f1f61a9038
10 changed files with 28 additions and 28 deletions
+8 -8
View File
@@ -67,26 +67,26 @@ function getAllLanguageInfos() {
function getAllLanguageInfoArray(translateFn, includeSystemDefault) { function getAllLanguageInfoArray(translateFn, includeSystemDefault) {
const ret = []; const ret = [];
for (const code in allLanguages) { for (const languageTag in allLanguages) {
if (!Object.prototype.hasOwnProperty.call(allLanguages, code)) { if (!Object.prototype.hasOwnProperty.call(allLanguages, languageTag)) {
continue; continue;
} }
const languageInfo = allLanguages[code]; const languageInfo = allLanguages[languageTag];
ret.push({ ret.push({
code: code, languageTag: languageTag,
displayName: languageInfo.displayName displayName: languageInfo.displayName
}); });
} }
ret.sort(function (lang1, lang2) { ret.sort(function (lang1, lang2) {
return lang1.code.localeCompare(lang2.code); return lang1.languageTag.localeCompare(lang2.languageTag);
}); });
if (includeSystemDefault) { if (includeSystemDefault) {
ret.splice(0, 0, { ret.splice(0, 0, {
code: '', languageTag: '',
displayName: translateFn('System Default') displayName: translateFn('System Default')
}); });
} }
@@ -173,7 +173,7 @@ function getLocaleFromLanguageAlias(alias) {
return null; return null;
} }
function getCurrentLanguageCode(i18nGlobal) { function getCurrentLanguageTag(i18nGlobal) {
return i18nGlobal.locale; return i18nGlobal.locale;
} }
@@ -1423,7 +1423,7 @@ export function i18nFunctions(i18nGlobal) {
getAllLanguageInfoArray: (includeSystemDefault) => getAllLanguageInfoArray(i18nGlobal.t, includeSystemDefault), getAllLanguageInfoArray: (includeSystemDefault) => getAllLanguageInfoArray(i18nGlobal.t, includeSystemDefault),
getLanguageInfo: getLanguageInfo, getLanguageInfo: getLanguageInfo,
getDefaultLanguage: getDefaultLanguage, getDefaultLanguage: getDefaultLanguage,
getCurrentLanguageCode: () => getCurrentLanguageCode(i18nGlobal), getCurrentLanguageTag: () => getCurrentLanguageTag(i18nGlobal),
getCurrentLanguageInfo: () => getCurrentLanguageInfo(i18nGlobal), getCurrentLanguageInfo: () => getCurrentLanguageInfo(i18nGlobal),
getCurrentLanguageDisplayName: () => getCurrentLanguageDisplayName(i18nGlobal), getCurrentLanguageDisplayName: () => getCurrentLanguageDisplayName(i18nGlobal),
getDefaultCurrency: () => getDefaultCurrency(i18nGlobal.t), getDefaultCurrency: () => getDefaultCurrency(i18nGlobal.t),
+5 -5
View File
@@ -92,7 +92,7 @@
<v-col cols="12" md="12"> <v-col cols="12" md="12">
<v-select <v-select
item-title="displayName" item-title="displayName"
item-value="code" item-value="languageTag"
:disabled="submitting || navigateToHomePage" :disabled="submitting || navigateToHomePage"
:label="$t('Language')" :label="$t('Language')"
:placeholder="$t('Language')" :placeholder="$t('Language')"
@@ -153,10 +153,10 @@
v-bind="props">{{ currentLanguageName }}</v-btn> v-bind="props">{{ currentLanguageName }}</v-btn>
</template> </template>
<v-list> <v-list>
<v-list-item v-for="lang in allLanguages" :key="lang.code"> <v-list-item v-for="lang in allLanguages" :key="lang.languageTag">
<v-list-item-title <v-list-item-title
class="cursor-pointer" class="cursor-pointer"
@click="currentLocale = lang.code"> @click="currentLocale = lang.languageTag">
{{ lang.displayName }} {{ lang.displayName }}
</v-list-item-title> </v-list-item-title>
</v-list-item> </v-list-item>
@@ -258,7 +258,7 @@ import {
export default { export default {
data() { data() {
const userStore = useUserStore(); const userStore = useUserStore();
const newUser = userStore.generateNewUserModel(this.$locale.getCurrentLanguageCode()); const newUser = userStore.generateNewUserModel(this.$locale.getCurrentLanguageTag());
return { return {
user: newUser, user: newUser,
@@ -293,7 +293,7 @@ export default {
}, },
currentLocale: { currentLocale: {
get: function () { get: function () {
return this.$locale.getCurrentLanguageCode(); return this.$locale.getCurrentLanguageTag();
}, },
set: function (value) { set: function (value) {
const isCurrencyDefault = this.user.defaultCurrency === this.settingsStore.localeDefaultSettings.currency; const isCurrencyDefault = this.user.defaultCurrency === this.settingsStore.localeDefaultSettings.currency;
@@ -91,7 +91,7 @@ export default {
const self = this; const self = this;
return { return {
currentLocale: self.$locale.getCurrentLanguageCode(), currentLocale: self.$locale.getCurrentLanguageTag(),
allCategoryTypes: [], allCategoryTypes: [],
submitting: false, submitting: false,
icons: { icons: {
@@ -117,7 +117,7 @@
<v-col cols="12" md="6"> <v-col cols="12" md="6">
<v-select <v-select
item-title="displayName" item-title="displayName"
item-value="code" item-value="languageTag"
persistent-placeholder persistent-placeholder
:disabled="loading || saving" :disabled="loading || saving"
:label="$t('Language')" :label="$t('Language')"
+1 -1
View File
@@ -256,7 +256,7 @@ export default {
} }
}, },
currentLanguageCode() { currentLanguageCode() {
return this.$locale.getCurrentLanguageCode(); return this.$locale.getCurrentLanguageTag();
}, },
currentLanguageName() { currentLanguageName() {
return this.$locale.getCurrentLanguageDisplayName(); return this.$locale.getCurrentLanguageDisplayName();
+2 -2
View File
@@ -89,7 +89,7 @@ export default {
const self = this; const self = this;
return { return {
currentLocale: self.$locale.getCurrentLanguageCode(), currentLocale: self.$locale.getCurrentLanguageTag(),
logouting: false logouting: false
}; };
}, },
@@ -167,7 +167,7 @@ export default {
}, },
methods: { methods: {
onPageAfterIn() { onPageAfterIn() {
this.currentLocale = this.$locale.getCurrentLanguageCode(); this.currentLocale = this.$locale.getCurrentLanguageTag();
}, },
logout() { logout() {
const self = this; const self = this;
+5 -5
View File
@@ -66,9 +66,9 @@
smart-select :smart-select-params="{ openIn: 'popup', popupPush: true, closeOnSelect: true, scrollToSelectedItem: true, searchbar: true, searchbarPlaceholder: $t('Language'), searchbarDisableText: $t('Cancel'), appendSearchbarNotFound: $t('No results'), pageTitle: $t('Language'), popupCloseLinkText: $t('Done') }" smart-select :smart-select-params="{ openIn: 'popup', popupPush: true, closeOnSelect: true, scrollToSelectedItem: true, searchbar: true, searchbarPlaceholder: $t('Language'), searchbarDisableText: $t('Cancel'), appendSearchbarNotFound: $t('No results'), pageTitle: $t('Language'), popupCloseLinkText: $t('Done') }"
> >
<select v-model="currentLocale"> <select v-model="currentLocale">
<option :value="locale" <option :value="languageTag"
:key="locale" :key="languageTag"
v-for="(lang, locale) in allLanguages">{{ lang.displayName }}</option> v-for="(lang, languageTag) in allLanguages">{{ lang.displayName }}</option>
</select> </select>
</f7-list-item> </f7-list-item>
@@ -191,7 +191,7 @@ export default {
], ],
data() { data() {
const userStore = useUserStore(); const userStore = useUserStore();
const newUser = userStore.generateNewUserModel(this.$locale.getCurrentLanguageCode()); const newUser = userStore.generateNewUserModel(this.$locale.getCurrentLanguageTag());
return { return {
user: newUser, user: newUser,
@@ -218,7 +218,7 @@ export default {
}, },
currentLocale: { currentLocale: {
get: function () { get: function () {
return this.$locale.getCurrentLanguageCode(); return this.$locale.getCurrentLanguageTag();
}, },
set: function (value) { set: function (value) {
const isCurrencyDefault = this.user.defaultCurrency === this.settingsStore.localeDefaultSettings.currency; const isCurrencyDefault = this.user.defaultCurrency === this.settingsStore.localeDefaultSettings.currency;
+1 -1
View File
@@ -104,7 +104,7 @@ export default {
&& webauthn.isSupported(); && webauthn.isSupported();
}, },
currentLanguageCode() { currentLanguageCode() {
return this.$locale.getCurrentLanguageCode(); return this.$locale.getCurrentLanguageTag();
}, },
currentLanguageName() { currentLanguageName() {
return this.$locale.getCurrentLanguageDisplayName(); return this.$locale.getCurrentLanguageDisplayName();
+1 -1
View File
@@ -71,7 +71,7 @@ export default {
return { return {
loadingError: null, loadingError: null,
currentLocale: self.$locale.getCurrentLanguageCode(), currentLocale: self.$locale.getCurrentLanguageTag(),
categoryType: 0, categoryType: 0,
submitting: false, submitting: false,
showMoreActionSheet: false, showMoreActionSheet: false,
+3 -3
View File
@@ -123,8 +123,8 @@
:title="currentLanguageName" :title="currentLanguageName"
smart-select :smart-select-params="{ openIn: 'popup', popupPush: true, closeOnSelect: true, scrollToSelectedItem: true, searchbar: true, searchbarPlaceholder: $t('Language'), searchbarDisableText: $t('Cancel'), appendSearchbarNotFound: $t('No results'), pageTitle: $t('Language'), popupCloseLinkText: $t('Done') }"> smart-select :smart-select-params="{ openIn: 'popup', popupPush: true, closeOnSelect: true, scrollToSelectedItem: true, searchbar: true, searchbarPlaceholder: $t('Language'), searchbarDisableText: $t('Cancel'), appendSearchbarNotFound: $t('No results'), pageTitle: $t('Language'), popupCloseLinkText: $t('Done') }">
<select v-model="newProfile.language"> <select v-model="newProfile.language">
<option :value="language.code" <option :value="language.languageTag"
:key="language.code" :key="language.languageTag"
v-for="language in allLanguages">{{ language.displayName }}</option> v-for="language in allLanguages">{{ language.displayName }}</option>
</select> </select>
</f7-list-item> </f7-list-item>
@@ -440,7 +440,7 @@ export default {
}, },
currentLanguageName() { currentLanguageName() {
for (let i = 0; i < this.allLanguages.length; i++) { for (let i = 0; i < this.allLanguages.length; i++) {
if (this.allLanguages[i].code === this.newProfile.language) { if (this.allLanguages[i].languageTag === this.newProfile.language) {
return this.allLanguages[i].displayName; return this.allLanguages[i].displayName;
} }
} }