# 配置多语言
平台内置了多语言的模块,支持语言包的配置,需要升级到 1.8.11 及以上版本。
对于基础组件,框架层面已经内置了语言项,业务层面的语言项需要在开发者IDE中添加。
# 启用多语言
在 api/web/config.yml 中开启多语言配置:
# application.yml
app:
dengine:
i18n:
enabled: true
增加配置后,需要重新启动后台服务。
# 设置多语言
进入IDE后,在更多>多语言中,可以看到多语言的配置。包括自定义的和系统内置的,其中业务侧需要配置的语言项,需要在自定义中进行配置。默认会包含两种语言:中文(zh-CN) 和 English(en-US),需要支持更多语言类型可以在管理语言增加。

保存后,我们可以在工程的 app/i18n 目录下看到这些语言包文件,开发者也可以直接编辑 json 文件。

# 系统内置
平台内置了一套语言包,以 lcdp 作为开头的语言项,在业务侧也是可以直接使用的,这些语言项可以在系统内置中查看。对于平台内置的管理功能:用户管理、组织管理、角色管理、数据字典等功能,已经全面进行的多语言支持。

可以在需要绑定语言项的地方搜索到这些系统内置的语言项。

# 使用多语言
要在业务系统中能够让用户能切换多语言,需要先把显示多语言切换打开。
开启后,我们在系统的右上角就可以看到这个切换效果了。
# 导航绑定
导航绑定语言项,以系统管理导航为例,绑定语言项。

# 页面元素绑定
页面任何元素都可以绑定语言项,以复杂表格组件里面的 编辑 按钮为例。在绑定表达式的 {} 按钮上可以选择语言项和新建语言项。


# 应用名称绑定
需要在多语言中设置一个语言项,例如: appname ,之后在应用设置中绑定语言项。


# 查看效果
切换为 English 的效果:

切换为 简体中文 的效果:

# 高级用法
# 语言项多种值
假如,系统需要交付给不同的客户,举个例子,有个语言项是 “event”,默认中文显示 “活动”, 交付给客户A 的时候需要显示 “事件” 。
在【管理语言】中,增加一个语言包,命名为 zh-CN-A,并在 event 语言项中增加一个值 事件。底层会自动合并多个语言包的值,最终在系统中显示为 “事件”。 zh-CN-** 的都会合并在一起,在部署的时候,仅仅需要在 application.yml 中设置。
# application.yml
app:
dengine:
i18n:
enabled: true
profile: A // 设置语言包的后缀即可,表示启用 zh-CN-A 语言包