我的网站有一种更改语言的方式,每次我更改它时,我都会在源代码的顶部看到类似的内容:
<html dir="ltr" lang="en-US">
<html dir="ltr" lang="zh-TW">
我认为使用网址也可能有效:
http://alexchen.info/en
http://alexchen.info/tw
或者这个:
?lang=es
?lang=en
因为这也有效:
http://alexchen.info/?lang=es
http://alexchen.info/?lang=en
我想知道使用它制作php if语句(或switch语句)的最佳方法是什么。 例如:
if(lang=en) {
// do this
}
if(lang=tw) {
// do this
}
答案 0 :(得分:2)
如果你有?lang=en
,你只需通过$_GET
全局变量即可。但是,您应该首先将逻辑封装在函数中。
function getLang()
{
return $_GET['lang'];
}
// ...
if (getLang() == 'en') {
// ...
}
答案 1 :(得分:1)
要编写一个开关(可以很容易地在他们的documentation中查找):
switch($lang) {
case 'en-US':
// do this
break;
case 'zh-TW':
// do this
break;
}
虽然这可能不是进行网站翻译的最佳方法。我自己没有做太多的多语言工作,但我看到很多框架在函数中包装文本块,如
echo T("sample text");
然后T
函数将用翻译的文本替换该文本。这样你就没有整个网站散落着switch语句。翻译可以存储在数据库中。如果缺少翻译,可以将其作为空白条目记录或插入到您的数据库中,以便您知道需要在以后填写/翻译的内容,而无需浏览您的网站,试图找到需要翻译文本的所有位置。