diff --git a/i18n_tools.config.js b/i18n_tools.config.js
new file mode 100644
index 00000000..928ff008
--- /dev/null
+++ b/i18n_tools.config.js
@@ -0,0 +1,11 @@
+
+module.exports = {
+ entry: ['locales'], // 提取、还原、遗漏扫描入口文件夹,可以配置多个,默认是 src
+ outDir: 'locales', // i18n 输出文件夹 默认是 src/locales
+ outShow:2, //输出文件展示结构 1 扁平化结构 2树级结构 默认扁平化
+ exclude: ['locales'], // 不提取的文件夹, 默认是 ['src/locales']
+ extensions: ['.vue', '.js', '.ts'], // 提取的文件后缀名,默认是 ['.js', '.vue', '.ts']
+ filename: 'zh', // 输出的文件名,默认为 zh_cn
+ extname: 'json', // 输出的文件后缀名默认为 js ,支持json和js(js格式为 module.exports = {} 或 export default {}),
+ langList: ['en'] // 翻译目标语言列表,默认是 ['en'] 具体语种请自行查看。注意:使用不同的翻译接口,需要更换对应的语言编码,腾讯翻译、火山翻译、谷歌翻译语言编码大致相同,百度要特别注意,与上述3种翻译有不同的语言编码
+}
\ No newline at end of file
diff --git a/locales/en.json b/locales/en.json
new file mode 100644
index 00000000..8a9ed20a
--- /dev/null
+++ b/locales/en.json
@@ -0,0 +1,46 @@
+{
+ "cancel": "取消",
+ "confirm": "确认",
+ "login": {
+ "phone_num": "手机号码",
+ "verify": "验证码",
+ "get_verify": "获取验证码",
+ "confirm_binding": "确认绑定",
+ "return_pre_page": "返回上一页",
+ "phone_verify": "手机验证码",
+ "get_phone_login": "获取手机号码一键登录",
+ "bind_existing_account": "绑定已有账号",
+ "reg_account_and_bind": "注册账号并绑定",
+ "login_success_sub_return_pre_page": "已成功登录、请点击返回上一页",
+ "login_bind_user": "登录帐号将自动绑定{platform_name}用户",
+ "account_pwd": "账号密码",
+ "phone": "手机",
+ "email": "邮箱",
+ "temp_close_login": "暂时关闭了登录",
+ "user_name_phone_email": "用户名/手机/邮箱",
+ "login_pwd": "登录密码",
+ "e_mail": "电子邮箱",
+ "login_protocol":[
+ "阅读并同意",
+ "《服务协议》",
+ "与",
+ "《隐私权政策》"
+ ],
+ "confirm_login": "确认登录",
+ "new_user_reg": "新用户注册",
+ "retrieve_pwd": "找回密码",
+ "use_auth_auto_login": "使用授权自动登录",
+ "other_login_methods": "其他登陆方式",
+ "temp_close_reg": "暂时关闭了注册",
+ "user_name": "用户名",
+ "confirm_reg": "确认注册",
+ "now_login": "立即登录",
+ "now_reg": "立即登录",
+ "phone_email": "手机/邮箱",
+ "set_login_pwd": "设置登录密码",
+ "confirm_submit": "确认提交",
+ "confirm_login_auth_most_service": "确认登录授权,为您提供更优质的服务",
+ "base_data_error": "基础数据有误,如未自动加载则请手动点击加载!",
+ "loading_base_data": "加载基础数据"
+ }
+}
diff --git a/locales/index.js b/locales/index.js
new file mode 100644
index 00000000..2147fd97
--- /dev/null
+++ b/locales/index.js
@@ -0,0 +1,6 @@
+import en from './en.json'
+import zh from './zh.json'
+export default {
+ en,
+ zh
+}
diff --git a/locales/zh.json b/locales/zh.json
new file mode 100644
index 00000000..8a9ed20a
--- /dev/null
+++ b/locales/zh.json
@@ -0,0 +1,46 @@
+{
+ "cancel": "取消",
+ "confirm": "确认",
+ "login": {
+ "phone_num": "手机号码",
+ "verify": "验证码",
+ "get_verify": "获取验证码",
+ "confirm_binding": "确认绑定",
+ "return_pre_page": "返回上一页",
+ "phone_verify": "手机验证码",
+ "get_phone_login": "获取手机号码一键登录",
+ "bind_existing_account": "绑定已有账号",
+ "reg_account_and_bind": "注册账号并绑定",
+ "login_success_sub_return_pre_page": "已成功登录、请点击返回上一页",
+ "login_bind_user": "登录帐号将自动绑定{platform_name}用户",
+ "account_pwd": "账号密码",
+ "phone": "手机",
+ "email": "邮箱",
+ "temp_close_login": "暂时关闭了登录",
+ "user_name_phone_email": "用户名/手机/邮箱",
+ "login_pwd": "登录密码",
+ "e_mail": "电子邮箱",
+ "login_protocol":[
+ "阅读并同意",
+ "《服务协议》",
+ "与",
+ "《隐私权政策》"
+ ],
+ "confirm_login": "确认登录",
+ "new_user_reg": "新用户注册",
+ "retrieve_pwd": "找回密码",
+ "use_auth_auto_login": "使用授权自动登录",
+ "other_login_methods": "其他登陆方式",
+ "temp_close_reg": "暂时关闭了注册",
+ "user_name": "用户名",
+ "confirm_reg": "确认注册",
+ "now_login": "立即登录",
+ "now_reg": "立即登录",
+ "phone_email": "手机/邮箱",
+ "set_login_pwd": "设置登录密码",
+ "confirm_submit": "确认提交",
+ "confirm_login_auth_most_service": "确认登录授权,为您提供更优质的服务",
+ "base_data_error": "基础数据有误,如未自动加载则请手动点击加载!",
+ "loading_base_data": "加载基础数据"
+ }
+}
diff --git a/main.js b/main.js
index 82df5f94..a5c280cd 100644
--- a/main.js
+++ b/main.js
@@ -5,16 +5,28 @@ import App from './App';
import base from './common/js/common/base';
import share from './common/js/common/share';
+// 多语言引入并初始化
+import messages from './locales/index'
+import VueI18n from 'vue-i18n';
+let i18nConfig = {
+ locale: uni.getLocale() || 'zh',
+ messages
+}
+Vue.use(VueI18n)
+const i18n = new VueI18n(i18nConfig)
+
+// 全局icon组件
import iconfont from './components/iconfont/iconfont.vue'
+Vue.component("iconfont", iconfont);
+
Vue.mixin(base);
Vue.mixin(share);
Vue.config.productionTip = false;
-// 注册到全局
-Vue.component("iconfont", iconfont);
App.mpType = 'app';
const app = new Vue({
+ i18n,
...App
});
app.$mount();
\ No newline at end of file
diff --git a/pages/error/error.vue b/pages/error/error.vue
index a5c6e888..59ff06f5 100644
--- a/pages/error/error.vue
+++ b/pages/error/error.vue
@@ -5,11 +5,11 @@
{{params.msg}}
- 异常错误
+ {{$t('error.error.6xw5o2')}}
-
+
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 057ca4df..e098f536 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -3,9 +3,6 @@
-
@@ -17,22 +14,22 @@
-
+
@@ -40,31 +37,31 @@
-
+
{{ user.nickname }}
-
-
+
+
- 绑定已有账号
+ {{ $t('login.bind_existing_account') }}
- 注册账号并绑定
+ {{ $t('login.reg_account_and_bind') }}
- 已成功登录、请点击返回上一页
-
+ {{ t('login.login_success_sub_return_pre_page') }}
+
@@ -84,43 +81,43 @@
{{ plugins_thirdpartylogin_user.nickname }}
- 登录帐号将自动绑定{{ plugins_thirdpartylogin_user.platform_name }}用户
-
+ {{ $t('login.login_bind_user', { platform_name: plugins_thirdpartylogin_user.platform_name }) }}
+
-
+
- 阅读并同意 《服务协议》 与 《隐私权政策》
+
+ {{ $t('login.login_protocol.0') }} {{ $t('login.login_protocol.1') }} {{ $t('login.login_protocol.2') }} {{ $t('login.login_protocol.3') }}
-
+
- 新用户注册
+ {{ $t('login.new_user_reg') }}
- 找回密码
+ {{ $t('login.retrieve_pwd') }}
- 使用授权自动登录
- 返回上一页
+ {{ $t('login.use_auth_auto_login') }}
+ {{ $t('login.return_pre_page') }}
- 其他登陆方式
+ {{ $t('login.other_login_methods') }}
@@ -173,41 +172,41 @@
-
+
-
+
- 立即登录
+ {{ $t('login.now_login') }}
- 使用授权自动登录
- 返回上一页
+ {{ $t('login.use_auth_auto_login') }}
+ {{ $t('login.return_pre_page') }}
@@ -240,31 +239,31 @@
-
+
-
+
-
+
@@ -329,7 +328,7 @@
- 确认
+ {{ $t('confirm') }}
@@ -350,15 +349,15 @@
- 取消
+ {{ $t('cancel') }}
- 基础数据有误,如未自动加载则请手动点击加载!
+ {{ $t('login.base_data_error') }}
-
+