Baidu 翻訳インターフェイス クラス
- /**
- * Baidu デベロッパー センター: http://developer.baidu.com/
- * Baidu 翻訳 API: http://developer.baidu.com/wiki/index.php?title=docs
- */
- class baiduAPI{
- /**
- * $from : ソース言語: 言語
- * $to : ターゲット言語: 言語コードまたは自動
- */
- static public function fanyi($value, $from="auto" , $to="auto")
- {
- $value_code=urlencode($value);
- #まず翻訳するテキストに対してurlencode処理を行います
- $appid="Ow83extUdl2zLm94s7ldkw5D";
- #登録したAPIキー
- $ languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" . $appid ."&q=" .$value_code. "&from=".$from."&to=".$to;
- #翻訳 API の URL GET アドレスを生成します
- $text=json_decode(self:: language_text($ languageurl));
- $text = isset($text->trans_result) : '' ;
- return isset($text[0]->dst) ? $text[0]->dst : '';
- }
-
- #ターゲット URL によって出力されるコンテンツを取得する
- static function language_text($url)
- {
- if(!function_exists('file_get_contents')) {
- $file_contents = file_get_contents($url);
- } else {
- $ch =curl_init();
- $timeout = 5;
- curl_setopt ($ch, CURLOPT_URL, $url) ;
- curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
- $file_contents =curl_exec($ch);
- curl_close($ch);
- }
- return $file_contents ;
- }
- }
コードをコピー
例1、(中国語から英語)
- # 翻訳する必要があるコンテンツを定義します
- $title = 'Hello';
-
- # 中国語の文字であるかどうかを確認します(gb2312、utf-8 と互換性あり)
- if (preg_match("/[x7f-xff]/", $title)) {
- $title = baiduAPI::fanyi($title, $from="zh", $to ="en");
- } else {
- $title = baiduAPI::fanyi($title, $from="en", $to="zh");
- $title = iconv('utf-8', ' gbk', $title);
- }
-
- # 結果出力 Hello
- echo $title;
- exit;
コードをコピー
例 2、(英語から中国語)
- # 必要なコンテンツを定義します翻訳済み
- $title = 'Hello';
-
- # 漢字かどうかを確認(gb2312、utf-8と互換性あり)
- if (preg_match("/[x7f-xff]/", $title)) {
- $title = baiduAPI::fanyi($title, $from="zh ", $to="ja");
- } else {
- $title = baiduAPI::fanyi($title, $from="ja", $to= "zh");
- $title = iconv('utf- 8', 'gbk', $title);
- }
-
- # 結果出力 Hello
- echo $title;
- exit;
コードをコピー
|