1. 概述
1.1 版本
报表服务器版本 | 多语言方案插件版本 | 新增功能 |
---|---|---|
11.0 | V2.2.0 | 新增支持自定义小语种 |
11.0 | V2.2.6 | 新增支持 15 种语言,详情见第 4 节 |
1.2 应用场景
在原多语言插件的基础上,新增了主要的东南亚、欧盟语系语言以及丝绸之路相关国家或地区的语言,共支持 48 种语言(包含内置的 5 种语言)。
用户可以通过本文的操作步骤自定义配置所需要的小语种。
注:此功能仅增加语言选项入口,不会自动将内容翻译成对应语言,用户需自行新增或导入翻译内容。
1.3 主要步骤
1)备份平台配置。
2)连接 FineDB 数据库,用于获取需要修改的 FINE_CONF_ENTITY 表。
3)新建一张填报模板,用于填报修改 FINE_CONF_ENTITY 的表字段。
4)修改表字段,并提交入库到 FineDB 中。
5)重启工程。
2. 示例
2.1 备份平台配置
由于本文方法涉及修改 FineDB 数据库,如果操作失误可能会影响正式系统使用,操作前请务必进行备份。
可以通过手动或自动的方式备份平台配置项,备份方式请参考:备份还原 。
以手动备份平台配置为例,登录数据决策系统,在「管理系统>智能运维>备份还原>平台配置」中选中手动备份。如下图所示:
注:若用户无法登录数据决策系统,可前往工程%FR _HOME%/webapps/webroot/WEB-INF/embed文件夹下,手动备份 finedb 文件。
2.2 修改fine_conf_entity表
通过编辑 fine_conf_entity 表中的 ServerI18NConfig.allLang 属性,配置平台支持选择的语言选项。
注:详细操作步骤可以参考:填报修改fine_conf_entity。
1) 数据准备
新建数据查询 ds1,选择数据连接为 FineDB,输入 SQL 语句:SELECT * FROM PUBLIC.FINE_CONF_ENTITY WHERE ID = 'ServerI18NConfig.allLang' ,获取需要修改的表字段。如下图所示:
2)设计报表
新建一张普通报表,设置 A2~B2 单元格纵向扩展。设计模板样式如下图所示:
由于需要填报修改「ServerI18NConfig.allLang」字段,因此需要设置 B2 单元格为文本控件。如下图所示:
3)设置填报属性
点击菜单栏「模板>报表填报属性>提交」,新增「内置SQL」。
选择数据库为「FineDB」,表为「FINE_CONF_ENTITY」。将单元格与数据库表中的数据列进行绑定,并选择「ID」作为主键。如下图所示:
4)填报提交
点击「保存」按钮,保存报表,选择「填报预览」查看报表。
输入所需配置的语言后点击「提交」,值格式:["语言1","语言2","语言3"]。如下图所示:
注:字段值仅支持本文第 4 节列出的配置值。
此处以新增法语、德语、泰语为例,其对应值为 ["fr_FR", "de_DE", "th_TH"]。
5)填报提交成功后,重启工程,配置生效。
重启步骤请参见:关闭或重启FineReport工程 。
2.3 效果查看
1)平台效果
点击「管理系统>语言配置>更多配置」,可以看到除内置的 5 种语言外,新增的法语、德语、泰语也出现在下拉选项中。勾选需要的语言即可。
2)设计器效果
平台勾选新增的小语种后,设计器内「模板>模板国际化」同样新增 法语、德语、泰语选项。
3. 模板下载
点击下载模板:多语言新增小语种.cpt
4. 注意事项
1) 选择的语种建议不超过 10 个,过多可能会导致显示拥挤,使用不便。
2) 翻译长度尽量不要超过中文的 2 倍,否则可能会导致显示问题,请酌情精简翻译。
如发现翻译过长导致的显示问题,可在平台导出 Excel 后搜索,定位到具体的 key 后在平台内对翻译进行修改。
3)不支持任意配置小语种,仅支持下列 48 种语言:
序号 | 语言 | 配置值 |
---|---|---|
1 | 简体中文 | zh_CN |
2 | 繁体中文 | zh_TW |
3 | 英语 | en_US |
4 | 韩语 | ko_KR |
5 | 日语 | ja_JP |
6 | 西班牙语 | es_AR |
7 | 越南语 | vi_VN |
8 | 法语 | fr_FR |
9 | 德语 | de_DE |
10 | 俄语 | ru_RU |
11 | 意大利语 | it_IT |
12 | 泰语 | th_TH |
13 | 印尼语 | in_ID |
14 | 菲律宾语 | fil_PH |
15 | 马来语 | ms_MY |
16 | 缅甸语 | my_MM |
17 | 老挝语 | lo_LA |
18 | 匈牙利语 | hu_HU |
19 | 荷兰语 | nl_NL |
20 | 保加利亚语 | bg_BG |
21 | 克罗地亚语 | hr_HR |
22 | 捷克语 | cs_CZ |
23 | 丹麦语 | da_DK |
24 | 爱沙尼亚语 | et_EE |
25 | 芬兰语 | fi_FI |
26 | 希腊语 | el_GR |
27 | 卢森堡语 | lb_LU |
28 | 拉脱维亚语 | lv_LV |
29 | 波兰语 | pl_PL |
30 | 马耳他语 | mt_MT |
31 | 斯洛伐克语 | sk_SK |
32 | 罗马尼亚语 | ro_RO |
33 | 斯洛文尼亚语 | sl_SI |
34 | 葡萄牙语 | pt_PT |
35 | 高棉语 | km_KH |
36 | 蒙古语 | mn_MN |
37 | 哈萨克语 | kk_KZ |
38 | 吉尔吉斯语 | ky_KG |
39 | 塔吉克语 | kg_TJ |
40 | 乌兹别克语 | uz_UZ |
41 | 土库曼语 | tk_TM |
42 | 土耳其语 | tr_TR |
43 | 印地语 | hi_IN |
44 | 尼泊尔语 | ne_NP |
45 | 孟加拉语 | bn_BD |
46 | 僧伽罗语 | si_LK |
47 | 格鲁吉亚语 | ka_GE |
48 | 阿塞拜疆语 | az_AZ |