私はこのPHPスクリプトを持っています。多言語PHPスクリプト質問
<?php
/*Check_if_user_has_changed_language: */
if(isset($lang)){/*If_so:*/
setcookie("ling",$lang,time()-60*60*24*365,"/",".sayip.info",0);/*Wipe_previous_cookie*/
setcookie("ling",$lang,time()+60*60*24*365,"/",".sayip.info",0);/*Whatever_the_means_lang_has_been_stored,_store_latest_lang_in_new_cookie:*/
//echo "<script language=\"JavaScript\">alert('Selected language=$lang')</script>";/*UnComment_to_check*/
}else{/*If_user_has_NOT_changed_language:*/
if(isset($_COOKIE['ling'])){/*Check_if_user-language_cookie_is_set._If_so:*/
$lang=$_COOKIE['ling'];
setcookie("ling",$lang,time()-60*60*24*365,"/",".sayip.info",0);/*Wipe_previous_cookie*/
setcookie("ling",$lang,time()+60*60*24*365,"/",".sayip.info",0);
//echo "<script language=\"JavaScript\">alert('Cookie language=$lang')</script>";/*UnComment_to_check*/
}else{/*If_user-language_neither_selected_nor_in_cookie,_choose_browser_language:*/
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
setcookie("ling",$lang,time()+60*60*24*365,"/",".sayip.info",0);
//echo "<script language=\"JavaScript\">alert('Your browser language=$lang')</script>";/*UnComment_to_check*/
}
}
?>
最初にコードでユーザーのブラウザの言語が検出されます。それで大丈夫です。
次に、情報をクッキーに保存します。それで大丈夫です。
このコードでは、私が本当に必要とするのは、訪問者が言語を変更するためのオプションを作成することです。私はリンクされた旗のイメージのような何かを考えていたので、誰かが旗をクリックすると言語を変えます。
誰かが例や清潔で完全な解決策によって私に説明することはできますか?私のPHPスキルは貧弱です。
ありがとうございます。
「Accept-Language」の値は、重み付き言語タグのリストであることに注意してください。だから最初の言葉は好きなものである必要はありません。実際、 'en; q = 0'の値は、英語を使用してはならないことを意味します。 – Gumbo
トロールと呼ばれる危険性があるにもかかわらず、コーディングスタイルはあまりにもコンパクトです。読みやすくするため、空白と//スタイルのコメントを使用してください。私はあなたのコードを読みにくいです - そして、私はPHPプログラマです... –