首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >国际化java软件

国际化java软件
EN

Stack Overflow用户
提问于 2013-06-19 14:23:44
回答 2查看 201关注 0票数 2

在我的实习中,我被要求做一些关于软件国际化以及当前实践和解决方案的研究。

我做了一些研究,但没有找到可行的解决办法。我的项目经理要求我询问堆叠溢出,

为了使Java软件国际化,你们现在的工作实践是什么?

编辑

以下是我的研究总结,以防其他人对我的发现感兴趣:

由于软件是用Java编写的,因此显然使用了RessourceBundles。如果不存在当前区域设置的特定转换,RessourceBundles将提供良好的键值查找,并返回到默认值。ResourceBundles也不局限于文本的翻译,而是资源的国际化。例如,颜色或图像对于不同的文化意味着不同的东西。

虽然所有这些都很好,但是仅仅使用Java并不能为转换器提供元数据,也不能处理多个表单。

Gettext是国际化的另一种方式。消息以英文编写源代码,然后解压缩并存储到文件中。提取程序搜索函数调用并提取参数。例如,tr(“你好,世界!”)命令行实用工具xgettext将搜索函数"tr“的出现,并提取所有字符串文本。

存在gettext的Java实现,如:

gettext提供的ResourceBundles并不是用于翻译的复数处理和上下文。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-19 14:30:14

读一读这个小径,因为它应该回答你的大部分问题。

对于web应用程序,我们使用JavaEE提供的标准工具。这实际上意味着将消息包传递到JSF页面,然后使用与页面中的#{msg.hello}类似的标记。"msg“是消息包的名称,"hello”是查找已翻译字符串的键。

翻译都保存在具有标准化格式和命名约定的属性文件中。这个过程对客户端应用程序的工作方式也是一样的,尽管我觉得它不那么顺利

据我所知,专业的翻译人员有软件来加载属性文件,并帮助他们制作翻译。向属性文件添加注释非常有用,因此翻译程序在翻译时有一些上下文。

票数 1
EN

Stack Overflow用户

发布于 2015-08-07 10:36:25

除了其他答案之外,我建议使用一些技术/软件来分析/检查项目中的所有本地化资源是否同步。

这通常应该在构建时完成,这样您就可以更早地发现/捕获错误。

我个人使用并推荐的工具之一是I18n-maven插件

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17193826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档