# 多语言实现
### 多语言实现
- 界面多语言实现由PHP 与JS实现,JS上实现多语言的原因是在.js文件中存在中文。
- JS翻译使用 \_\_("key")形式翻译。
- PHP使用 \_\_("key") 统一是两个下划线,JS 与PHP的翻译函数是相同的。
- 语言包存在 messages/en\_US目录中,以en\_US英文为例。该目录下包含app.js app.php
- 分别对应JS的翻译,PHP的翻译。PHP直接以KEY=>VALUE数组形式返回
\*JS的代码如下格式。
```
<pre class="calibre14">```
var source <span class="token">=</span> <span class="token1">{</span>
<span class="token4">'en_US.app'</span><span class="token1">:</span> <span class="token1">{</span>
<span class="token4">'手机验证码错误'</span><span class="token1">:</span> <span class="token4">'Phone number is error'</span><span class="token1">,</span>
<span class="token5">//……更多key:value的形式翻译</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">;</span>
```
```
如何设置当前的语言。
```
<pre class="calibre14">```
<span class="token6">1.</span>messages<span class="token">/</span>I18N<span class="token1">.</span>php中 $language_id <span class="token">=</span> <span class="token4">"en_US"</span><span class="token1">;</span> 设置对应的语言包。
<span class="token6">2.</span>设置好后,将会生成对应的COOKIE<span class="token1">,</span>COOKIE名为lang_selected
<span class="token6">3.</span>在JS系统会自动判断当前的语言是什么。
```
```
页面中代码加载,实现JS翻译
```
<pre class="calibre14">```
<span class="token"><</span><span class="token">?</span>php include __DIR__<span class="token1">.</span><span class="token4">'/../translatejs.php'</span><span class="token1">;</span><span class="token">?</span><span class="token">></span>
```
```
需要在加载JQ之后,header之间。
文件参考ucenter的实现 `ucenter/ucenter/views/default/LoginCtl/regist.php`
JS需要的文件在
```
<pre class="calibre14">```
ucenter<span class="token">/</span>ucenter<span class="token">/</span>static<span class="token">/</span>default<span class="token">/</span>js<span class="token">/</span>lang<span class="token1">.</span>min<span class="token1">.</span>js
ucenter<span class="token">/</span>ucenter<span class="token">/</span>static<span class="token">/</span>default<span class="token">/</span>js<span class="token">/</span>jquery<span class="token1">.</span>cookie<span class="token1">.</span>js
ucenter<span class="token">/</span>ucenter<span class="token">/</span>static<span class="token">/</span>default<span class="token">/</span>js<span class="token">/</span>message<span class="token1">.</span>js
```
```
注意:
```
<pre class="calibre15">```
<span class="token">*</span> shop paycenter ucenter 前后台,语言是哪一种是由shop决定的,
<span class="token">*</span> 因此shop的messages目录的I18N<span class="token1">.</span>php代码是不能直接复制到其他目录下的,
<span class="token">*</span> 剩下的是可以通用的,相互之间的代码是一样的。
```
```
- 序言
- 系统要求
- 版本更新日志
- 远丰商城技术对接说明
- 开发指导
- 框架内容
- 基础
- 开发规范
- 目录结构
- 架构
- 架构总览
- 数据库
- 数据库连接
- 基本使用
- 缓存
- 配置
- 路由
- 数据字典
- ucenter
- shop
- paycenter
- ucenter_admin
- shop_admin
- paycenter_admin
- 通讯内容
- 商家中心
- 顶部导航栏
- 店铺信息栏
- 店铺及商品提示栏
- 交易提示栏
- 销售情况统计栏
- 单品销量排行栏
- 店铺运营推广栏
- 平台联系方式栏
- 订单物流
- 商品
- 商品列表
- 商品详情
- 商品发布与编辑
- 分销商品
- 关联版式
- 商品规格
- 图片空间
- 淘宝导入
- 订单流程
- 交易订单
- 订单退款/退货
- 促销
- 团购管理
- 加价购
- 限时折扣
- 满即送
- 代金券管理
- 分销
- 店铺
- 店铺设置
- 自销产品供应商
- 实体店铺
- 品牌申请
- 店铺信息
- 消费者保障服务
- 门店账号
- 分销商--产品供应商
- 分销明细
- 批发市场
- 售后服务
- 咨询管理
- 投诉管理
- 退款管理
- 退货管理
- 云方案架构
- 负载集群
- 云存储
- 接口
- Api接口说明
- 品牌
- 商品规格
- 商品类型
- 商品分类
- 商品
- 订单
- 商品/店铺收藏
- 足迹
- 退款及退货
- 商家店铺
- 会员
- 入驻协议
- 订单接口
- 商品接口
- 订单物流接口
- 商家中心接口
- 促销接口
- 快递鸟物流接口
- 代金券接口
- 首页版块
- 团购
- 平台红包
- 限时折扣接口
- 拼团接口
- wap首页模板
- 杂项
- 远程上传图片
- JS
- 银联支付
- 多语言
- 商品评分
- 图片加载
- 买家申请退款退货
- 商家退款退货
- 平台退款退货
- 添加发票
- 提交订单
- 确认订单
- 运费销售区域
- 获取会员地址
- 充值
- 导出XLS
- 商城系统集成
- 多语言实现
- 三级分销推广链接发展推广员
- app.ini.php
- 去分销
- 版本更新
- 物流支持
- 运营人员建议
- 业务逻辑
- 统计结算
- 客服消息
- 账号
- 三级分销
- IM
- 配置
- 平台帐号
- 活动数据表说明