我正在用PHP编写内容管理软件(缩小后不应大于3kb ),但是我应该为语言(英语、荷兰语、德语、中文等)使用什么引擎?我在考虑创建一个名为
function _(){}它从文件( .ini文件或类似文件)中读取字符串。但是,有没有人有一个可能更小或更快的引擎(最好是代码越少越好)?
我不确定这些引擎是否已经存在,如果不存在,请说,我将使用_()函数。
发布于 2009-07-21 16:50:56
您不能使用_(),因为这是一个用于国际化的内置函数。您可以自由地使用自己的函数(称为__())或使用内置函数(它使用广泛使用的gettext系统)。
发布于 2009-07-21 17:02:59
如果我是你,我会让我的翻译函数像这样(我相信它非常类似于gettext):把它变成一个sprintf()-like函数,然后根据格式字符串进行翻译,如下所示:
function __() {
$a = func_get_args();
$a[0] = lookup_translation($a[0]);
return call_user_func_array("sprintf", $a);
}现在,您可以像这样简单地使用该函数:
echo __("Thanks for logging in, %s!", $username);在某个数据文件中,你有:
"Thanks for logging in, %s!"="Merci pour enlogger, %s!" (*)这样做的好处是:
__("login_message", $username)、__("logout_message", $username)等...中完成
为了最大限度地方便起见,我会让__函数在某个地方记录未翻译的消息,这样您就不必去寻找未翻译的字符串。让系统告诉你需要翻译什么!
(*)免责声明:我不会说法语;)
发布于 2009-07-21 16:54:08
例如,Drupal使用函数t()来实现此目的。
https://stackoverflow.com/questions/1160313
复制相似问题