国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php 中英文語言轉(zhuǎn)換類

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

2019-12-11 13:37php教程網(wǎng) PHP教程

想做個中英文的功能試一下,只是把一些常用且有規(guī)律的詞匯比如 ‘評論’ ,時間單位(幾秒幾小時前這些)可以自由的轉(zhuǎn)化。

起初想到制成XML文檔形式,這樣操作也起來很容易。只是看到說XML效率不怎樣 
再者就是不同的模板,可這樣也有個小問題,有些詞匯比如時間提示是不確定,與可能是minute ,day。也有可能復(fù)數(shù)加 s 
那好吧,做成數(shù)組,可數(shù)組就得做成在php文件的變量,很難做些擴展(我所知道所認為的是這樣) 
最后做成txt文本文件的形式,同樣也為這樣的效率擔(dān)心,打開文件,搜索字符串,截取字符串這些,所幸最后運行了一下,一般機子大概0.0004秒,這讓我很驚奇原以為會很慢,畢竟要調(diào)用多次。 
好吧,上代碼 

復(fù)制代碼代碼如下:


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)試時加上的代碼 

復(fù)制代碼代碼如下:


$la = language::getObject(); 
$la->type = 'unit'; 
$la->lto('min'); 
echo '<br/>'; 
$la->lto('hello'); 


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

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲一区在线观看视频 | 黄色片视频在线观看免费 | 综合色av | 成人精品免费视频 | 一区二区国产视频 | 久久精品亚洲精品 | 欧美一级片在线 | 国产成人av在线播放 | 国产伊人av | 欧美日韩国产一区二区三区 | 亚洲高清在线观看 | 久久综合久久久 | 日韩成人在线播放 | 日韩高清一区 | 亚洲视频在线观看视频 | 久久视频免费看 | 久久久久久99 | 国产免费视频 | 亚洲欧美在线视频 | 国产激情网| 一级做a| 久久青青 | 午夜欧美精品久久久久 | 国产毛片区 | 91精品久久久久久久久 | 99精品国产热久久91蜜凸 | 久久国产精品久久久久久电车 | 久久久久久九九九 | 黄色高清网站 | 久久成人精品 | 欧美成人自拍 | а√天堂中文在线资源8 | 日本一区二区在线播放 | 依人九九宗合九九九 | 黄色免费网站在线观看 | 久久精品国产亚洲 | 国产欧美一二三区在线粉嫩 | 久久久999国产 | 久在线视频 | 日韩在线播放一区二区 | 九九热精品视频在线观看 |