php简单实现多语言切换的方法


Posted in PHP onMay 09, 2016

本文实例讲述了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 相关文章推荐
第六节--访问属性和方法
Nov 16 PHP
PHP字符转义相关函数小结(php下的转义字符串)
Apr 12 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
javascript,php获取函数参数对象的代码
Feb 03 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
PHP URL参数获取方式的四种例子
Feb 28 PHP
php顺序查找和二分查找示例
Mar 27 PHP
php数组键值用法实例分析
Feb 27 PHP
php验证手机号码
Nov 11 PHP
PHP 输出缓冲控制(Output Control)详解
Aug 25 PHP
php字符串操作常见问题小结
Oct 11 PHP
Yii框架数据模型的验证规则rules()被执行的方法
Dec 02 PHP
深入浅析PHP无限极分类的案例教程
May 09 #PHP
实例讲解php数据访问
May 09 #PHP
php查询操作实现投票功能
May 09 #PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 #PHP
php面向对象编程self和static的区别
May 08 #PHP
Laravel与CI框架中截取字符串函数
May 08 #PHP
PHP框架性能测试报告
May 08 #PHP
You might like
PHP的简易冒泡法代码分享
2012/08/28 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php生成图片验证码的方法
2016/04/15 PHP
PHP自定义错误用法示例
2016/09/28 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
深入分析javascript中console命令
2016/08/14 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
js瀑布流布局的实现
2020/06/28 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
python实现合并两个数组的方法
2015/05/16 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
python socket 聊天室实例代码详解
2019/11/14 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
opencv 图像礼帽和图像黑帽的实现
2020/07/07 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
后勤部经理岗位职责
2014/02/23 职场文书
留学推荐信范文
2014/05/10 职场文书
邀请书格式范文
2015/02/02 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
电影雷锋观后感
2015/06/10 职场文书
导游词之江南周庄
2019/12/06 职场文书
再谈python_tkinter弹出对话框创建
2022/03/20 Python