Seesaw国际化

今天发现,Seesaw依赖j18n.jar,看文档,Seesaw内置支持国际化,貌似很简单很好用。

写了个例子:

文件结构:

 

core.clj中的内容:

(ns com.core
  (:use [seesaw.core]))

(def main-frame (frame :title ::hello-title,
                  :resource ::my-frame,
                  :content (label ::hello-content)))

(defn show-frame []
  (-> main-frame
    pack!
    show!))

(show-frame)

 

core_zh_CN.properties

 

hello-title=Hello Title Chinese
hello-content=Hello Content Chinese

 

core.properties

 

hello-title=Hello Title
hello-content=Hello Content

 

上面是一个能跑的例子,下面说一下注意事项:

 

1、只有被Seesaw用到的地方,才会做国际化;

        说了等于白说,这不是很明显的嘛,我今天犯傻在这事上折腾了好久,多么想让一个没有被用到的str也被国际化啊。。。回头一想,这怎么可能?

 

2、资源文件的路径命名,要和用到的在同一个包路径下,一个clj,对应一组properties。

      这岂不是说,我写几个clj文件,就要写几组properties?现在看来,还真是的。如果文件名不对,会报如下异常:

 

CompilerException java.util.MissingResourceException: Can't find bundle for base name com.core, locale zh_CN, compiling:(core.clj:6) 

 

3、其他遇到的问题:第6行,(label ::hello-content)换成"Hello Content"是可以的,但写成::hello-content是不会转换的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值