1.0.4 • Published 3 years ago

bing-translate-result v1.0.4

Weekly downloads
5
License
MIT
Repository
github
Last release
3 years ago

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

1.0.4

3 years ago

1.0.2

3 years ago

1.0.3

3 years ago

1.0.1

3 years ago

1.0.0

4 years ago