如何在 PHP4 中解析 gettext .mo 文件而不依赖 setlocale/locales ?
我做了几个相关的主题,但这是我正在寻求答案的一个直接问题。如果 php 版本是 5,我的框架将使用 Zend_Translate,否则我必须模仿 4 的功能。
似乎 gettext 的几乎每个实现都依赖于 setlocale 或 locales,我知道有很多系统之间的不一致,这就是我不想依赖它的原因。
我已经尝试了几次让 textdomain
、bindtextdomain
和 gettext
函数正常工作,但我总是需要调用 设置语言环境
。
顺便说一句,所有 .mo 文件都将是 UTF-8。
I made a couple related threads but this is the one direct question that I'm seeking the answer for. My framework will use Zend_Translate
if the php version is 5, otherwise I have to mimic the functionality for 4.
It seems that pretty much every implementation of gettext relies on setlocale or locales, I know there's a LOT of inconsistency across systems which is why I don't want to rely upon it.
I've tried a couple times to get the textdomain
, bindtextdomain
and gettext
functions to work but I've always needed to invoke setlocale
.
By the way, all the .mo files will be UTF-8.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下面是一些可重用的代码,用于在 PHP 中解析 MO 文件,基于
Zend_Translate_Adapter_Gettext
:Here's some reusable code to parse MO files in PHP, based on
Zend_Translate_Adapter_Gettext
:好的,我基本上最终编写了一个基于 Zend 的 Gettext Adapter 的 mo 文件解析器,据我所知 gettext 非常依赖于语言环境,因此手动解析 .mo 文件将省去遇到语言环境问题的奇怪情况的麻烦使用
setlocale
。我还计划解析以 xml 文件形式提供的 Zend Locale 数据。Ok, I basically ended up writing a mo file parser based on Zend's Gettext Adapter, as far as I know gettext is pretty much reliant upon the locale, so manually parsing the .mo file would save the hassle of running into odd circumstances with locale issues with
setlocale
. I also plan on parsing the Zend Locale data provided in the form of xml files.