目录
- 概要
- 运行时日志
-
异常的国际化
概要
- 本地化則是指當移植軟體時,加上與特定区域设置有關的資訊和翻譯文件的過程。
- 國際化意味着產品有適用於任何地方的「潜力」;
- 本地化則是為了更適合於「特定」地方的使用,而另外增添的特色。
- 用一項產品來說,國際化只需做一次,但本地化則要針對不同的區域各做一次。
- 這兩者之間是互補的,並且兩者合起來才能讓一個系統適用於各地
- 程序的国际化和本地化
- 界面国际化
- 程序运行时、数据、日志等因为需要在不通国家或地区运行故需要本地化
运行时日志
-
slf4j支持本地化详见:Localization support
本地化日志
-
为手痒,重新做了个:slf4j-local持续集成
-
我的设计slf4j-local
- 参考cal10n设计的本地化日志设计:
- 实际类图:
skzr-slf4j-local使用
-
定义你的本地化日志信息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.properties LOAD_FAILED=[Developer][Configuration issues]international logger [{0}][{1}] load failed, text encoding[{2}] #MsgLocalLog_zh.properties LOAD_FAILED=[开发者][配置问题]初始化类[{0}]的国家化日志[{1}]失败, 文件格式[{2}]
- 代码中使用:
ILocalLogger logger = LocalLoggerFactory.getLogger(getClass()); logger.error(MsgLocalLog.LOAD_FAILED, "青蛙", "王子", new UnsupportedOperationException("我日"));