我正在寻找一种符合标准的方法来存储Web应用程序的多语言内容。到现在为止,我已经使用了自己的“translate()”。从数据库中的文件或字典表中读取数据的函数。但是,如果您使用Web应用程序的不同副本,则在数据库表中保持字典最新是非常麻烦的。

我喜欢gettext,因为有很多可用的工具。但是,我为不同的平台开发应用程序。我绝对不愿意处理setlocale()和consorts的糟糕方式 - 即不同系统之间的许多不同的区域设置字符串变体,您需要提供这些变体才能使其正常工作。永远不能。我有一套语言 - 比如de,en和es - 我想加载适当的字典并使用_()而不需要触及setlocale()或bindtexdomain()一次。

这是否可以使用gettext?或者有人知道另一个简单,小巧,快速(!)i18n的PHP解决方案,可以使用.po / .mo文件,最好不需要PHP扩展吗?

其他提示

即使使用非标准语言环境,此方法也应该有效:

$locale = 'someWeirdLocale';

putenv('LC_MESSAGES=' . $locale);
bindtextdomain('domain', './locale');
textdomain('domain');

享受!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top