国际化
使用方式
1.12.0 及以上版本支持
- 增加
@EruptI18n注解,标识类中的所有字符均可被翻译:
java
@EruptI18n
@Erupt(name = "国际化翻译")
public class EruptTest {
@EruptField(
views = @View(title = "i18n.name"),
edit = @Edit(title = "i18n.name")
)
private String name;
}在 resources 目录下创建 i18n 目录,i18n 目录下创建任意名称的 CSV 格式文件,如:
resources/i18n/demo.csv定义 CSV 列头,第一列的值固定为:"key",其余列为语言包编码:
key,zh-CN,zh-TW,en-US,fr-FR,ja-JP,ko-KR,ru-RU,es-ES
i18n.name,姓名,姓名,Name,Le nom,名前です,이름,им,Los nombres完成翻译:前端切换语言即可看到效果
后端手动调用翻译 API:
java
import xyz.erupt.core.i18n.I18nTranslate;
public void translate() {
// 静态调用,返回值为翻译后的文本,翻译内容根据前端用户选择而定
String txt = I18nTranslate.$translate("erupt.exec_success");
}数据库注释多语言翻译
数据库注释会根据默认多语言的配置进行翻译,根据
erupt.default-locales中配置而定1.12.23 及以上版本支持
语言包编码
| 语言 | 支持版本 | 语言包编码 |
|---|---|---|
| 简体中文 | 1.12.0 及以上版本 | zh-CN |
| 繁体中文 | 1.12.0 及以上版本 | zh-TW |
| 英语 | 1.12.0 及以上版本 | en-US |
| 法语 | 1.12.0 及以上版本 | fr-FR |
| 日语 | 1.12.0 及以上版本 | ja-JP |
| 韩语 | 1.12.0 及以上版本 | ko-KR |
| 俄语 | 1.12.0 及以上版本 | ru-RU |
| 西班牙语 | 1.12.0 及以上版本 | es-ES |
| 德语 | 1.12.0 及以上版本 | de-DE |
| 葡萄牙语 | 1.12.0 及以上版本 | pt-PT |
| 印尼语 | 1.12.0 及以上版本 | id-ID |
| 阿拉伯语 | 1.12.0 及以上版本 | ar-SA |
