这样看来貌似是加密解密!
加密后的结果就算不是汉字了!
多语言网站解决方案 php
前言:
多语言网站开发,重点的还是在解决语言之间的问题.
那如何解决这个问题呢?大概就分三步走:
①页面多语言
②数据库多语言
③用户访问语言统一
需要考虑的问题:
A.用户登陆时候,自动识别字符,调用不同的语言包?
B.用户切换不同语言时候,调用不同的语言包?
C.增加多语言后的目录结构?
页面多语言也就是外观的多语言化,这里可以采用静态的语言包的方式.
设计时候就应该包括language的目录,针对不同语言有独立的子目录.
每个目录下就包含了对每个页面的语言版本.选择语言版本时候就可以调用相应版本的语言包.
具体做法:
0.利用js语言,识别浏览器语言,在调用不同的语言包.
①language/en/global.ln是针对英文版的全局语言包.
②global.ln 内容为:
$title = "English webstie";
③index.php调用:
php
require_once()
;
html;
head;
title;$titletitle;
meta http-equiv="content-type" content="text/html;charset=$charset";
/head;
body;/body;
/html;
这样通过扩展就可以实现页面的多语言化.
这个考虑的问题:
A.后台录入数据的多语言化?
B.用户在不同版本下,提交的内容,如何保存?
C.提供三种语言包,还是提供英文和简体,简体通过转化提供繁体?
属于什么语言版本的文字.
具体:
A.对于后台添加的问题:
但在某个版本下,就搜索属于这个版本的文字来显示.其他文字不显示.
DROP TABLE IF EXISTS +zz_importer+;
CREATE TABLE IF NOT EXISTS +zz_importer+ (
+importID+ int(11) NOT NULL auto_increment,
+importTime+ date NOT NULL default '0000-00-00',
+improtfile+ varchar(100) NOT NULL default '',
+importlanguage+ varchar(100) NOT NULL default ''
PRIMARY KEY (+importID+)
③简体转化的繁体.
利用php的iconv.此过程对于linux/unix有效,对于windows无效.
INSERT INTO +zz_importer+ VALUES (,'', '', 'en');
INSERT INTO +zz_importer+ VALUES (,'', '', 'gb');
B.对于用户添加的问题:
方式浏览页面.
③添加数据时候,要分别用gb来标识语言版本
C.对于简体和繁体是单独提供还是转化问题
单独提供 - 比较符合多语言的标准,灵活性大,对ISP没有特别的要求.
转化提供 - 提交速度会受影响,同时要ISP提供iconv的函数支持.
A.假设用户简体中文版时候:
所有语言版本都是这样.
B.调用language/gb的语言包.
C.搜索数据库有语言字段为gb的数据,并显示
D.当用户提交信息,参照上面数据库多语言的B问题.
语言配置文件的问题 先在语言配置文件中定义好,不同语言环境下要显示的内容 (比如中文cn.php中$country= '中国',而英文en.php中$country='china') 而在页面中要显示的内容不直接显示,而是用变量替换 (在页面中,如果单一中文时,你直接写'中国' 现在双语言了,你就写$country) 在在页面头部根据用户提交的语言,include相应的语言配置文件 当然如何用户刚打开页面显示什么呢,所以要设置一个默认语言 (如 if( !$_COOKIE['lang'] ) include 'cn.php'; ) 原理就这样吧
做个多套语言包....
比如页面里 登陆 这个按钮... 你可以用 A代替... lang(A)
然后语言包里 汉语 A = '登陆' 英语 A = 'login'
我用一维数组写个实例,看懂了再自己去改:
//数组
$info = array(
'id' = '1',
'content' = '土嘎嘎的粉丝们大家好',
'en_content' = 'welcome'
);
//循环对比
foreach($info as $key = $value){
if ( ereg('['.chr(0xa1).'-'.chr(0xff).']', $value) ){ //判断是不是纯中文,是为 true
//是纯中文时,去相应的语言包中做对比,查找当前的中文 $value 对应的英文是什么,并把找到的英文替换掉当前这个中文
$info[$key] = '匹配成功后的英文';
}elseif ( ereg('[a-zA-Z]', $value) ){ //判断是不是纯英文,是为true
//是纯英文时,去相应的语言包中做对比,查找当前的英文 $value 对应的中文是什么,并把找到的中文替换掉当前这个英文
$info[$key] = '匹配成功后的中文';
}else{
// echo '既不是纯中文,也不是纯英文,可能有数字混在其中,或者是id 值';
}
return $info; //最后直接返回$info 即为中英文互换后的数组
以上就是土嘎嘎小编为大家整理的中英文转换php相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!