1.php网站中英文切换
2.PHP中有没有方法把中文字转换为汉语拼音?
php网站中英文切换
多语言网站解决方案 php
前言:
多语言网站开发,中英中文重点的源码译成还是在解决语言之间的问题。
那如何解决这个问题呢?大概就分三步走:
1.页面多语言
2.数据库多语言
3.用户访问语言统一
1.页面多语言
需要考虑的码翻elicpse的源码插件问题:
A.用户登陆时候,自动识别字符,软件调用不同的中英中文事件调用源码语言包?
B.用户切换不同语言时候,调用不同的源码译成javac源码解读语言包?
C.增加多语言后的目录结构?
页面多语言也就是外观的多语言化,这里可以采用静态的码翻语言包的方式。
设计时候就应该包括language的软件目录,针对不同语言有独立的中英中文子目录。
如英文language/en ,源码译成简体中文language/gb,繁体中文language/b5 (可以扩展其他语言)
每个目录下就包含了对每个页面的语言版本。选择语言版本时候就可以调用相应版本的码翻语言包。
具体做法:
0.利用js语言,软件识别浏览器语言,中英中文jepaas源码说明在调用不同的源码译成语言包.
1.language/en/global.ln是针对英文版的全局语言包。
2.global.ln 内容为:
$title = "English webstie";
$charset = "UTF-8";
3.index.php调用:
<?码翻成都源码就业php
require_once()
>;<html>;
<head>;
<title>;$title<title>;
<meta bine($_TDataKey, $_TDataValue) : _Array_Combine($_TDataKey, $_TDataValue);
arsort($_Data);
reset($_Data);
if($_Code != 'gb') $_String = _U2_Utf8_Gb($_String);
$_Res = '';
for($i=0; $i<strlen($_String); $i++)
{
$_P = ord(substr($_String, $i, 1));
if($_P>) { $_Q = ord(substr($_String, ++$i, 1)); $_P = $_P* + $_Q - ; }
$_Res .= _Pinyin($_P, $_Data);
}
return preg_replace("/[^a-z0-9]*/", '', $_Res);
}
function _Pinyin($_Num, $_Data)
{
if ($_Num>0 && $_Num< ) return chr($_Num);
elseif($_Num<- || $_Num>-) return '';
else {
foreach($_Data as $k=>$v){ if($v<=$_Num) break; }
return $k;
}
}
function _U2_Utf8_Gb($_C)
{
$_String = '';
if($_C < 0x) $_String .= $_C;
elseif($_C < 0x)
{
$_String .= chr(0xC0 | $_C>>6);
$_String .= chr(0x | $_C & 0x3F);
}elseif($_C < 0x){
$_String .= chr(0xE0 | $_C>>);
$_String .= chr(0x | $_C>>6 & 0x3F);
$_String .= chr(0x | $_C & 0x3F);
} elseif($_C < 0x) {
$_String .= chr(0xF0 | $_C>>);
$_String .= chr(0x | $_C>> & 0x3F);
$_String .= chr(0x | $_C>>6 & 0x3F);
$_String .= chr(0x | $_C & 0x3F);
}
return iconv('UTF-8', 'GB', $_String);
}
function _Array_Combine($_Arr1, $_Arr2)
{
for($i=0; $i<count($_Arr1); $i++) $_Res[$_Arr1[$i]] = $_Arr2[$i];
return $_Res;
}
//用法:
//第二个参数留空则为gb编码
//echo Pinyin('百度知道');
//第二个参数随意设置则为utf-8编码
echo Pinyin('百度知道',1);
>