Thinkphp php文件也外部js文件公用同一个语言包

一 . php语言包转json数据格式

1.新建验证字段的语言包 application\common\lang\validate-cn.php

<?php
// 验证字段语言包 中文
return [
'validate'=>[
'name' => [
'empty'=> '用户名不能为空',
'length' => '用户名长度6-20字符'
], 'email' => [
'empty' => '邮箱不能为空',
'format' => '邮箱格式不对'
],
'password'=>[
'empty' => '密码不能为空',
'format' => '密码长度为6-20字符'
],
]
];

2.zh-cn 导入语言包validate-cn.php数据

<?php
/**
* 全局语言包
* zh-cn
* */
$lang = include(APP_PATH . 'common/lang/validate-cn.php');;
$data = [
'success' =>'执行成功 ^_^',
'error' => '执行失败 (┬_┬)', 'confirm' =>[
'' => '是',
'' => '否',
], 'check' =>[
'' => '已审核',
'' => '未审核',
'' => '禁用'
],
'sex' =>[
'' => '保密',
'' => '男',
'' => '女'
]
]; return array_merge($lang,$data);

这么做的目的是把“常用语言包”和“字段验证语言包”方在不同的文件里,然后合并数据。在Thinkphp方法里面或者初始化的地方转json数据

public function _initialize()
{
// 实例化验证语言包
$lang = lang('validate');
$validate = json_encode($lang); // 转json字符串
$this->assign('validate',$validate);
}

并且把变量进行实例化,下面html页面会把实例化的变量传递个js (建议放在全局共享html页面),加入以下代码

<script>
// Thinkphp 语言包 传递个js
var language = '{$validate}';
</script>

二. 外部js接收php的json语言包数据 common.js

var lang=eval('('+language+')');
alert(lang.email.empty);

输出:邮箱不能为空

thinkphp 外部js语言包的更多相关文章

  1. thinkphp 3.23语言包加载

    模块home: 1.config 里添加 配置 //'配置项'=>'配置值'    'LANG_SWITCH_ON'   => true,      // 开启语言包功能    'LANG ...

  2. thinkphp语言包

    1.config.php语言包相关配置. //开启语言包 'LANG_SWITCH_ON' => true, 'LANG_AUTO_DETECT' => true, // 自动侦测语言 开 ...

  3. thinkphp 语言包丢失

    Thinkphp 语言包丢失 造成的原因有那些 1.复制模板 预览时内容出现英文状态 如:show.html 解决:找到lang ,在zh-cn 复制想对应的文件包 改下名称就有可以 如:admin_ ...

  4. ueditor的工具栏显示乱码解决方法 小问题.. 是你的页面编码与语言包js编码不符所导致的

    ueditor的工具栏显示乱码解决方法 小问题..  是你的页面编码与语言包js编码不符所导致的解决方法:用记事本将ueditor\..\lang\zh-cn\zh-cn.js打开,然后保存为ANSI ...

  5. 如何设置unobtrusive的语言包

    场景:网站是用的validate.unotrusive.js验证的,网站的语言已经切换到繁体了,但是提示语言还是英文. 环境:asp.net mvc4,jquery.validate.unotrusi ...

  6. 【jqGrid for ASP.NET MVC Documentation】.学习笔记.3.本地化语言包

    1 引用本地化语言包 在 js/i18n 文件夹中,提供了大量预定义的语言包.它包括为所有字符串定义的,包括消息,标题,分页信息,搜索/添加/删除 的对话框 文本等. 在jQuery库文件后,在jqG ...

  7. JS 语言核心(JavaScript权威指南第六版)(阅读笔记)

    前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分享本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思 ...

  8. Java知多少(76)语言包(java.lang)简介

    Java语言包(java.lang)定义了Java中的大多数基本类,由Java语言自动调用,不需要显示声明.该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型 ...

  9. ES6学习一 JS语言增强篇

    一 背景 JavaScript经过二十来年年的发展,由最初简单的交互脚本语言,发展到今天的富客户端交互,后端服务器处理,跨平台(Native),以及小程序等等的应用.JS的角色越来越重要,处理场景越来 ...

随机推荐

  1. Emacs文件命令

    [文件]----------------------------------------C-x C-f 读取文件到Emacs C-x r 只读的方式打开一个文件C-x C-q 清除一个窗口的只读属性 ...

  2. HTML 转义字符对照表

    http://tool.oschina.net/commons 字符 十进制 转义字符 " " " & & & < < < &g ...

  3. [转]python进行中文文本聚类(切词以及Kmeans聚类)

    简介 查看百度搜索中文文本聚类我失望的发现,网上竟然没有一个完整的关于Python实现的中文文本聚类(乃至搜索关键词python 中文文本聚类也是如此),网上大部分是关于文本聚类的Kmeans聚类的原 ...

  4. centosmini7安装GNOME

    1.在命令行下输入下面的命令来安装 Gnome 包 #:$sudo  yum groupinstall "GNOME Desktop" "Graphical Admini ...

  5. PHP——大话PHP设计模式——链式操作

  6. centos5中添加163yum源

    1.我们用linux系统的时候,经常需要使用yum.但是如果使用系统自带的yum源时,往往速度很慢,而且经常容易出错.其实国内有很多优秀的开源的yum源.比如(163,sohu,中科大).这里我以16 ...

  7. Android开发,使用背景图(xml drawable)为view 设置边框

    Android 开发中,遇到需要设置边框的情景,使用背景图来实现,代码如下: <layer-list xmlns:android="http://schemas.android.com ...

  8. centos7下部署elasticSearch集群

    OS:Centos7x虚拟机 1H2Gjdk:1.8elasticsearch:5.6.0 单节点配置请参考:centos7下elasticSearch安装配置 配置master节点 # 在配置文件的 ...

  9. MFC函数——CWnd::OnCreate

    CWnd::OnCreate afx_msg int OnCreate( LPCREATESTRUCT lpCreateStruct ); 返回值: OnCreate必须返回0以继续CWnd对象的创建 ...

  10. 浅谈C++中对象的复制与对象之间的相互赋值

    C++对象的复制 有时需要用到多个完全相同的对象,例如,同一型号的每一个产品从外表到内部属性都是一样的,如果要对每一个产品分别进行处理,就需要建立多个同样的对象,并要进行相同的初始化,用以前的办法定义 ...