在 PHP 中使用 gettext
我正在开发开源软件,并考虑使用 gettext 来本地化界面。问题是:有没有办法让我不添加 gettext 模块依赖项?
由于 gettext 支持作为 PHP 模块提供,因此我需要让所有用户安装它。有替代方案吗?
I'm working on open source software and thinking of using a gettext to localize the interface. The question is: is there a way for me not to add a gettext module dependency?
Since gettext support comes as a PHP module, I need to make all users install it. Is there an alternative for that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为绝大多数 PHP 安装中都编译了 gettext。我从来没有见过没有它的人。
也就是说,Zend Framework 的 Zend_Translate 是真正独立于包的,而且功能更强大比 gettext.它可以处理多种字典格式,包括 gettext。它可以用作独立组件。如果您开始进行本地化,那么它绝对值得一看。
I think
gettext
is compiled in in the vast majority of PHP installations. I have never seen one without it.That said, Zend Framework's Zend_Translate is truly package independent, and much more powerful than gettext. It can handle a number of dictionary formats, including gettext. It can be used as a standalone component. If you're starting with localization, it's definitely worth a look.
将
gettext
视为旧扩展。 PHP 现在支持新的 ICU 库。查找以下类:Intl
、Locale
、MessageFormatter
。Consider
gettext
as a legacy extension. PHP now supports the new ICU library. Look up the following classes:Intl
,Locale
,MessageFormatter
.实际上有两种选择。 php-gettext 和 gettext.php,两者都在 PHP 用户空间中实现,因此如果未编译 PHP 原生 gettext 扩展,您可以将它们用作后备。
There are two alternatives actually. php-gettext and gettext.php, both implemented in PHP userland so you can use them as fallback if the PHP native gettext extension is not compiled in.