问题已更新,而不是提出新问题...
我真的很想在我正在建立的社交网站上提供一些除英语之外的其他语言,这将是我第一次做任何类型的语言翻译,所以请多多包涵。
我正在研究,所以我耳熟能详,对想法持开放态度,我已经有很多问题了。
1)
i18n是什么意思,我在SO上研究语言翻译时经常看到它?
2)
大多数人说使用gettext PHP有一个扩展或支持它,
我一直在研究它,我对它有一个基本的了解,据我所知,走这条路需要做很多额外的工作,
我意味着对我的网站进行编码以使用它的功能,即; _('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 回答中使用的一些代码