Java 使用 GNU 的 Gettext 工具实现国际化

在 Java 中最常见的实现国际化(i18n)的方式应该是使用 .properties 资源文件。本文将使用另一种方式实现 Java 代码的国际化与本地化(l10n)。
Gettext 是一个可用于多种语言的国际化工具。相比于传统的 key – value 资源文件方式,其不同点有:

使用 properties 的传统方式 GNU gettext
key 是短文本 key 是纯文本形式的未翻译内容
翻译文件通常命名为 resources_locale.properties, 文件内容只能包含 ASCII 文本,非 ASCII 文字会被用 Unicode 编码代替 翻译文件通常命名为resources.local.po,文件内容可以使用任意编码可以包含任意字符
ResourceBundle.getString会在找不到翻译内容时抛出异常 gettext当找不到翻译内容时会返回 key.
不支持单复数及上下文翻译 支持单复数和上下文相关的翻译

继续阅读“Java 使用 GNU 的 Gettext 工具实现国际化”

在 Wildfly 10.x 中使用自带 ActiveMQ 提供的 Java 消息服务(JMS)

原先 JBoss 自带的消息服务是 HornetQ 实现的,后来 HornetQ 合并到 Apache ActiveMQ 中了,因此新版的 WildFly 集成的默认消息服务实现就是 ActiveMQ 了。
本文将使用一个小示例从零开始演示如何在 WildFly 中使用 JMS. 本示例的大纲如下:

  1. 怎样在 WildFly 中启用 JMS
  2. 怎样在 Java 代码中使用 JMS
    1. 消息发送
    2. 消息同步接收
    3. 消息异步接收
    4. 消息驱动Bean

继续阅读“在 Wildfly 10.x 中使用自带 ActiveMQ 提供的 Java 消息服务(JMS)”

使用 Maven 通过 IDEA 开发 JPA + EJB + JSF 项目

之前写过使用IDEA创建EJB工程的文章,不过现在有个课题需要结合 JPA + EJB + JSF, 虽然可以按照前文所述方法进行,但是我想使用 Maven 进行管理,因此直接在新建工程时选择 EJB 项目就不行了,应该选择 Maven 项目。
你可以先看看之前的文章:使用 IDEA 创建 EJB 工程

使用 IDEA 创建 EJB 工程


继续阅读“使用 Maven 通过 IDEA 开发 JPA + EJB + JSF 项目”

实习总结

一、 前言

我在7月19号来到网宿,转眼间来到网宿厦门已经一个多月了。原本打算九月回学校上课的,但由于学校在一周前开学了,请假又麻烦,因此决定结束实习回去上课。
这是我人生中第一次走出学校的实习经历,在网宿的这一个多月,我每天都过得很充实,也在网宿学到了很多宝贵的经验。
在刚来时参加的实习生茶话会,CDN 事业部的利民老师就交代过了,实习结束需要提交一份两千字实习总结报告。想起当时大家一圈儿实习生围在一起一边吃水果一边互相讨论的情景,还感觉就在几天前,没想到这么快我就要写实习总结了。不过就算没有要求提交实习总结,我觉得这段经历也是有整理记录的价值的。
继续阅读“实习总结”

bat 批处理 + curl 批量下载图片

有一串 URL 相近的图片,怎样自动全部下载下来呢。
下载图片,刚好我之前安装过 cURL, 可以直接使用它下载。然后用脚本写一个循环就好了。

不想用 Python, PHP, Java 这么重量级的语言,于是想到了 bat 批处理。
在这里记录一下 bat 的常用语法。
继续阅读“bat 批处理 + curl 批量下载图片”