bing-translate-result
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

bing-translate-result

A simple translate API for Bing Translator. Exports translate, audio and detect.

Install

npm i bing-translate-result

Usage

Translate:

import bing from 'bing-translate-result';

bing.translate({ text: 'hello', to: 'ja', userLang: 'ja' }).then(result => console.log(result));

/*
    => {
        dict: ["NOUN: こんにちは, こんにち, ハロー, もしもし"],
        from: "en",
        result: ["こんにちは"],
        text: "hello",
        to: "ja"
    }
*/

Translate params:

{
    /**
     * the text you wanna translate
     */
    text: string,

    /**
     * the language code of the text
     * @default ""
     */
    from?: string,

    /**
     * the language code that you wanna translate to
     * @default ""
     */
    to?: string,

    /**
     * the user language environment
     * help decide auto translate to what language code
     * should be 'navigator.language'
     * @default ""
     */
    userLang?: string,

    /**
     * url: `https://${com ? 'www' : 'cn'}.bing.com/ttranslatev3`
     * @default true
     */
    com?: boolean,

    /**
     * auto detect can help judge the language code of translate to
     * but it costs about two times of time to request server
     * only work when you didn't set "from"
     * @default true
     */
    autoDetect?: boolean
}

Audio:

import bing from 'bing-translate-result';

bing.audio({ text: 'Hello world!' }).then(result => console.log(result));

/*
    => "data:audio/mp3;base64,//NIxAAAAANIAAAAAExB..."

    "audio" function returns dataURL.
*/

Audio params:

{
    /*
    * the meaning is the same as translate's params
    * Notice: it must auto detect if you don't set "from"
    */
    text: string,
    from?: string,
    com?: boolean
}

You can play audio like it:

import bing from 'bing-translate-result';

const audioPlayer = new Audio();

const playAudio = (src) => {
    audioPlayer.src = src;
    audioPlayer.play();
};

bing.audio({ text: 'Hello world!' }).then(result => playAudio(result));

Detect:

import bing from 'bing-translate-result';

bing.detect({ text: '你好' }).then(result => console.log(result));

/*
    => 'zh-Hans'
*/

Detect params:

{
    /*
    * the meaning is the same as translate's params
    */
    text: string,
    com?: boolean
}

You can catch the error of every function, catch like it:

bing.translate({text: 'hello', to: 'abc'})
    .then(result => console.log(result))
    .catch(err => console.log(err.code)); // => 'LANGUAGE_NOT_SOPPORTED'

The error code is as follows:

'CONNECTION_TIMED_OUT'     // Connection timed out.
'BAD_REQUEST'              // Response status not 200.
'RESULT_ERROR'             // Server returns an unexpected result.
'LANGUAGE_NOT_SOPPORTED'   // The translate source doesn't support this language code.

License

MIT

Package Sidebar

Install

npm i bing-translate-result

Weekly Downloads

0

Version

1.0.4

License

MIT

Unpacked Size

45.4 kB

Total Files

24

Last publish

Collaborators

  • chunibyocola