微信公众平台消息接口开发(13)多语种互译

微信公众平台消息接口 微信公众平台API 微信开发模式 多语种翻译 多语言互译 Microsoft Translator 方倍工作室

 

 

Paraphrase API

 

10 out of 11 rated this helpful - Rate this topic

 

The Paraphrase API is an English-to-English machine translation system that rephrases English sentences in English. This API uses the same architecture that the Microsoft Translator API uses for translation. The purpose of the Paraphrase API is to reword or rephrase the content without losing its meaning or idea. The Paraphrase API uses the REST service using GET over HTTP. It uses simple XML and JSON formatting.

Endpoint

The endpoint of the Paraphrase API is either one of the following:

  • http://api.microsofttranslator.com/v3/json/paraphrase
  • http://api.microsofttranslator.com/v3/rest/paraphrase

Parameters

Parameter Description
appId Required. A string containing the access token or application ID.
language Required. A string representing the language code. This parameter supports only ENGLISH with en as the language name.
Category Optional. A string containing the category or domain of the translation. This parameter supports only the default option general.
sentence Required. A sentence that you want to paraphrase. This parameter supports only one sentence as the input. Multiple sentences will fail, and an error code with the message will be displayed.
maxTranslations Optional. The number of paraphrased sentences for the sentence that you specified in the sentence parameter. The API will return as many paraphrased sentences as the number that you specify in the maxTranslations parameter.

Return value

The return value provides as many paraphrased sentences as the number specified in the maxTranslations request parameter.

JSON
ParaphraseResponse
{
     int errorCode;  // A positive number representing an error condition
     string errorMessage; // A descriptive error message
     string[] paraphrases; // all paraphrases found
}

Error Messages

The following are the most common error messages.

  • ErrorNoParaphrasesFound – “The system did not find any paraphrase for the input sentence.”
  • ErrorInvalidAppid – “The AppId X is invalid.”
  • ErrorInvalidNumberOfSentences – “Only one sentence is supported. The request contains X sentences.”
  • ErrorInvalidCategory – “Category X is invalid.”
  • ErrorInvalidLanguage – “Language X is not supported.”

Example

PHP

has some issues !!!

<?php

class AccessTokenAuthentication {
    /*
     * Get the access token.
     *
     * @param string $grantType    Grant type.
     * @param string $scopeUrl     Application Scope URL.
     * @param string $clientID     Application client ID.
     * @param string $clientSecret Application client ID.
     * @param string $authUrl      Oauth Url.
     *
     * @return string.
     */
    function getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl){
        try {
            //Initialize the Curl Session.
            $ch = curl_init();
            //Create the request Array.
            $paramArr = array (
                 'grant_type'    => $grantType,
                 'scope'         => $scopeUrl,
                 'client_id'     => $clientID,
                 'client_secret' => $clientSecret
            );
            //Create an Http Query.//
            $paramArr = http_build_query($paramArr);
            //Set the Curl URL.
            curl_setopt($ch, CURLOPT_URL, $authUrl);
            //Set HTTP POST Request.
            curl_setopt($ch, CURLOPT_POST, TRUE);
            //Set data to POST in HTTP "POST" Operation.
            curl_setopt($ch, CURLOPT_POSTFIELDS, $paramArr);
            //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec().
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
            //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate.
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            //Execute the  cURL session.
            $strResponse = curl_exec($ch);
            //Get the Error Code returned by Curl.
            $curlErrno = curl_errno($ch);
            if($curlErrno){
                $curlError = curl_error($ch);
                throw new Exception($curlError);
            }
            //Close the Curl Session.
            curl_close($ch);
            //Decode the returned JSON string.
            $objResponse = json_decode($strResponse);
            if ($objResponse->error){
                throw new Exception($objResponse->error_description);
            }
            return $objResponse->access_token;
        } catch (Exception $e) {
            echo "Exception-".$e->getMessage();
        }
    }
}

/*
 * Class:HTTPTranslator
 *
 * Processing the translator request.
 */
Class HTTPTranslator {
    /*
     * Create and execute the HTTP CURL request.
     *
     * @param string $url        HTTP Url.
     * @param string $authHeader Authorization Header string.
     *
     * @return string.
     *
     */
    function curlRequest($url, $authHeader){
        //Initialize the Curl Session.
        $ch = curl_init();
        //Set the Curl url.
        curl_setopt ($ch, CURLOPT_URL, $url);
        //Set the HTTP HEADER Fields.
        curl_setopt ($ch, CURLOPT_HTTPHEADER, array($authHeader));
        //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec().
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
        //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate.
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, False);
        //Execute the  cURL session.
        $curlResponse = curl_exec($ch);
        //Get the Error Code returned by Curl.
        $curlErrno = curl_errno($ch);
        if ($curlErrno) {
            $curlError = curl_error($ch);
            throw new Exception($curlError);
        }
        //Close a cURL session.
        curl_close($ch);
        return $curlResponse;
    }
}

