本文实例讲述了php简单实现多语言切换的方法。分享给大家供大家参考,具体如下:
1.主程序代码:
<?php
include \"lib/function.php\";
?>
<script src=\"js/language.js\"></script>
<?php
if(isset($_GET[\"language\"])){
$_SESSION[\"language\"] = $_GET[\"language\"];
}else{
$_SESSION[\"language\"] = getDefalutlanguage();
}
$language_name = getLanguageName($_SESSION[\"language\"]);
include \"lang/\".$language_name.\".inc\";
?>
<SELECT NAME=\"language\" id=\"language\" onchange=\"changeLanguage(this)\">
<?php
$language_array = array_language();
foreach($language_array as $key => $value){
if($_SESSION[\"language\"] == $value){
$selected = \"selected = \'selected\' \";
}else{
$selected = \"\";
}
?>
<OPTION VALUE=\"<?php echo $value;?>\" <?php echo $selected;?>><?php echo getLanguageName($value);?></OPTION>;
<?
}
?>
</SELECT>
<?php
if($_GET[\"language\"] == $value){
//$selected = \"selected = \'selected\' \";
}
echo \"语言:\".$_SESSION[\"language\"];
echo \"测试:\".$name;
?>
2. 所包含的语言包:English.inc
<?php $name = \"name\"; ?> Chinese.inc <?php $name = \"名字\"; ?>
3. 所包含的function.php
<?php
function getVailableLanguage() {
$language = array(
\'af\' => \'Afrikaans\',
\'az\' => \'Azerbaijani\',
\'eu\' => \'Basque\',
\'be\' => \'Belarusian\',
\'be-lat\' => \'Belarusian latin\',
\'bg\' => \'Bulgarian\',
\'bs\' => \'Bosnian\',
\'ca\' => \'Catalan\',
\'zh\' => \'Chinese\',
//\'zh-TW\' => \'Chinese traditional\',
//\'zh-CN\' => \'Chinese simplified\',
\'cs\' => \'Czech\',
\'da\' => \'Danish\',
\'de\' => \'German\',
\'el\' => \'Greek\',
\'en\' => \'English\',
\'es\' => \'Spanish\',
\'et\' => \'Estonian\',
\'fa\' => \'Persian\',
\'fi\' => \'Finnish\',
\'fr\' => \'French\',
\'gl\' => \'Galician\',
\'he\' => \'Hebrew\',
\'hi\' => \'Hindi\',
\'hr\' => \'Croatian\',
\'hu\' => \'Hungarian\',
\'id\' => \'Indonesian\',
\'it\' => \'Italian\',
\'ja\' => \'Japanese\',
\'ko\' => \'Korean\',
\'ka\' => \'Georgian\',
\'lt\' => \'Lithuanian\',
\'lv\' => \'Latvian\',
\'mk\' => \'Macedonian\',
\'mn\' => \'Mongolian\',
\'ms\' => \'Malay\',
\'nl\' => \'Dutch\',
\'no\' => \'Norwegian\',
\'pl\' => \'Polish\',
\'pt-BR\' => \'Brazilian portuguese\',
\'pt\' => \'Portuguese\',
\'ro\' => \'Romanian\',
\'ru\' => \'Russian\',
\'si\' => \'Sinhala\',
\'sk\' => \'Slovak\',
\'sl\' => \'Slovenian\',
\'sq\' => \'Albanian\',
\'sr-lat\' => \'Serbian latin\',
\'sr\' => \'Serbian\',
\'sv\' => \'Swedish\',
\'th\' => \'Thai\',
\'tr\' => \'Turkish\',
\'tt\' => \'Tatarish\',
\'uk\' => \'Ukrainian\',
);
return $language;
}
function getLanguageName($language) {
$languages = getVailableLanguage();
return $languages[$language];
}
function array_language(){
$array_language = array(\"en\",\"zh\");
return $array_language;
}
function getDefalutlanguage(){
return \"zh\";
}
?>
4.所包含的language.js
function changeLanguage(obj) {
var url = document.URL;
var re = re = /[?&]language=[^&]*/;
url = url.replace(re, \"\");
if (url.indexOf(\"?\") > -1) {
url += \"&language=\" + obj.value;
} else {
url += \"?language=\" + obj.value;
}
location.href = url;
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《PHP数学运算技巧总结》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
本文地址:https://www.stayed.cn/item/25942
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我