外观
国际化
AgileBPM 国际化支持动态添加语言,所有翻译均在后端配置,并且支持自动生成。
各种使用场景
在全局页面中使用
- 默认推荐的国际化方法
html
{{ $t('menu.i18n') }}
- 存在需要替换文本时
html
// page.user.delMsg : 确认删除{a}吗?
{{ $t('page.user.delMsg',{a:'张三'}) }}
- AgileBPM 的替换标签,如果替换不到则返回默认值 ,如果系统配置不支持国际化则直接使用 默认值
html
{{ $abT('menu.i18an', '默认值') }}
js 中使用 国际化
js
// 组合式
$t('page.user.delMsg')
// 选项式
this.$t('page.user.delMsg')
// 引入进行翻译
import { abT } from '@/i18n'
abT('menu.i18n')
国际化约定规范
1、页面国际化
页面以 page.页面code.key
来为规范翻译
page
:为页面路径,为固定开头页面code
: 为页面编码,建议直接用页面组件名字。也可以自定义,没有强制要求。key
: key 建议英文,也可以用拼音。
为避免大量重复,页面中通用的文案,如搜索、删除、添加等字段请使用通用翻译 key 如:page.common.search
, 搜索、操作、详情、返回、保存等
2、系统菜单
系统菜单默认以 menu.code
为国际化标识。如果没有国际化则会返回菜单原生标题,默认中文。 所以当添加一个菜单时,请手动在国际化中添加对应翻译。
注意
提示:code
为菜单配置中的编码,也是路由定义中的 name
,他们在系统约定中是保持一致的。
3、系统字典分类
字典分类默认以 sysDict.dicCode.key
为国际化标识,如果取不到则返回字典项名字。
sysDic
:为字典路径,为固定开头dicCode
: 为字典分类的编码key
: 为字典项的编码
4、后端枚举、常量、状态等前端转换
后端系统常量 以 constant.enumName.key
为国际化标识,如果取不到返回原生的 Desc 值
如:constant.BpmStatusCode.bpm_noOperationPermission
为翻译枚举 BpmStatusCode
key 为 bpm_noOperationPermission
国际化
5、自定义对话框
自定义对话框规则为:dialog.dialogKey.字段名。
dialogKey
:为对话框别名字段名
: 为对话框配置中“显示字段-字段名”的 KEY 值
6、在线表单
首先在表单全局配置上,开启国际化
字段国际化规则为 abform.formKey.tableKey.字段Key
,它会会生成国际化源码 $abT('abform.order.order.name','订单名')
来翻译 表名格式化固定为 abform.formKey.tableKey.$tableName
表单支持一键添加国际化,表单保存后,可以通过一键添加国际化把对应字段批量添加至国际化配置中,然后再逐一进行翻译处理。
部分业务录入数据国际化?
请寻求技术支持。
翻译小技巧
AgileBPM 国际化翻译 支持三种快捷翻译
- 点击 中文列 最上面 的
》
按钮批量全页翻译 - 点击 中文列 的
》
按钮,单行翻译 - 通过语言的导入功能批量导入翻译,详见下文
我们先讲中文全部录入,然后按以下步骤批量翻译。
- 使用 QQ 截图,截图中文部分,并识别文章,取词中文的列表项
- 交给 GPT 翻译成其他语言如:
text
请帮助我翻译菜单成 英语,日语,繁体中文,葡萄牙语,以下是要翻译项
重置
收起
添加
...
- 复制 GPT 翻译的内容,使用 语言列最顶部的粘贴按钮 进行快捷录入
英语:
text
Reset
Collapse
Add
Bulk Delete
这是 GPT 翻译的某一种语言,我们复制翻译项进行粘贴即可。
所有语言都贴入后,批量保存即可。
新增一种国际化
在菜单【内容管理】-【国际化】-【语言管理】 中新增语言,请务必注意语言别名
引入 Element 本身国际化配置
需要手动引入其他语言翻译,在代码 \library\components\VabApp\index.vue
中引入新增语言 对应 ElementUI 的本地语言包。
- 在菜单【内容管理】-【国际化】-【翻译管理】 中完成新语言的翻译工作