gpt4 book ai didi

internationalization - gettext (gettext-commons) 或坚持使用 java i18n

转载 作者:行者123 更新时间:2023-12-04 08:20:42 27 4
gpt4 key购买 nike

我们目前正在国际化我们的平台。平台的代码库和基于该平台构建的产品非常庞大,并且有许多硬编码字符串(除了我们将标签等外部化的 UI)。

我需要一些关于使用 gettext 或 Java i18n 的建议。我对 gettext 的好处和理解只有有限的了解。除了 Java i18n 已经提供的内容之外,gettext 还提供什么?

提前谢谢你。

最佳答案

对我来说,主要原因(来自 the Gettext Commons Tutorial )是:

I18n also supports proper handling of plurals:

System.out.println(i18n.trn("Copied file.", "Copied files.", 1));
// will print "Copied file."

System.out.println(i18n.trn("Copied file.", "Copied files.", 4));
// will print "Copied files."

这个例子不是最好的。它应该说“支持正确处理目标语言中的复数”。这是因为有些语言可以有不止一种复数形式(事实上,有很多这样的语言)。

此外,您将在源代码中集成后备语言(我猜是英语),这很好(我相信显示英文文本比显示键名更好)。

我有一个担心,但它可能无效:虽然 Gettext Commons 是根据 Apache 2.0 许可条款发布的,但它需要在系统上安装 Gnu gettext,并且(如果我错了请纠正我)已获得 GPL 许可(如果您碰巧运行 Linux,则获得 L-GPL 许可)。如果我的假设是正确的,这意味着除非您的应用程序仅适用于 Linux,否则您必须将其开源。

关于internationalization - gettext (gettext-commons) 或坚持使用 java i18n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737765/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com