first commit
This commit is contained in:
98
components/z-paging/js/modules/i18n.js
Normal file
98
components/z-paging/js/modules/i18n.js
Normal file
@@ -0,0 +1,98 @@
|
||||
// [z-paging]i18n模块
|
||||
import u from '.././z-paging-utils'
|
||||
import c from '.././z-paging-constant'
|
||||
import zI18n from '.././z-paging-i18n'
|
||||
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
const ZPI18n = {
|
||||
props: {
|
||||
//i18n国际化设置语言,支持简体中文(zh-cn)、繁体中文(zh-hant-cn)和英文(en)
|
||||
language: {
|
||||
type: String,
|
||||
default: u.gc('language', '')
|
||||
},
|
||||
//i18n国际化默认是否跟随系统语言,默认为是
|
||||
followSystemLanguage: {
|
||||
type: Boolean,
|
||||
default: u.gc('followSystemLanguage', true)
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tempLanguageUpdateKey: 0,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
tempLanguage() {
|
||||
let systemLanguage = false;
|
||||
const temp = this.tempLanguageUpdateKey;
|
||||
if (this.followSystemLanguage) {
|
||||
systemLanguage = systemInfo.language;
|
||||
}
|
||||
return uni.getStorageSync(c.i18nUpdateKey) || systemLanguage || 'zh-cn';
|
||||
},
|
||||
finalTempLanguage() {
|
||||
return this.language.length ? this.language : this.tempLanguage;
|
||||
},
|
||||
finalLanguage() {
|
||||
let language = this.finalTempLanguage.toLowerCase();
|
||||
return zI18n._getPrivateLanguage(language, this.followSystemLanguage);
|
||||
},
|
||||
finalRefresherDefaultText() {
|
||||
return this._getI18nText('refresherDefaultText', this.refresherDefaultText);
|
||||
},
|
||||
finalRefresherPullingText() {
|
||||
return this._getI18nText('refresherPullingText', this.refresherPullingText);
|
||||
},
|
||||
finalRefresherRefreshingText() {
|
||||
return this._getI18nText('refresherRefreshingText', this.refresherRefreshingText);
|
||||
},
|
||||
finalRefresherCompleteText() {
|
||||
return this._getI18nText('refresherCompleteText', this.refresherCompleteText);
|
||||
},
|
||||
finalLoadingMoreDefaultText() {
|
||||
return this._getI18nText('loadingMoreDefaultText', this.loadingMoreDefaultText);
|
||||
},
|
||||
finalLoadingMoreLoadingText() {
|
||||
return this._getI18nText('loadingMoreLoadingText', this.loadingMoreLoadingText);
|
||||
},
|
||||
finalLoadingMoreNoMoreText() {
|
||||
return this._getI18nText('loadingMoreNoMoreText', this.loadingMoreNoMoreText);
|
||||
},
|
||||
finalLoadingMoreFailText() {
|
||||
return this._getI18nText('loadingMoreFailText', this.loadingMoreFailText);
|
||||
},
|
||||
finalEmptyViewText() {
|
||||
return this.isLoadFailed ? this.finalEmptyViewErrorText : this._getI18nText('emptyViewText', this.emptyViewText);
|
||||
},
|
||||
finalEmptyViewReloadText() {
|
||||
return this._getI18nText('emptyViewReloadText', this.emptyViewReloadText);
|
||||
},
|
||||
finalEmptyViewErrorText() {
|
||||
return this._getI18nText('emptyViewErrorText', this.emptyViewErrorText);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
//设置i18n国际化语言
|
||||
setI18n(language) {
|
||||
zI18n.setLanguage(language);
|
||||
},
|
||||
//获取当前z-paging的语言
|
||||
getLanguage() {
|
||||
return this.finalLanguage;
|
||||
},
|
||||
//获取国际化转换后的文本
|
||||
_getI18nText(key, value) {
|
||||
const dataType = Object.prototype.toString.call(value);
|
||||
if (dataType === '[object Object]') {
|
||||
const nextValue = value[this.finalLanguage];
|
||||
if (nextValue) return nextValue;
|
||||
} else if (dataType === '[object String]') {
|
||||
return value;
|
||||
}
|
||||
return zI18n.t[key][this.finalLanguage];
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
export default ZPI18n;
|
||||
Reference in New Issue
Block a user