中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Thinkphp3.2.3多語言翻譯以及使用百度翻譯的示例分析

發布時間:2021-09-06 14:20:27 來源:億速云 閱讀:111 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關Thinkphp3.2.3多語言翻譯以及使用百度翻譯的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

一、Thinkphp多語言翻譯

首先在Common/conf/config.php文件中寫入如下內容:

<?php
return array(
    //'配置項'=>'配置值'
    //語言包配置
    'LANG_SWITCH_ON' => true, // 開啟語言包功能
    'LANG_AUTO_DETECT' => true, // 自動偵測語言 開啟多語言功能后有效
    'LANG_LIST' => 'zh-cn,en-us,zh-tw', //必須寫可允許的語言列表
    'VAR_LANGUAGE' => 'l', // 默認語言切換變量
);
?>

然后在Common/conf文件夾下新建一個tags.php文件,寫入內容:

<?php
/**
 * 語言包配置文件
 */
return array(
    // 添加下面一行定義即可
    'app_begin'     => array('Behavior\CheckLangBehavior'),  
);
?>

當然還要寫入自己的語言包文件,在Think/Lang/下面有四個語言包文件,你可以在這四個或新建語言包文都可以,或者你在模塊下面新建一個Lang文件夾,比如Home/Lang,在下面新增zh-cn.php,en-us.php等等語言包文件。簡體中文語言包可以這樣寫如下:

<?php

/**
 * 簡體中文語言包
 */
return array(
    '_Login' => "登錄",
);

英文語言包可以這樣寫如下:

<?php

/**
 * 英文語言包
 */
return array(
    '_Login' => "Login",
);

然后隨便在一個頁面,寫入如下內容:

{$Think.lang._Login}

最后在瀏覽器訪問該頁面,即可看到,比如在地址欄輸入如下URL:

http://localhost/index.php?l=zh-cn
http://localhost/index.php?l=en-us

這樣就可以看到中英文切換了,大家可以自己試一試。

二、使用百度翻譯

我這里說的百度翻譯并不是在http://fanyi.baidu.com/這個網址中輸入內容點擊翻譯這樣的,這里我是以代碼的形式利用CURL進行翻譯的。

翻譯文件放在/Home/Common/function.php中,內容如下:

<?php
class Translate {
    /**
     * 支持的語種
     * @var ArrayAccess
     */
    static $Lang = Array (
        'auto' => '自動檢測',
        'en' => '英語',
        'zh' => '中文',
        'cht' => '中文繁體',
    );
    /**
     * 獲取支持的語種
     * @return array 返回支持的語種
     */
    static function getLang() {
        return self::$Lang;
    }
    /**
     * 執行文本翻譯
     * @param string $text 要翻譯的文本
     * @param string $from 原語言語種 默認:中文
     * @param string $to 目標語種 默認:英文
     * @return boolean string 翻譯失敗:false 翻譯成功:翻譯結果
     */
    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 );
        // 出錯狀態碼 999
        if ($result ['error']) {
            return false;
        }
        return $result ['trans_result'] ['data'] ['0'] ['dst'];
    }
}
?>

大家可以根據自己的需求對其進行修改。

echo Translate::exec ( "大家好","zh",“en”); //這里輸出是:Hello everyone

這樣就翻譯成功了。

關于“Thinkphp3.2.3多語言翻譯以及使用百度翻譯的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿城市| 泰来县| 新余市| 鸡东县| 武宁县| 招远市| 大方县| 宝丰县| 沂源县| 崇义县| 宜兰县| 上林县| 方山县| 六盘水市| 南阳市| 报价| 宁阳县| 托里县| 岳阳市| 南投县| 博爱县| 荔波县| 山阴县| 高安市| 昌宁县| 清徐县| 徐州市| 江陵县| 栾川县| 荆州市| 泰宁县| 徐闻县| 沾化县| 邹城市| 济宁市| 成武县| 苏尼特右旗| 腾冲县| 奉化市| 巴青县| 安庆市|