找回密码
 立即注册

QQ登录

只需一步,快速开始

lyz880524 讲师达人认证

高级会员

153

主题

458

帖子

1167

积分

高级会员

积分
1167

微信认证勋章元老葡萄讲师达人

[已处理] AR国际化表头

lyz880524 讲师达人认证
高级会员   /  发表于:2020-9-7 09:26  /   查看:2954  /  回复:6
我想用AR实现,根据不同的语言标识,自动显示不同的表头
语言标识是在我们后台管理中,用户自己设定的:比如1代表中文,2代表英文,3自定义语言
我想根据这个标识,动态的切换报表的表头;我们程序有配置 l18n 的配置文件,配置如下:
message.xml(源配置档案)
report.title=标题
report.msg=提示内容

report.ordernumber=序号
---------------------------
zh_CN.xml(中文配置档案)
report.title=标题
report.msg=提示内容
report.ordernumber=序号
---------------------------
en_US.xml(英文配置档案)
report.title=title
report.msg=message

report.ordernumber=ordernumber
---------------------------
by_self.xml(用户自定义配置档案)

ar 在 Scripts\i18n\ 目录下有en.txt 和 zh.txt
我如何根据配置档案动态的实现表头的国际化?



6 个回复

倒序浏览
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-9-7 11:12:21
沙发
你好你的的 需求是需要动态切花语言了,那么首先你的JS文件要有你对应的这几种汉化文件,然后 自己在报表展示的页面定义一个语言选择按钮,选择之后就出发汉化方法的,汉化的方法进行一个判断,然后不用的选择进行不同的汉化文件的绑定。这样就可以解决你的这个问题。
汉化的方法如下:汉化代码
  1.   <script type="text/javascript">
  2.         $(function () {         
  3.             var viewer = GrapeCity.ActiveReports.Viewer({
  4.                 element: '#viewerContainer',//报表展示区
  5.                 report: {
  6.                     id: "Reports/多值传参.rdlx"
  7.                 },
  8.                 reportService:
  9.                 {
  10.                     url: '/ActiveReports.ReportService.asmx'//服务引用
  11.                 },
  12.                 uiType: 'desktop',//展示模式,桌面展示
  13.                 documentLoaded: function reportLoader() {
  14.                     Console.log(viewer.pageCount);
  15.                 },
  16.                 reportLoaded: function (reportInfo) {
  17.                     console.log(reportInfo.paremeters);
  18.                 },
  19.                 localeUri: 'Scripts/i18n/Localeuri.txt'//汉化
  20.             });
  21.         });
  22.     </script>
复制代码
  1. localeUri: 'Scripts/i18n/Localeuri.txt'//汉化
复制代码

回复 使用道具 举报
lyz880524讲师达人认证
高级会员   /  发表于:2020-9-7 14:37:05
板凳
我在报表编辑器中,如何使用 Localeuri.txt 的key啊?
我是要国际化表头,
比如一个表格
序号 |  名称  |  金额
回复 使用道具 举报
lyz880524讲师达人认证
高级会员   /  发表于:2020-9-7 14:38:12
地板
我在报表编辑器中,如何使用 Localeuri.txt 的key啊?
我是要国际化表头,
比如一个表格,中文
序号 |  名称  |  金额
   1      张三     43.00

英文

ordernumber |  name   | amount
         1            zhangsan     43.00
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-9-7 15:02:37
5#
本帖最后由 KearneyKang 于 2020-9-7 15:07 编辑

这这个不行的,汉化只能汉化工具栏,没办法把报表里面的内容也根据进行汉化改变
工具栏汉化:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=57867&extra=page%3D4
回复 使用道具 举报
lyz880524讲师达人认证
高级会员   /  发表于:2020-9-18 13:12:59
6#
https://www.grapecity.com.cn/blo ... on-in-activereports
这个不就是本地化的实现吗?
回复 使用道具 举报
KearneyKang讲师达人认证 悬赏达人认证
超级版主   /  发表于:2020-9-18 15:07:56
7#
你好,这个是报表本身的设计,就是根据你选择什么语言然后,报表使用参数报表,进行判断,表头显示对于的字体信息,这是都是通过表达式显示的,但是报表本身绑定的内容层的信息是没有发生变化的,你如果连表格的内容都要跟着发生变化。那么你就有根据你的 语言选择进行各种判断来实现。这是都是你自己通过表达式和数据源判断实现。
我们提供的API接口,只能一次性修改工具栏的语言。
你这是 需要修改报表本身 的内容,那么你的报表 本身就需要各种判断。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部