• 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>

  • 相关阅读:
    多线程05.thread不知道的知识
    多线程04.策略模式
    多线程03.实现Runnable接口
    多线程02.继承Thread类
    多线程01.newThread的方式创建线程
    静态代理与动态代理
    从零开始学Kotlin第七课
    项目需求变更维护难.....
    加密算法入门
    将重复的数据合并成一行-反射
  • 原文地址:https://www.cnblogs.com/Jason-Xiang/p/4905117.html
Copyright © 2020-2023  润新知