這篇文章將為大家詳細(xì)講解有關(guān)Thinkphp3.2.3多語言翻譯以及使用百度翻譯的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供隰縣網(wǎng)站建設(shè)、隰縣做網(wǎng)站、隰縣網(wǎng)站設(shè)計(jì)、隰縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、隰縣企業(yè)網(wǎng)站模板建站服務(wù),十多年隰縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
一、Thinkphp多語言翻譯
首先在Common/conf/config.php文件中寫入如下內(nèi)容:
<?php return array( //'配置項(xiàng)'=>'配置值' //語言包配置 'LANG_SWITCH_ON' => true, // 開啟語言包功能 'LANG_AUTO_DETECT' => true, // 自動(dòng)偵測語言 開啟多語言功能后有效 'LANG_LIST' => 'zh-cn,en-us,zh-tw', //必須寫可允許的語言列表 'VAR_LANGUAGE' => 'l', // 默認(rèn)語言切換變量 ); ?>
然后在Common/conf文件夾下新建一個(gè)tags.php文件,寫入內(nèi)容:
<?php /** * 語言包配置文件 */ return array( // 添加下面一行定義即可 'app_begin' => array('Behavior\CheckLangBehavior'), ); ?>
當(dāng)然還要寫入自己的語言包文件,在Think/Lang/下面有四個(gè)語言包文件,你可以在這四個(gè)或新建語言包文都可以,或者你在模塊下面新建一個(gè)Lang文件夾,比如Home/Lang,在下面新增zh-cn.php,en-us.php等等語言包文件。簡體中文語言包可以這樣寫如下:
<?php /** * 簡體中文語言包 */ return array( '_Login' => "登錄", );
英文語言包可以這樣寫如下:
<?php /** * 英文語言包 */ return array( '_Login' => "Login", );
然后隨便在一個(gè)頁面,寫入如下內(nèi)容:
{$Think.lang._Login}
最后在瀏覽器訪問該頁面,即可看到,比如在地址欄輸入如下URL:
http://localhost/index.php?l=zh-cn http://localhost/index.php?l=en-us
這樣就可以看到中英文切換了,大家可以自己試一試。
二、使用百度翻譯
我這里說的百度翻譯并不是在http://fanyi.baidu.com/這個(gè)網(wǎng)址中輸入內(nèi)容點(diǎn)擊翻譯這樣的,這里我是以代碼的形式利用CURL進(jìn)行翻譯的。
翻譯文件放在/Home/Common/function.php中,內(nèi)容如下:
<?php class Translate { /** * 支持的語種 * @var ArrayAccess */ static $Lang = Array ( 'auto' => '自動(dòng)檢測', 'en' => '英語', 'zh' => '中文', 'cht' => '中文繁體', ); /** * 獲取支持的語種 * @return array 返回支持的語種 */ static function getLang() { return self::$Lang; } /** * 執(zhí)行文本翻譯 * @param string $text 要翻譯的文本 * @param string $from 原語言語種 默認(rèn):中文 * @param string $to 目標(biāo)語種 默認(rèn):英文 * @return boolean string 翻譯失敗:false 翻譯成功:翻譯結(jié)果 */ static function exec($text, $from = 'zh', $to = 'en') { $url = "http://fanyi.baidu.com/v2transapi"; $data = array ( 'from' => $from, 'to' => $to, 'query' => $text ); $data = http_build_query ( $data ); $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_REFERER, "http://fanyi.baidu.com" ); curl_setopt ( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:37.0) Gecko/20100101 Firefox/37.0' ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_TIMEOUT, 5 ); $result = curl_exec ( $ch ); curl_close ( $ch ); $result = json_decode ( $result, true ); // 出錯(cuò)狀態(tài)碼 999 if ($result ['error']) { return false; } return $result ['trans_result'] ['data'] ['0'] ['dst']; } } ?>
大家可以根據(jù)自己的需求對其進(jìn)行修改。
echo Translate::exec ( "大家好","zh",“en”); //這里輸出是:Hello everyone
這樣就翻譯成功了。
關(guān)于“Thinkphp3.2.3多語言翻譯以及使用百度翻譯的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
當(dāng)前文章:Thinkphp3.2.3多語言翻譯以及使用百度翻譯的示例分析
URL鏈接:http://aaarwkj.com/article30/pjdhso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、Google、虛擬主機(jī)、動(dòng)態(tài)網(wǎng)站、網(wǎng)站策劃、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)