- 浏览: 1740292 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (641)
- vb2005xu自己动手系列 (174)
- vb2005xu开发文章转摘 (47)
- vb2005xu发发牢骚 (99)
- vb2005xu新技术灌水 (12)
- vb2005xu网络资源集锦 (21)
- vb2005xu软件学习 (60)
- 英语学习 (3)
- JavaScript 学习 (54)
- JAVA OOP 巩固 之 CustomDatabase 的开发 (5)
- 2013年9月之前所在公司 记事 (7)
- FleaPHP/QEEPHP 资料 (87)
- JAVA MAIL 学习篇 (4)
- Python turbogears (5)
- Rails 个人开发四部曲 (3)
- 名人传 (8)
- iwp framework (5)
- 高考零分作文 (5)
- startos (8)
- lua (0)
- 职场 (1)
最新评论
-
hellotieye:
自己 评论 自己 挺嗨呀
Mysql sql查询时 if 的用法 -
igevin:
转载请标明出处,转自Gevin的博客http://blog.i ...
RESTful API 编写指南 -
Theobob:
...
实现简单的ACL -
vb2005xu:
比如 对于 curl 调用就不再需要 加各种if 判断了,
$ ...
搞一个简单的数据打印工具AsDebug の Laravel -
vb2005xu:
http://geekplux.com/wiki/
YII2 模块内自定义错误页
<?php /** * 国际化多语言组件 */ class xser_languages { private $_dict ,$_dict_files ; public function __construct(){ $this->_dict = array(); $this->_dict_files = array(); } public function load($dict,$language = ''){ $language = $this->get_language($language); $abs_fpath = "{$language}/{$dict}" ; $fdict = xser::ini('application_dir') . "/language/{$abs_fpath}"; // 预防重复加载 if (in_array($abs_fpath,$this->_dict_files)) return ; if (file_exists($fdict) && is_readable($fdict)){ $dict = include($fdict) ; if (!is_array($dict)) $dict = array(); if (isset($this->_dict[$language])) $this->_dict[$language] = array_merge($this->_dict[$language],$dict); else $this->_dict[$language] = $dict; // 将已经加载的字典文件储存 $this->_dict_files[] = $abs_fpath ; return ; } throw new Exception("cannot read language dict file:{$abs_fpath}"); } private function get_language($language = ''){ if (!xser::varify_provider()->not_null_string($language)) $language = xser::ini('i18n_default_language') ; return strtolower($language) ; } public function get($key, $language=''){ $language = $this->get_language($language); if (isset($this->_dict[$language])) if (isset($this->_dict[$language][$key])) return $this->_dict[$language][$key] ; return null ; } }
if (xser::ini('i18n_multi_languages')) // 启用多语言支持 { // 加载多语言引擎类 if (!xser::is_register('i18n_multi_languages')){ xser::loadlibrary('languages','xser'); xser::register(new xser_languages(),'i18n_multi_languages'); } // 获取翻译 function xser_translate($key ,$language=''){ return xser::singleton_alias('i18n_multi_languages')->get($key, $language); } // 载入语言字典文件 function xser_load_language($dict ,$language='' ,$extname='.php'){ return xser::singleton_alias('i18n_multi_languages')->load("{$dict}{$extname}", $language); } }
新版本:
<?php /** * 国际化多语言组件 * // 获取翻译 xser::translate('ui/admin/title') */ class xser_languages { const g_conf_key = '__xser#i18n_multi_languages' ; protected $_dict_files ; public function __construct(){ xser::replaceIni(g_conf_key,array()); $this->_dict_files = array(); } public function load($dict_name,$language='',$fdict_extname='.php'){ $language = $this->get_language($language); $abs_fpath = "{$language}/{$dict_name}{$fdict_extname}" ; $fdict = xser::ini('application_dir') . "/language/{$abs_fpath}"; // 预防重复加载 if (in_array($abs_fpath,$this->_dict_files)) return ; if (file_exists($fdict) && is_readable($fdict)){ $dict = include($fdict) ; if (!is_array($dict)) $dict = array(); // 定义数据结构 xser::changeIni(g_conf_key,array( $language => array( $dict_name => $dict ) )); // 将已经加载的字典文件储存 $this->_dict_files[] = $abs_fpath ; return ; } throw new Exception("cannot read language dict file:{$abs_fpath}"); } protected function get_language($language = ''){ if (!xser::varify_provider()->not_null_string($language)) $language = xser::ini('i18n_default_language') ; return strtolower($language) ; } // 只接受字符串格式的key,对于层次化的key,可以在 $key 中使用/符号来指定 public function get($key, $language=''){ if (!xser::varify_provider()->not_null_string($key)) return null ; $language = $this->get_language($language); $_key = g_conf_key . "/{$language}/{$key}" ; $value = xser::ini($_key,'__xser#null'); if ($value === '__xser#null') return htmlspecialchars("{{$key}}"); return $value ; } } language/utf8-zh/ui.php <?php /** * 中文版 国际化资源文件 */ // xser::translate('ui/admin/title'); return array( 'admin' => array( 'title' => 'Time In China 后台管理系统' , 'welmsg' => ' 您好,感谢登陆使用!', 'logout' => '您已经成功退出了登录。', 'invalid' => array( 'imgcode' => '您输入的验证码无效,或者验证码已经过期。请重新登录。', 'username' => '您输入的用户名不存在,请检查后重新登录。', 'password' => '您输入的密码不正确,请检查后重新登录。', ) ) , 'site' => 'http://www.timeinchina.com' , 'version' => 'Copyright © 2009-2011 www.timeinchina.com' , 'username' => '管理员:', 'password' => '密码:', 'imgcode' => '验证码:', 'submit' => ' 登 陆 ', 'cancel' => ' 取 消 ', 'languages' => '界面语言:', );
发表评论
-
ws-http 最简单轻量的PHP CURL工具库
2016-07-29 20:44 2541欢迎大家拍砖 https://github.com/to ... -
Facade 包装类 -- 解决视图里面长长的命名空间调用问题
2016-04-20 10:48 1641有时候模版里面定义 ... -
PHP单例模式面试注意事项
2015-10-20 09:57 1888最近面了不少PHP从业者,有实习生也有5/6年以上的开发者 ... -
NGINX 配置 SSL 证书 搭建 HTTPS 网站
2015-10-19 19:19 2851下面是详细的配置过程: 1、在服务器上使用 Open ... -
关于php cron任务管理的实现假想
2015-10-17 21:25 1815之前每开发一个计划任务功能均需要在线上操作crontab来新 ... -
修改一些PHP工具
2014-10-24 19:27 1738原来的代码 在非框架下是木有问题的,但是用在框架下就报错, ... -
sublime text linux上中文输入问题的终极解决方案
2014-10-13 11:07 8501我一直在使用sublime text ... -
qeephp3.0 发布了
2014-10-07 17:21 1651QeePHP 是一个快速、灵活的开发框架。应用各种成熟的架构 ... -
swiftmailer 的快捷助手 qser-mailer
2014-09-09 23:52 3538近日在对charsen的修改版上进行了再次的修改与调整,对 ... -
PHP 中简单的伪造IP刷票实现
2014-05-15 17:06 2668一般而言,我们的获取用户真实ip的代码大致是这样... / ... -
PHP5.5 htmlspecialchars 返回null的坑
2014-04-25 12:23 2559昨天在写 PDO数据库封装类的 测试代码时遇到这个问题,取 ... -
PHP 5.5 empty + 魔术变量 的坑
2014-04-16 15:53 1552今天在测试代码时遇到这么一个疑问? dump((in ... -
Aert_Log: 设计一个精简易用的日志
2014-04-13 18:28 2398日志记录对于应用的 ... -
创建一个简单的短链服务类
2013-07-01 18:20 1312整理一个简单的短链算法,整理到自己的代码库中: &l ... -
收集常用的PHP简单代码
2013-06-30 17:53 1999对于日常工作中整理出来的某些功能做个简单梳理: 1 ... -
简易PHP路由,支持正反向url解析支持
2013-06-21 22:23 8161几年前实现了一个简单的正向路由,那时候不会写反向路由解析, ... -
系统学习のCACHE 学习
2012-11-21 13:58 1835http://www.phpfans.net/article/ ... -
YY 下 sql查询封装类 不知道好不好使
2012-07-18 16:44 1280<?php class Pkg_Db_Actor { ... -
生成后台管理菜单 admin_menu 类
2012-05-05 18:27 4580<?php /** * 管理菜单 * */ ... -
抽取个sql生成器工具 -- 摘自 fuelphp1.1 版本
2012-04-25 20:17 1179<?php /** * Sql 创造者类 * ...
相关推荐
CH34XSER驱动(一些ESP32开发板需要该驱动),安装后需重启。 (该zip文件下有英文版驱动安装教程)
NULL 博文链接:https://vb2005xu.iteye.com/blog/618326
在网上找了半天才找到的ch340的mac驱动程序,前天买了一块arduino的板子,发现上边的USB转串口芯片用的是ch340的,windows7下可以自动安装驱动,但是在mac系统下发现找不到arduino的板子,找了半天才找到这个驱动。...
2024-2030全球及中国PCB接触式探头行业研究及十五五规划分析报告
网站界面设计mortal0418代码
PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为毕设使用。项目都经过严格调试,确保可以运行! PHP毕业设计-校园失物招领系统源码+数据库.zip个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可
2024年神经酸行业分析报告.pptx
【Java爬虫】信息抓取的实现 完整实例(源码)
rain-drop.PNG
FEDformer.pdf
基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资源交流系统:毕业源码案例设计.rar基于ASP.NET三层模式的网上学习资
完整代码!扫雷游戏,vs2010使用vs2010开发小游戏,这是一个扫雷的游戏,适应于大作业和毕业论文.zip
JDK 8 0 apidoc 带完整索引和目录
可以进行模拟银行服务,有多种功能。
校园共享单车管理系统 软件工程做的课程设计,里面是JSP源码,后台连接数据库,可直接调试运行成功。
去水印版,aspose.words-19.7-jdk17.jar、aspose-words-19.7.pom
NKUcs22级机器学习实验全套代码于此,希望造福学弟学妹。
springboot校园医疗保险管理系统
QPSK的锁相环程序,在MATLAB环境下编写的,用来进行QPSK通信系统的仿真和实际信号载波同步的提取
stm32项目知识领域: 网络安全 技术关键词: 漏洞分析、渗透测试、加密算法 内容关键词: 攻击防范、身份验证、网络流量分析 用途: 学习保护信息系统免受恶意攻击和数据泄露 资源描述: "OWASP官方网站"提供了全面的网络安全知识和工具,包括常见漏洞、安全指南和最佳实践。