// [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;