【发布时间】:2010-11-27 16:43:31
【问题描述】:
问题已更新,而不是提出新问题...
我真的想在我正在构建的社交网站上提供除英语以外的其他语言,这将是我第一次进行任何语言翻译,所以请多多包涵。
我正在研究,所以我耳熟能详,对想法持开放态度,我已经有很多问题了。
1)
i18n是什么意思,我在SO上研究语言翻译的时候经常看到?
2)
大部分人都说用gettextPHP有扩展或者支持,
嗯,我一直在研究它,我对它有一个基本的了解,据我所知,走这条路需要做很多额外的工作,
我的意思是对我的网站进行编码以使用它的功能,即; _('hello world i'm in English for now') 或者 gettext('hello world i'm 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 回答中使用的一些代码
【问题讨论】:
-
您知道不必在数组中使用 _,但是是的,您可能应该使用 php 扩展而不是自己滚动。