我使用PHP的gettext擴展將我的網站翻譯成不同的語言。我有一個改變基於URL的語言三個環節:從URL
$locale = false;
if (isSet($_GET["locale"])){
$locale = $_GET["locale"];
setcookie("locale", $locale, time()+60*60*24*30, "/");
}
if (!$locale && isSet($_COOKIE["locale"])){
$locale = $_COOKIE["locale"];
}
putenv("LC_ALL=$locale");
putenv("LANGUAGE=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
bind_textdomain_codeset("messages", "UTF-8");
textdomain("messages");
與 <a href="?locale=en">English</a>
和 <a href="?locale=ru">Russian</a>
我想保持網址乾淨,有那些?lang=en
參數進行相應的URL。所以,當用戶點擊一個lin到products.php
,它將保持原樣並不顯示products.php?locale=ru
我該怎麼做?
你可以設置一個cookie,對不對?您的代碼已經爲此準備好了 –
實際上,您都不應該這樣做。爲此,在$ _SERVER [「HTTP_ACCEPT_LANGUAGE」]中有一個頭文件。只使用Cookie和語言按鈕作爲後備,但不能再使用。 – mario
Pekka:我沒有寫,我在一些網站 – tmrhmdv