localization - gettext 的替代方案?

标签 localization internationalization gettext

gettext 是否有任何通用的本地化/翻译替代方案?

开源或专有并不重要。

当我说 gettext 的替代方案时,我指的是一个用于国际化的库,带有各种本地化后端。

我问的原因是(除其他外)我发现 gettext 做事情的方式有点麻烦和静态,主要是在后端位。

最佳答案

首先我觉得gettext在这一点上是最好的之一。

你可以看看Boost.Locale可能会提供更好的 API 并使用 gettext的字典模型:http://cppcms.sourceforge.net/boost_locale/docs/ (不是 Boost 的官方部分,仍然是测试版)。

编辑:

如果您不喜欢 gettext ...

这些是翻译技术:

  • OASIS XLIFF
  • GNU gettext po/mo 文件
  • POSIX 目录
  • Qt ts/tm 文件
  • Java 属性,
  • 视窗资源。

  • 现在:
  • 最后两个废话... 很难使用翻译和维护,不支持复数形式。
  • Qt ts/tm -- 需要使用 Qt 框架。与 gettext 的型号非常相似.不错的解决方案,但仅限于 Qt。在通用程序中不太有用。
  • POSIX 目录——没有人使用它们,不支持复数形式。废话。
  • OASIX XLIFF——“标准”解决方案,依赖于 XML,甚至 ICU 也需要编译为特定的 ICU 资源才能使用。翻译工具有限,不知道有什么库支持XLIFF。复数形式不太容易使用(ICU 仅在 4.x 版本中包含一些支持)。

  • 现在我们有什么?

    GNU gettext ,广泛使用,有很好的工具,有很好的复数形式支持,在翻译社区很受欢迎......

    所以决定,你真的认为 gettext 不是那么好的解决方案吗?

    我不这么认为。您根本没有使用过其他解决方案,因此请首先尝试了解它是如何工作的。

    关于localization - gettext 的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2185568/

    相关文章:

    php - Smarty 和 gettext

    python - 如何在 Windows 上安装 gnu gettext (>0.15)?所以我可以在 Django 中生成 .po/.mo 文件

    objective-c - Localizable.strings 错误 - 编译器说文件丢失

    android - 如何将参数放入 Android 中的本地化字符串中?

    不支持语言的 iOS 本地化

    Spring 休息国际化

    c# - 枚举 Asp.net MVC 中的可本地化下拉列表

    c++ - 用于获取操作系统语言(本地化信息)的 Win32 API?

    c++ - 如何控制 gettext 系统中的翻译?

    javascript - 使用 jquery 获取选定的 ="selected"文本