• Saiku国际化总结


    国际化步骤:

    1.在mondrian.properties同路径下加上locale_zh_CN.properties资源文件,内容例如:schema.name.K12UserAnalysis=K12用户分析(utf-8编码汉字)

    2.mondrian.properties增加下面一行,通知mondrian处理类要读取locale_zh_CN的国际化文件

    mondrian.rolap.localePropFile=locale_zh_CN

    3.schema文件加上配置

    <Schema name="%{schema.name.K12UserAnalysis}">

    (Schema无caption属性,故直接加在name属性中,其他有caption属性的节点最好加在caption属性上如:<Cube name="APPAZLTJ" caption="%{cube.name.APPAZLTJ}">,若schema的name属性使用中文,会使header的长度过长,导致jetty6下报错header full error,改为jetty7即可,或者在jetty.xml文件中添加requestHeaderSize属性并设置大小)

    4.数据源文件中加上

    1. type=OLAP  
    2. name=test  
    3. driver=mondrian.olap4j.MondrianOlap4jDriver  
    4. Locale=zh_CN  
    5. DynamicSchemaProcessor=mondrian.i18n.LocalizingDynamicSchemaProcessor  
    6. location=jdbc:mondrian:Jdbc=jdbc:mysql://****:3306/zhenai_warehouse;Catalog=res:test/test.xml;  
    7. username=etl  
    8. password=etl@123456

    5.修改类org.saiku.datasources.connection.SaikuOlapConnection

    SaikuOlapConnection中本来只使用username,password的方法修改成使用properties,因为需要调用mondrian国际化的标识会在properties里面

    connection = (OlapConnection) DriverManager.getConnection(url, props);

    DONE~!

    数据的国际化:

    1.在数据库中表中新增一列翻译后的数据,例如原先显示的数据内容为codedesc的内容,新增列为codedesc_zh

    codedesc  codedesc_zh

    football    足球

    baseball    棒球

    2.在locale_zh_CN.properties文件中增加内容如:i18n.codedesc=codedesc_zh

    3.动态更改level的nameColumn属性,在schema文件中更改level的nameColumn:

    <Level name="XB" visible="true" table="f_jcjy_code_xb" column="code" nameColumn="%{i18n.codedesc}" type="String" uniqueMembers="false" levelType="Regular" hideMemberIf="Never" caption="%{common.name.XB}">/Level>

  • 相关阅读:
    Python基础第三天——变量、列表、元组、字典
    Django学习第二天
    开篇:鸡汤
    Python常用的字符串方法总结
    Django学习第一天
    Python基础第二天——if判断、while循环、for循环、Pycharm的使用、python字符串
    Python基础第一天——编程的概念、python的介绍与安装、python的变量、python的运算符
    计算机英语单词记录
    亿图画流程图的小技巧——自定义模板
    sysbench介绍
  • 原文地址:https://www.cnblogs.com/Jason-Xiang/p/4905117.html
Copyright © 2020-2023  润新知