本文实例讲述了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' => '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
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程序设计有所帮助。