php多语言demo,php简单实现多语言

该代码实现了一个多语言网站的功能,通过GET参数设置用户语言,并使用session保存选择。程序包含了英语和汉语的语言包,定义了可用语言列表,并提供了获取语言名称的函数。此外,还提供了一个用于更改语言的JavaScript函数。
摘要由CSDN通过智能技术生成

1.主程序代码:

include "lib/function.php";

?>

if(isset($_GET["language"])){

$_SESSION["language"] = $_GET["language"];

}else{

$_SESSION["language"] = getDefalutlanguage();

}

$language_name = getLanguageName($_SESSION["language"]);

include "lang/".$language_name.".inc";

?>

$language_array = array_language();

foreach($language_array as $key => $value){

if($_SESSION["language"] == $value){

$selected = "selected = 'selected' ";

}else{

$selected = "";

}

?>

" <?php  echo $selected;?>><?php  echo getLanguageName($value);?>;

}

?>

if($_GET["language"] == $value){

//$selected = "selected = 'selected' ";

}

echo "语言:".$_SESSION["language"];

echo "测试:".$name;

?>

2. 所包含的语言包:English.inc

$name = "name";

?>

Chinese.inc

$name = "名字";

?>

3. 所包含的function.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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值