try {
    //Client ID of the application.
    $clientID       = "clientId";
    //Client Secret key of the application.
    $clientSecret = "ClientSecret";
    //OAuth Url.
    $authUrl      = "https://datamarket.accesscontrol.windows.net/v2/OAuth2-13/";
    //Application Scope Url
    $scopeUrl     = "http://api.microsofttranslator.com";
    //Application grant type
    $grantType    = "client_credentials";

    //Create the AccessTokenAuthentication object.
    $authObj      = new AccessTokenAuthentication();
    //Get the Access token.
    $accessToken  = $authObj->getTokens($grantType, $scopeUrl, $clientID, $clientSecret, $authUrl);
    //Create the authorization Header string.
    $authHeader = "Authorization: Bearer ". $accessToken;

    //Set the params.
    $sentence      = "rephrasing is a hard problem for the computer.";
    $language      = "en-us";
    $category        = "general";
    $maxParaphrase = '6';

    $params = "sentence=".urlencode($sentence)."&language=$language&category=$category&maxParaphrases=$maxParaphrase";

    //HTTP paraphrase URL.
    $paraphraseUrl = "http://api.microsofttranslator.com/v3/json/paraphrase?$params";

    //Create the Translator Object.
    $translatorObj = new HTTPTranslator();

    //Call the curlRequest.
    echo $curlResponse = $translatorObj->curlRequest($paraphraseUrl, $authHeader);

} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . PHP_EOL;
}

/*
 * Create and execute the HTTP CURL request.
 *
 * @param string $url        HTTP Url.
 * @param string $authHeader Authorization Header string.
 * @param string $postData   Data to post.
 *
 * @return string.
 *
 */
function curlRequest($url, $authHeader) {
    //Initialize the Curl Session.
    $ch = curl_init();
    //Set the Curl url.
    curl_setopt ($ch, CURLOPT_URL, $url);
    //Set the HTTP HEADER Fields.
    curl_setopt ($ch, CURLOPT_HTTPHEADER, array($authHeader,"Content-Type: text/xml"));
    //CURLOPT_RETURNTRANSFER- TRUE to return the transfer as a string of the return value of curl_exec().
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);
    //CURLOPT_SSL_VERIFYPEER- Set FALSE to stop cURL from verifying the peer's certificate.
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, False);
    //Execute the  cURL session.
    $curlResponse = curl_exec($ch);
    //Get the Error Code returned by Curl.
    $curlErrno = curl_errno($ch);
    if ($curlErrno) {
        $curlError = curl_error($ch);
        throw new Exception($curlError);
    }
    //Close a cURL session.
    curl_close($ch);
    return $curlResponse;
}

 

 

 

 

Translator Language Codes

Microsoft Translator continually adds to the list of supported languages for the Translation and Text to Speech methods.

You can always obtain the current list of available language codes using the GetLanguagesForTranslate() or GetLanguagesForSpeak() methods.

These methods will return a language code. You can translate that language code into a friendly name in any of the supported languages using the GetLanguageNames() method. Below are the friendly names in English - you can retrieve them in any of the listed languages using GetLanguageNames().

 

 

Here is the list (as of January 2012):

 


Language Code


English Name

ar Arabic
bg Bulgarian
ca Catalan
zh-CHS Chinese (Simplified)
zh-CHT Chinese (Traditional)
cs Czech
da Danish
nl Dutch
en English
et Estonian
fa Persian (Farsi)
fi Finnish
fr French
de German
el Greek
ht Haitian Creole
he Hebrew
hi Hindi
hu Hungarian
id Indonesian
it Italian
ja Japanese
ko Korean
lv Latvian
lt Lithuanian
ms Malay
mww Hmong Daw
no Norwegian
pl Polish
pt Portuguese
ro Romanian
ru Russian
sk Slovak
sl Slovenian
es Spanish
sv Swedish
th Thai
tr Turkish
uk Ukrainian
ur Urdu
vi Vietnamese

 

时间: 2024-12-03 06:27:14

微信公众平台消息接口开发(13)多语种互译的相关文章

微信公众平台消息接口开发(7)快递查询

