ホームページ  >  記事  >  バックエンド開発  >  Baidu 翻訳インターフェースの使用例

Baidu 翻訳インターフェースの使用例

WBOY
WBOYオリジナル
2016-07-23 08:54:471660ブラウズ
Baidu 翻訳インターフェイス クラス
  1. /**
  2. * Baidu デベロッパー センター: http://developer.baidu.com/
  3. * Baidu 翻訳 API: http://developer.baidu.com/wiki/index.php?title=docs
  4. */
  5. class baiduAPI{
  6. /**
  7. * $from : ソース言語: 言語
  8. * $to : ターゲット言語: 言語コードまたは自動
  9. */
  10. static public function fanyi($value, $from="auto" , $to="auto")
  11. {
  12. $value_code=urlencode($value);
  13. #まず翻訳するテキストに対してurlencode処理を行います
  14. $appid="Ow83extUdl2zLm94s7ldkw5D";
  15. #登録したAPIキー
  16. $ languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" . $appid ."&q=" .$value_code. "&from=".$from."&to=".$to;
  17. #翻訳 API の URL GET アドレスを生成します
  18. $text=json_decode(self:: language_text($ languageurl));
  19. $text = isset($text->trans_result) : '' ;
  20. return isset($text[0]->dst) ? $text[0]->dst : '';
  21. }
  22. #ターゲット URL によって出力されるコンテンツを取得する
  23. static function language_text($url)
  24. {
  25. if(!function_exists('file_get_contents')) {
  26. $file_contents = file_get_contents($url);
  27. } else {
  28. $ch =curl_init();
  29. $timeout = 5;
  30. curl_setopt ($ch, CURLOPT_URL, $url) ;
  31. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  32. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  33. $file_contents =curl_exec($ch);
  34. curl_close($ch);
  35. }
  36. return $file_contents ;
  37. }
  38. }
コードをコピー
例1、(中国語から英語)
  1. # 翻訳する必要があるコンテンツを定義します
  2. $title = 'Hello';
  3. # 中国語の文字であるかどうかを確認します(gb2312、utf-8 と互換性あり)
  4. if (preg_match("/[x7f-xff]/", $title)) {
  5. $title = baiduAPI::fanyi($title, $from="zh", $to ="en");
  6. } else {
  7. $title = baiduAPI::fanyi($title, $from="en", $to="zh");
  8. $title = iconv('utf-8', ' gbk', $title);
  9. }
  10. # 結果出力 Hello
  11. echo $title;
  12. exit;
コードをコピー
例 2、(英語から中国語)
  1. # 必要なコンテンツを定義します翻訳済み
  2. $title = 'Hello';
  3. # 漢字かどうかを確認(gb2312、utf-8と互換性あり)
  4. if (preg_match("/[x7f-xff]/", $title)) {
  5. $title = baiduAPI::fanyi($title, $from="zh ", $to="ja");
  6. } else {
  7. $title = baiduAPI::fanyi($title, $from="ja", $to= "zh");
  8. $title = iconv('utf- 8', 'gbk', $title);
  9. }
  10. # 結果出力 Hello
  11. echo $title;
  12. exit;
コードをコピー


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。