我有两个新闻网站,一个是西班牙语,一个是英语:
es.example.com // Spanish
example.com // English
但从主域(英语)我正在集成一个系统,以便能够以另一种语言显示新闻,例如:
example.com/es/url-de-la-noticia/ // Spanish
根据该 URL,我创建一个“cookie”,其中将存储 URL 的语言,这是第一个文件夹/子文件夹或目录“/es/”:
//I create the cookies automatically for the subdomain and for the URLs in Spanish.
if($FOLDER_LANG === "es" || $SUBDOMAIN_LANG === "es") {
setcookie ('language', 'es', time()+60*60*24*365, '/', '.example.com');
}
使用此参数,网站的新闻将以西班牙语显示:es.example.com通过子域es或通过西班牙语的 URL example.com/es/url-de-la-noticia/=es
//We verify the existence of the cookie
if(isset($_COOKIE['language'])){
//We print variables of the language in coincidence of the value that the cookie stores
if($_COOKIE['language']==='en'){
$website_title = " | Sitio en español";
$lang = 'es';
$language = "es";
}elseif($_COOKIE['language']==='es'){
$website_title = " | WebSite Ingles";
$lang = 'en';
$language = "en";
}
} else {
//In case there is no cookie, I show the English language by default.
$website_title = " | WebSite Ingles";
$lang = 'en';
$language = "en";
}
到目前为止,一切似乎都运行正常。
但是当我尝试通过Ajax更改语言时,问题就出现了,虽然Ajax代码确实发送和发送信息,但由于某种原因它并没有替换cookie,也就是说,如果我点击英文语言,它并没有改变它,语言的变化。
language.ini.php文件将负责更改语言、创建各自的 cookie。
<?php
if (isset($_POST['lang'])) {
$lang = $_POST['lang'] ?: '';
if ($lang === "en") {
setcookie ('language', 'en', time()+60*60*24*365, '/', 'example.com');
} elseif ($lang === "es") {
setcookie ('language', 'es', time()+60*60*24*365, '/', 'es.example.com');
}
}
?>
料青山看我应如是
翻过高山走不出你
慕妹3242003
largeQ
不负相思意
相关分类