天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php 中英文語言轉(zhuǎn)換類代碼

起初想到制成XML文檔形式,這樣操作也起來很容易。只是看到說XML效率不怎樣
再者就是不同的模板,可這樣也有個小問題,有些詞匯比如時間提示是不確定,與可能是minute ,day。也有可能復數(shù)加 s
那好吧,做成數(shù)組,可數(shù)組就得做成在php文件的變量,很難做些擴展(我所知道所認為的是這樣)
最后做成txt文本文件的形式,同樣也為這樣的效率擔心,打開文件,搜索字符串,截取字符串這些,所幸最后運行了一下,一般機子大概0.0004秒,這讓我很驚奇原以為會很慢,畢竟要調(diào)用多次。
好吧,上代碼
復制代碼 代碼如下:
class language
{
static $lanObject;
public $type; // unit , dashboard , menu ,other
public $lan; // language
private $special; // The common in the file
private function __construct()
{
if( isset($_GET['hl']) || isset($_POST['hl']) )
{
switch( isset($_GET['hl'])?$_GET['hl']:$_POST['hl'] )
{
case 'en':
$this->lan = 'en';
case 'zh':
$this->lan = 'zh';
case 'all':
$this->lan = 'all';
default:
$this->error();
}
}
else
$this->lan = isset($_COOKIE['hl']) ? $_COOKIE['hl']:'zh';
}
public static function getObject()
{
if( !(self::$lanObject instanceof self) )
self::$lanObject = new language();
return self::$lanObject;
}
public function lto($key) //$key is English
{
if( $this->lan !== 'zh' )
return $key;
if( empty($this->special) ) // if the $special is null
{
if( isset($this->type) )
$this->special = file_get_contents($this->type.'.txt');
else
return $key;
}
echo $this->search($key);
}
private function search($searchTozh) // php String
{
$key_start = strpos($this->special,$searchTozh);
$key_end = strpos($this->special,' ',$key_start);
$len_str = strlen($searchTozh);
$for_sub = $key_start + $len_str + 1;
return substr($this->special, $for_sub, $key_end - $for_sub);
}
}

strpos(); 是找到字符串第一次出現(xiàn)的位置 比如 ‘wo' 在 ‘hello world' 中,返回值為 6
substr();是截取字符串的一部分  
接下來是調(diào)試時加上的代碼
復制代碼 代碼如下:
$la = language::getObject();
$la->type = 'unit';
$la->lto('min');
echo '<br/>';
$la->lto('hello');

lto(這里面要翻譯的英文); 
unit.txt 文件的內(nèi)容格式是
hello-你好 min-小 minute-分鐘 minutes-分鐘
 
$special設計為全局也是想到不止一次會調(diào)用lto() ,如果反復加載文件太浪費性能了。
$type設計為公有是考慮到加載的文件的效率問題,有的時候并不需要顯示幾天前這些,所以不如把這些按使用類型分開,比如有專門負責菜單翻譯的menu.txt ,也有專門為操作,比如刪除,收藏 翻譯的txt文本。這樣可以自由設定要加載的文本
語言也可以自由設定。
好吧,程序還可以改進,我沒有按http請求中的客戶端語言來設置$lan

php技術php 中英文語言轉(zhuǎn)換類代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲国产第一区二区三区 | 国产精品嫩草影院在线观看免费 | 妓女嫖客叫床粗话对白 | 十分钟免费视频大全在线 | 国产午夜人成在线视频麻豆 | 伊人久久久久久久久久 | 好男人在线视频 | 性色AV一区二区三区V视界影院 | 国产精品人妻无码久久久奥特曼 | 国产精品久久久久婷婷五月色 | 亚洲人成在线播放网站岛国 | 亚洲精品第一页 | 美女18黄 | 精品国产在天天线在线麻豆 | 中文字幕AV亚洲精品影视 | 啊轻点灬大JI巴又大又粗 | 亚洲精品成A人在线观看 | 久久国产精品二区99 | 二次元美女扒开内裤喷水 | 美女用手扒开粉嫩的屁股 | 亚洲人成网站在线观看90影院 | 日本无码色哟哟婷婷最新网站 | 小鸟酱喷水| 19十主播福利视频 | 第一次破女初国产美女 | 欧美午夜精品久久久久久浪潮 | 免费女性裸身照无遮挡网站 | 国产人妻系列无码专区97SS | 久久99re66热这里只有精品 | www.青青草| 久久九九亚洲精品 | 秋霞三级理伦免费观看 | 久久中文字幕亚洲精品最新 | 女王黄金vk | 国产高清亚洲日韩字幕一区 | 97午夜精品 | 成年人免费在线视频观看 | 风车动漫(p)_在线观看官网 | 男女一边摸一边做羞羞的事情免费 | 午夜伦理网 | 国精产品999一区二区三区有限 |