微信公众平台消息接口 微信公众平台开发 微信公众平台开发模式  快递查询 作者:方倍工作室原文:http://www.cnblogs.com/txw1958/archive/2013/03/12/weixin-if7-express.html   一.请求数据 快递100提供快递查询接口.  通过向指定的地址发送请求,即可返回如JSON.XML等格式的跟综结果 3.请求地址 http://api.kuaidi100.com/api?id=[]&com=[]&nu=[]&valico

微信公众平台消息接口开发(24)图片识别之人脸识别API

微信公众平台开发模式 微信 公众平台 消息接口 开发模式 企业微信公众平台 图片识别 人脸识别 API 作者:方倍工作室  原文:http://www.cnblogs.com/txw1958/archive/2013/03/13/weixin-if24-face-recognize-api.html   一.微信图片获取 首先要获得用户发过来的图片,微信公众平台支持接收图片,一条图片消息的格式如下: <xml> <ToUserName><![CDATA[gh_13d1a3a7

微信公众平台消息接口开发(10)语音触发(非识别)

微信公众平台消息接口开发 微信公众平台开发模式 语音识别 天气预报 天气神 方倍工作室 作者:http://www.cnblogs.com/txw1958/  本系统教程以微信公众平台应用天气神(账号WeatherGod,支持国内近400个城市天气的名称.拼音.区号.邮编以及语音触发模式查询)为例,讲解微信接口开发过程.欢迎大家关注该账号并使用语音方式查询当地天气,二维码见底部.   一.通过输入文字的方式查询天气一般都是通过城市名称.拼音.区号等方式实现的查询,基本上都是搜索数据库,获得对应的

微信公众平台消息接口开发(34)微信墙之表白墙/婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙

微信公众平台开发模式 微信 公众平台 消息接口 开发模式 企业微信公众平台 微信墙 婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙 历史上的今天作者:方倍工作室  原文: http://www.cnblogs.com/txw1958/archive/2013/06/08/weixin-if34-wall.html    微信上墙是利用微信公众平台,让观众将希望互动的内容通过手机发送给相关平台账号,进而由工作人员从后台筛选/或不筛选上墙的一种方式.只要像和朋友聊天一样,将你想要表达的内容发给对方,

微信公众平台消息接口开发(32)空气质量指数查询

原文:微信公众平台消息接口开发(32)空气质量指数查询 微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 空气质量指数 PM2.5 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/archive/2013/05/30/weixin-if32-air-quality.html   一.获取原版数据 在中国环境监测总站http://www.cnemc.cn/ 可以找到全国城市空气质量实时发布平台,其地址为 http://113.108.142.147:

微信公众平台消息接口开发-封装weixin.class.php

原文:微信公众平台消息接口开发-封装weixin.class.php 一.封装weixin.class.php 由于微信公众平台的通信使用的是特定格式的XML数据,每次接受和回复都要去做一大堆的数据处理. 我们就考虑在这个基础上做一次封装,weixin.class.php,代码如下: <?php class Weixin {     public $token = '';//token     public $debug =  false;//是否debug的状态标示,方便我们在调试的时候记录一

微信公众平台消息接口开发教程 附封装工具实例(1/3)

微信公众平台消息接口 要接收微信平台发送的消息,我们需要先熟悉微信公众平台API中消息接口部分,点此进入,点击后将进入到消息接口指南部分,如下图所示: 开发教程 附封装工具实例(1/3)-js封装组件实例"> 在上图左侧可以看到微信公众平台目前开放的接口有三种:消息接口.通用接口和自定义菜单接口.通用接口和自定义菜单接口只有拿到内测资格才能调用,而内测资格的申请也已经关闭了,我们只有期待将来某一天微信会对大众用户开放吧,所以没有内测资格的用户就不要再浪费时间在这两个接口上,只需要用好消息接

微信公众平台消息接口开发(50)在线点歌/在线音乐

微信 在线听歌 在线点歌 在线点播 音乐API 公众平台 微信公众平台消息接口 微信开发模式  作者:http://www.cnblogs.com/txw1958/ 原文:http://www.cnblogs.com/txw1958/archive/2013/02/25/weixin-if50-music.html 微信公众平台在年前开放了新的消息接口-音乐消息,这是广大微信公众平台开发者的福音.根据这一功能,如果能做出在微信中点歌功能,那么我们以后就可以不用安装其他APP,直接在微信里面关注一

微信公众平台消息接口开发(12)消息接口Bug

微信公众平台开发模式 微信公众平台消息接口 微信公众平台API 微信开发模式 Bug 方倍工作室 原文:http://www.cnblogs.com/txw1958/archive/2013/03/16/weixin-if12-bug.html     自己看吧,不做说明了.