当前位置:  开发笔记 > 编程语言 > 正文

i18n - 国际化的最佳实践 - XLIFF,gettext,INI,......?

如何解决《i18n-国际化的最佳实践-XLIFF,gettext,INI,?》经验,为你挑选了2个好方法。

编辑:我真的希望看到关于格式,它们的优点和缺点的一般性讨论!

编辑2:'赏金并没有真正帮助创建所需的讨论,有一些有趣的答案,但仍然缺少对该主题的全面报道.六个人将这个问题标记为收藏,这表明我对此讨论感兴趣.

在决定国际化时,IMO最棘手的部分是存储格式的选择.

例如,Zend PHP Framework提供了以下适配器,它几乎涵盖了我的所有选项:

数组:不,难以维护

CSV:不知道,编码可能存在问题

Gettext:经常使用,poEdit适用于所有平台但非常复杂

INI:不知道,编码可能存在问题

TBX:没有头绪

TMX:太重要了?没有编辑可以免费获得.

QT:不是很普遍,没有免费工具

XLIFF:即将推出的标准?但没有可用的免费工具.

XMLTM:不,不是我需要的

基本上我坚持4'大胆'的选择.我想使用INI文件,但我正在阅读有关编码问题...如果我使用严格的UTF-8(文件,连接,数据库等),它真的是一个问题吗?

我在Windows上,我试图找出poEdit如何运作,但只是没有管理.网上也没有教程,gettext仍然是一个选择或濒临灭绝的物种?

XLIFF怎么样,还有人使用它吗?关于使用什么工具的任何提示?

Eclipse集成任何这些技术的想法?



1> 小智..:

POEdit并不是很难掌握.只需创建一个新的.po文件,然后告诉它从源文件导入字符串.该程序扫描您的PHP文件以查找匹配的任何函数调用_("Text"), gettext("Text")等.您甚至可以指定自己的函数来查找.

然后在相应的框中输入翻译.保存.po文件时,会自动生成.mo文件.这只是翻译的二进制版本,gettext可以轻松解析.

在PHP脚本中,调用bindtextdomain()告诉它.mo文件所在的位置.现在传递给gettext(或下划线函数)的任何字符串都将被翻译.

它使您的翻译文件保持最新变得非常容易.POEdit还有一些简洁的功能,如允许注释,显示更改和删除字符串以及允许模糊匹配,这意味着您不必重新翻译稍微修改过的字符串.



2> Jakub Narębs..:

总有Translate Toolkit允许在我认为所有提到的格式之间进行翻译,并且首选gettext(po)和XLIFF.

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有