2013-04-23 64 views
0

这是我第一次问这里,所以不要评论我是否贴错了。转换多国语言功能

我有这个功能我多郎支持

<? 
header('Cache-control: private'); // IE 6 FIX 
if(isSet($_GET['lang'])) 
{ 
    $lang = $_GET['lang']; 
    // register the session and set the cookie 
    $_SESSION['lang'] = $lang; 
    setcookie('lang', $lang, time() + (3600 * 24 * 30)); 
} 
else if(isSet($_SESSION['lang'])) 
{ 
    $lang = $_SESSION['lang']; 
} 
else if(isSet($_COOKIE['lang'])) 
{ 
    $lang = $_COOKIE['lang']; 
} 
else 
{ 
    $lang = 'en'; 
} 
switch ($lang) { 
    case 'bg': 
    $lang_file = 'bg.php'; 
    break; 
    default: 
    $lang_file = 'en.php'; 
} 
define('IN_VALID',true); 
include_once '_src/lang/'.$lang_file; 
?> 

它通过& LANG = EN或& LANG = BG得到的语言。

我怎样才能将其转换得到&郎咸平:恩,而不是&郎= EN(如果可能的话)

+0

请正确缩进你的代码 – Bojangles 2013-04-23 15:43:38

+0

如果你知道如何使用它,你可以使用url rewrite来做到这一点 – Uby 2013-04-23 15:47:13

回答

0

?key1=value1&key2=value2是标准application/x-www-form-urlencoded格式。

要使用你的格式,你应该自己解析它,我不建议的路线。

+0

Uby你给了我一个好主意我用'RewriteRule^lang:(。*)$ index.php ?lang = $ 1 [NE,L]'现在我必须做第二步,因为我使用'RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule ^(。*)$ index.php? p =%{REQUEST_URI}&%{QUERY_STRING} [NE,L]'用于获取我需要编写RewriteRule的页面以获取example.com/page/setlang:en – NeZiRuS 2013-04-23 15:57:18

0

您可以检查isset($_GET["lang:en"])

但这不是建议。 =是键和值的标准分隔符。没有必要改变它。