[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);

posted @   唯一客服系统开发笔记  阅读(1086)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2016-03-31 [javaEE] web应用的目录结构&配置虚拟主机
2016-03-31 [android] 代码注册广播接收者&利用广播调用服务的方法
2016-03-31 [android] 采用aidl绑定远程服务
2016-03-31 [Linux] Linux的环境变量
点击右上角即可分享
微信分享提示
1
chat with us