加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[PHP] 中英双语网站的设计思路

发布时间:2021-05-21 06:54:15 所属栏目:大数据 来源: https://www.jb51.cc
导读:1. 前几天开发一个双语网站企业站?,实现思路大部分情况下,我们可以想到是使用一个语言包数组文件 . key和value的形式,我们在展示界面时,输出数组对应的key而不是固定写死这个值 大概的设计是这样的,有两个这样的PHP文件 cn.PHP en.PHP ? 里面就是返回一个数

1. 前几天开发一个双语网站企业站?,实现思路大部分情况下,我们可以想到是使用一个语言包数组文件 . key和value的形式,我们在展示界面时,输出数组对应的key而不是固定写死这个值

大概的设计是这样的,有两个这样的PHP文件

cn.PHP

en.PHP

?

里面就是返回一个数组

return array(

  'name'=>'姓名',

  'age'=>'年龄'

)

return array(

  'name'=>'Name',

  'age'=>'Age'

)

2. 当我需要在界面上显示内容的时候,需要首先根据我们自己的判断进行加载不同的语言包文件,这个判断可以在默认情况下使用浏览器的ua

if(IS_CHINESE)

$lang = require('languages/cn.PHP')

}else{

$lang = require('languages/en.PHP')

}

输出的时候直接使用这个数组 $lang['name']? $lang['age']

3. 而后端数据部分也是应该是双语的,那就要求我们在设计数据库的时候一定要加上英文内容的字段,比如 title? title_en

在查询的时候也是在判断后,取数据的sql里进行取不同的字段

if(IS_CHINESE)

  $sql="select title from article"

}else{

  $sql="select title_en as title from article"

}

这样才能做到数据部分也是双语的

4. 当前台选择不同的语言时,我们还是需要前端使用cookie记住当前的语言,PHP再去cookie中读取,加入到上面的判断语句之前,并且呢后台也要可以配置默认语言,预览效果可以看这里http://www.duzbearings.com?

if(isset($_COOKIE['lang'])){
  $lang = $_COOKIE['lang'];
}else{
  if($_CFG['siteDefaultLang'] == 'Auto'){
    if (strstr(strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']),'zh-cn') OR strstr(strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']),'zh-tw')){
      $lang = 'Chinese';
    }else{
      $lang = 'English';
    }
}else{
  $lang = $_CFG['siteDefaultLang'];
}

define('IS_CHINESE',($lang == 'Chinese') ? 1 : 0);

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读