首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[本地化]日记本地化

2012-12-21 
[本地化]日志本地化目录概要运行时日志异常的国际化??国际化与本地化概要?本地化則是指當移植軟體時,加上

[本地化]日志本地化

目录

  1. 概要
  2. 运行时日志
  3. 异常的国际化

?

?


国际化与本地化

概要

?

    本地化則是指當移植軟體時,加上與特定区域设置有關的資訊和翻譯文件的過程。國際化意味着產品有適用於任何地方的「潜力」;本地化則是為了更適合於「特定」地方的使用,而另外增添的特色。用一項產品來說,國際化只需做一次,但本地化則要針對不同的區域各做一次。這兩者之間是互補的,並且兩者合起來才能讓一個系統適用於各地程序的国际化和本地化
      界面国际化程序运行时、数据、日志等因为需要在不通国家或地区运行故需要本地化

    ?

    运行时日志

    ?

      slf4j支持本地化详见:Localization support

      cal10n

      ?

      本地化日志

      为手痒,重新做了个:slf4j-local持续集成

      我的设计slf4j-local

        本地化日志实现设计.dia

        参考cal10n设计的本地化日志设计:[本地化]日记本地化实际类图:[本地化]日记本地化?

      定义你的本地化日志信息MyMsg Enum:

      ?

      package org.skzr.logging;@BaseName(charset = "UTF-8", value = "org.skzr.logging.MsgLocalLog")public enum MyMsg {        LOAD_FAILED,        OTHERS;}
      ?

      ?

      定义国际化文件org.skzr.logging.MsgLocalLog:

      #MsgLocalLog.propertiesLOAD_FAILED=[Developer][Configuration issues]international logger [{0}][{1}] load failed, text encoding[{2}]#MsgLocalLog_zh.propertiesLOAD_FAILED=[开发者][配置问题]初始化类[{0}]的国家化日志[{1}]失败, 文件格式[{2}]
      ?

      ?

      代码中使用:
      ILocalLogger logger = LocalLoggerFactory.getLogger(getClass());logger.error(MsgLocalLog.LOAD_FAILED, "青蛙", "王子", new UnsupportedOperationException("我日"));
      ?异常的国际化
        问题:怎样让自己的异常也具有本地化功能?解决方案:
          因为后台本地化,实际上还牵涉到异常的本地化。利用本地日志的基础构件,让异常消息也国际化。调用方式,如:
          new MyRuntimeException(logger.getText(MyMsgEnum.MSG_KEY, "value(1)", "...", "value(n)"), e);
          详见测试用例,实现代码?

热点排行