我正在用 PHP + CodeIgniter 构建一个多语言应用程序。我已经决定使用 gettext 进行 UI 文本翻译,到目前为止,它已被证明是高效且易于使用的。
但是现在我面临着一些非常烦人的事情:该gettext()
函数只接受一个参数,而我想要从 Zend Framework 的 gettext 适配器获得的类似 printf 的行为,我可以在其中使用%1$s
等%2$s
作为占位符,然后指定替换字符串作为 Zend 视图translate()
功能的附加参数。
由于 .po 文件和 poEdit 易于翻译管理,我不想放弃 gettext(毕竟,我只需单击一下即可更新它)。我有哪些选择?
我已经尝试编写一个助手来与 gettext 交互:通过 gettext 运行第一个参数,然后在结果字符串上运行 strtr。您会推荐其他/更好的方法吗?