我对在 PHP 中外部化字符串的发现很少感到惊讶。每个人都使用 gettext,还是有一些我不知道的其他框架或工具?
4 回答
Zend_Translate / Zend_Locale很好而且非常灵活。他们不需要存在整个 Zend 框架。它们支持 gettext moo/.po 文件,但也支持 CSV 和其他格式。
希望这个库可以帮助你:
i18n 包是国际化类的一大亮点。它使您可以更轻松地维护多语言网页。翻译字符串存储在平面文本文件、特殊的 Gettext 文件(基本上是预编译的翻译文件)或 MySQL 数据库中。它独立于 PHP 的 setlocale 函数工作。
我会说您应该使用 gettext,因为它成熟且易于设置。此外,使用 gettext 的 BU,您将能够将其用于除 php 之外的其他类型的源。将 PO 文件格式视为此标准。
我在 i18n 领域工作多年,我可以告诉您,如果您的项目中有超过 50-100 个字符串,gettext 将以最少的努力为您提供最佳结果。
一旦您为本地化应用程序奠定了基础,如果您发现自己需要管理和/或只是完成实际翻译,我们拥有(我喜欢这么想,显然 :) 一个非常酷的工具,称为 String - http:/ /mygengo.com/string
String 不仅非常适合管理翻译,您可以在其中邀请其他人参与项目以帮助翻译,而且您也可以直接在服务中订购翻译。我们已将我们的 API 集成到 String 中,以展示我们的 API 以及查看由真人翻译的众多(100...1000 多个)工作的状态更新的能力!
如果您对 API 本身感兴趣,我们不久前举办了一场赏金竞赛,一些有趣的获胜者在多个平台(Wordpress、Django 等)中获胜:http: //mygengo.com/services/api/lab/获奖者/
只是想我会分享。