本文实例讲述了php简单实现多语言切换的方法。分享给大家供大家参考,具体如下:
1.主程序代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?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
1
2
3
4
5
6
7
|
<?php
$name = "name" ;
?>
Chinese.inc
<?php
$name = "名字" ;
?>
|
3. 所包含的function.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
<?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' => '*n' ,
'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
1
2
3
4
5
6
7
8
9
10
11
|
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程序设计有所帮助。