| | |
| | | // 导入i18n文件 |
| | | import en from "./locale/en.json" |
| | | import ZhCN from "./locale/zh-Hans.json" |
| | | |
| | | // 加载本地语言包 |
| | | const messages = { |
| | | "zh-Hans":ZhCN, |
| | | en, |
| | | } |
| | | |
| | | let i18nConfig = { |
| | | locale: uni.getLocale(),// 获取已设置的语言 |
| | | messages, |
| | | silentTranslationWarn: true, |
| | | missing: function(locale, key, vm, values){ |
| | | // 页面中含有语言包中不存在的字段,需同步到数据库中 |
| | | console.log("[i18n]: 页面中key为: ", key ,"的字段在翻译文件中不存在,同步到数据库...") |
| | | |
| | | // 为降低同步的难度,APP中 对翻译模块的key 不采用数组的写法,统一使用 模块名.字段名的写法 |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | import App from './App' |
| | | import Printer from './plugins/printer' |
| | | Vue.use(Printer); |
| | |
| | | |
| | | // #ifndef VUE3 |
| | | import Vue from 'vue' |
| | | import VueI18n from 'vue-i18n' |
| | | |
| | | Vue.use(VueI18n) |
| | | const i18n = new VueI18n(i18nConfig) |
| | | Vue.config.productionTip = false |
| | | App.mpType = 'app' |
| | | const app = new Vue({ |
| | | i18n, |
| | | ...App |
| | | }) |
| | | app.$mount() |
| | | export default i18n |
| | | // #endif |
| | | |
| | | // #ifdef VUE3 |
| | | import { createSSRApp } from 'vue' |
| | | import { createI18n } from 'vue-i18n'// v9.x |
| | | const i18n = createI18n(i18nConfig) |
| | | export function createApp() { |
| | | const app = createSSRApp(App) |
| | | app.use(i18n) |
| | | return { |
| | | app |
| | | } |
| | | } |
| | | // #endif |
| | | export default i18n |
| | | // #endif |
| | | // main.js uni.showToast 实现全局拦截设置默认提示时间为3.5秒 |
| | | const originalShowToast = uni.showToast; |
| | | uni.showToast = (options) => { |
| | | originalShowToast({ |
| | | duration: options.duration || 3500, // 默认2秒 |
| | | icon: options.icon || 'none', |
| | | title: options.title || 'none', |
| | | ...options |
| | | }); |
| | | }; |