Junjun&3588 个人博客

-个人博客-
热爱技术,喜欢科技. Hello Coder!!
  1. 首页
  2. 未分类
  3. 正文

php简单实现多语言

2011-09-11 553点热度 0人点赞 0条评论

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;
}




































































































































标签: 暂无
最后更新:2011-09-11

admin3588

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

COPYRIGHT © 2022 Junjun&3588 个人博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang