在PHP中做语言文件的最有效方法?
问题已更新,而不是提出新问题...
我真的很想在我正在构建的社交网站上提供一些替代语言,然后是英语,这将是我第一次做任何语言翻译,所以请耐心等待。
我正在研究,所以我是耳朵和开放的想法,我已经有很多在这里是问题。
1)
i18n是什么意思,我在研究SO语言翻译时经常看到它?
2)
大多数人说使用gettext PHP有它的扩展或支持,好吧,
我一直在研究它,我对它有一个基本的了解,据我所知,走这条路有很多额外的工作,
我的意思是编码我的网站使用它的功能,即;_('hello world i's in English for English') 或者 gettext ('hello world i's in English for Now') 是没有问题的,因为我去的任何路线都需要它。
但是,您必须在服务器上安装gettext并使其正常工作,
然后使用一些特殊的编辑器来创建特殊文件并编译它们??
听起来像是一种痛苦,我知道这应该是最好的选择,好吧,每个人似乎都说它是。
那么有人能告诉我为什么这是要走的路线吗?
3)
我真的很喜欢这种方法的简单性,只需构建一个语言数组并在函数中调用所需的短语,如下面的示例所示,然后您只需包含一个具有相应语言数组的文件。
我真正想知道的是,与使用gettext相比,在高流量和相当大的网站上,这是性能较差的方法吗?如果是这样,你能解释一下为什么吗?
<?PHP
//Have seperate language files for each language I add, this would be english file
function lang($phrase){
static $lang = array(
'NO_PHOTO' => 'No photo\'s available',
'NEW_MEMBER' => 'This user is new'
);
return $lang[$phrase];
}
//Then in application where there is text from the site and not from users I would do something like this
echo lang('NO_PHOTO'); // No photo's available would show here
?>
*下面从Brianreavis的答案中使用的一些代码