第1章 问题描述

语言和地理环境对我们的文化产生重要影响。由于语言和环境的不同,以至需要我们来制定一个适合的方式来达到向他人表述我们自己想法的目的。为了有效地交流,需要考虑对方的文化,环境以及使用对方的语言.

类似地,一套有实效的报表系统也要考虑用户的语言和地理区域,所以为了满足以上的情景,报表模板的国际化功能就显得尤为重要。对此,可以使用本文介绍的UniEAP Report报表模板国际化解决上述问题。

第2章 解决办法

2.1 相关知识

2.1.1 DECODE公式

在逻辑编程中,经常会使用到If-Then-Else这种逻辑判断。而在UniEAP Report中DECODE公式,实际上就是处理这样的逻辑。

Decode(target, refer1, value1[,fefer2, value2[…]], default)

公式说明:它的参数个数为2*n,n>=2,对第一个参数求值后,与后边的参数中比较,相同返回下一个值,否则返回缺省值。

2.1.2 系统变量

系统变量是用于支持不需要用户在创建报表时输入、但对创建报表有限定作用的信息,包括报表创建时间、当前登陆用户ID、当前语言等。UniEAP Report在制作国际化报表模板时,会使用到locale这个系统变量,当用户通过浏览器访问报表时,该变量会获得浏览器的当前语言,通过该变量进行模板国际化。

2.2 制作过程与效果

首先是绘制表格,在需要国际化的单元格中,输入decode公式,并通过locale系统变量解析当前浏览器语言,如下图

例如在A1格中,使用公式decode($locale,'zh_CN','订单综合表','en_US','Product Report','订单综合表')。该公式表示为当前浏览器语言为“中文”时,显示“订单综合表”;当前浏览器语言为“英文”时,显示“Product Report”。

1

然后将制作好的报表发布到服务端,将浏览器语言切换为“中文(简体中文)”,查看报表,如下图

2

3

将浏览器语言切换为“English(United States)”时,查看报表,如下图

4

5

这里需要说明一下,“zh_CN”表示“中文(简体中文)”,“en_US”表示“English(United Status)”,若浏览器选择“中文”,公式中就需要使用“zh”;若浏览器选择“English”,公式中则需要使用“en”,依次类推。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""