com.innovaphone.translation

This API is used for text translation (HTML payload is also supported) against an external service.

Messages

Translate
TranslateAll
GetTargetLanguages
DetectLanguage

Translate

Translate a specific payload to requested language.

{
    mt:   "Translate",
    html: "Payload we want translated",
    langDst: "de"
}

Parameters

string mtmessage type [mandatory]
string htmlpayload to be translated [mandatory]
string langSrc2 letter source language. If not set, the language will be detected. [optional]
string langDst2 letter target language. If not set, the current myApps language will be used. [optional]

If you want to exclude some content from translation, you can wrap them in an HTML tag with the parameter translate="no". (Example: "Bananas are <span translate="no">yellow</span> fruits.)

Response

{
    mt:        "TranslateResult",
    html:      "Nutzdaten, die übersetzt werden sollen",
    langSrc:   "en"
    langDst:   "de"
    unchanged: false
}

Parameters

string mtmessage type (is "TranslateResult")
string htmltranslated payload
string langSrc2 letter source language
string langDst2 letter target language
bool unchangedlabelling if the payload in html have been changed

Error Response

If you run into an error you will receive the following response.
{
    mt:    "TranslateResult",
    html:  "Error: [English error message which can be shown to the User]",
    error: true
}

Parameters

string mtmessage type (is "TranslateResult")
string htmlEnglish error message which can be shown to the User
bool errorlabelling whether error was send. Only sent if true [optional]

TranslateAll

Translate a specific payload to all possible languages.

{
    mt:   "TranslateAll",
    html: "Christmas Tree"
}

Parameters

string mtmessage type (is "TranslateAll") [mandatory]
string htmlpayload to be translated [mandatory]
string langSrc2 letter source language [optional]

Response

{
    mt:     "TranslateAllResult",
    html:   [
        { langSrc: "en", langDst: "bg", html: "Коледна елха" },
        { langSrc: "en", langDst: "cs", html: "Vánoční stromek" },
        { langSrc: "en", langDst: "da", html: "Juletræ" },
        { langSrc: "en", langDst: "de", html: "Weihnachtsbaum" },
        { langSrc: "en", langDst: "el", html: "Χριστουγεννιάτικο δέντρο" },
        ...
    ]
}

Parameters

string mtmessage type (is "TranslateAllResult")
array htmlarray of translated payload for all languages

GetTargetLanguages

Get all possible target languages.

{
    mt:   "GetTargetLanguages"
}

Parameters

string mtmessage type (is "GetTargetLanguages")

Response

{
    mt:        "GetTargetLanguagesResult",
    languages: [
        { language: "bg", name: "Bulgarian" },
        { language: "cs", name: "Czech" },
        { language: "da", name: "Danish" },
        { language: "de", name: "German" },
        { language: "el", name: "Greek" },
        ...
    ]
}

Parameters

string mtmessage type (is "GetTargetLanguagesResult")
array languagesarray of all supported target languages

DetectLanguage

Detect langiage from given string.

{
    mt:   "DetectLanguage",
    html: "Payload that should be detected"
}

Parameters

string mtmessage type (is "DetectLanguage")
string htmlpayload

Response

{
    mt:   "DetectLanguageResult",
    lang: "en"
}

Parameters

string mtmessage type (is "DetectLanguageResult")
array lang2-letter detected language, empty if no match
bool errorlabelling whether error was send. Only sent if true [optional]

Example

You can consume the API com.innovaphone.translate and send translation request to them. Inside the callback you can access the translated version via recv.msg.html

var translateApi = start.consumeApi("com.innovaphone.translate");
translateApi.sendSrc({ mt: "translate", html: "<div>Hello World!</div>", lang: "de" }, translateApi.providers[0], function (recv) {
    console.log('translated text: '+recv.msg.html);
});