Ric*_*vin 8 php localization gettext
gettext是在php中本地化网站的最佳方式吗?我没有使用任何框架,翻译的单词不多,只有两个略有不同的英文版本.
Pra*_*man 12
您可以使用a lang_XX.php并将其包含在您的应用程序中.
$lang = array(
"welcome" => "Welcome",
"bye" => "Bye"
);
Run Code Online (Sandbox Code Playgroud)
对于其他语言,比如说lang_fr.php,只需要:
$lang = array(
"welcome" => "Accueil",
"bye" => "Au revoir"
);
Run Code Online (Sandbox Code Playgroud)
对于一个小用例,这应该没问题,不需要使用.po文件.此外,您可以这样定义:
function _($l)
{
return $lang[$l];
}
Run Code Online (Sandbox Code Playgroud)
dsa*_*sas 10
gettext是最好的方法.对于一个预计不会增长很多字符串的小型站点,实现与已发布的解决方案类似的东西实际上可能比学习如何使用gettext和配置它更快.
TL;博士:
人们多年来一直在努力创造一个有效的翻译系统,你可以花费多年时间重新发明那个轮子,或者你可以花一点时间学习如何使用gettext.
在开源世界中,gettext实际上是事实上的标准.
以下是为什么gettext比维护大型翻译数组列表的常用方法更好的一些原因
if n != 1 "There was a person" else "There were n people".对于其他语言,规则并不像(n!= 1)那样简单,俄语有3种不同的变体,规则是n%100/10==1 ? 2 : n%10==1 ? 0 : (n+9)%10>3 ? 2 : 1;