本文实例讲述了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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我