国际化

3.1.0及以上版本提供语言国际化功能(目前只支持中英文切换),用户在右上角切换成英文后,系统界面会变成英文样式。在其中,字典字典项、系统参数、行政区划、系统菜单、消息通道、消息模板等数据也均做了国际化处理。

1 后端基础配置

1.1 数据库导入

  • 分别导入i18n相关数据库脚本:sys_dict_i18n.sql、sys_dict_item_i18n.sql、sys_menu_i18n.sql、sys_parameter_i18n.sql、sys_region_i18n.sql、t_mns_channel_i18n.sql

1.2 依赖导入

一般情况下无需配置,kems-module-core等依赖里有包含:

<dependency>
    <groupId>com.szkingdom.koca.base</groupId>
    <artifactId>koca-common-tools</artifactId>
</dependency>

1.3 服务配置

在需要国际化的服务下开启国际化语言拦截器:

koca:
  i18n:
    enabled: true #默认值是true

2 后端资源文件准备

在工程使用多语言化时需要准备国际化资源文件

目录规划

资源文件目录规划,所有的资源文件都必须建在i18n目录下,资源文件可以按照模块进行划分,如下: resources/i18n/user/message_zh_CN.properties resources/i18n/user/message_en_US.properties resources/i18n/app/message_zh_CN.properties resources/i18n/app/message_en_US.properties

如:

如message_zh_CN.properties文件:

330201=用户名或密码错误,请重试或联系系统管理员处理
330202=用户不存在
330203=账户已被锁定,请联系系统管理员处理
330204=账户已被禁用,请联系系统管理员处理
330205=登录成功
330206=图片验证码校验失败,请重试!
330207=获取图片验证码失败,请稍后重试!
330301=登录策略获取失败
330302=密码策略获取失败
330401=手机验证码已发送
330402=该手机号码未注册,请重试或联系系统管理员处理
330403=手机验证码发送失败
330404=短信验证码校验失败
330501=授权码校验失败

资源文件的命名需要具有代表性,不然可能会被覆盖,文件编码采用UTF-8格式

语言从header中获取,默认为zh_CN

语言切换:在web请求头中添加header,如:Lang=en-US

通过I18nUtils.getLanguage方法获取当前环境使用的语言,通过I18nUtils.getMessage方法获取该语言的报错信息

3 前端配置

3.1 语言切换图标开启

在前端工程目录src/config/setting.ts中打开语言切换的图标

// 框架顶部右上角图标的开关配置,[机构切换, 应用切换, 消息中心, 主题,中英文,消息通知,换肤] 1/true表示开启,0/false表示关闭
iconsOnoff: [1, 1, 1, 1, 1, 1, 1]

3.2 资源文件准备

1.可以在 src/locale/lang/* 下添加具体模块进行配置(如框架使用 frame.ts,用户管理使用 user.ts等),然后在相应语种的 index.ts 中引入即可。

2.在模块中添加具体的字段声明,如:

export default {
  language: '中文繁体'
}

3.在页面中使用:

  • html片段中使用
<p>{ { $t('language') } }</p>
  • js 中使用
this.$t('language');

4 相关说明

参考链接:[国际化 | 金证开发者社区 (szkingdom.com)]

相关代码:可参照字典管理模块

注意:

本功能默认开启,如需修改原始错误码对应的报错信息需修改步骤2中的xxx_zh_CN.properties中文资源文件或者在步骤1.3配置文件中关闭国际化功能!

3.1.x版本,字典模块:不允许修改原始的字典和字典项数据;参数模块:仅【系统配置】不可修改,只能在系统管理-配置管理界面修改;区划模块:不允许修改原始的数据;菜单模块:不允许修改原始的数据。国际化后以上修改不生效!!!如有需要对如上模块的数据进行修改操作请联系开发人员修改i18n相关数据库!

3.2.0+版本,以上模块允许对原始的中文数据进行修改操作,只需删除i18n相关数据库里的所有zh_CN数据即可,如果想要修改英文数据,请联系开发人员修改i18n相关数据库的en_US数据。

Copyright © 2017-2023 深圳金证引擎科技有限公司 all right reserved,powered by Gitbook该文件最后修订时间: 2023-09-01 14:01:34

results matching ""

    No results matching ""