JSPM

  • Created
  • Published
  • Downloads 19974
  • Score
    100M100P100Q135639F
  • License MIT

A free and unlimited API for Google Translate that works in browser

Package Exports

  • google-translate-api-browser
  • google-translate-api-browser/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (google-translate-api-browser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Google translate api browser

npm - 2.1.0

Based on google-translate-api and google-translate-token

Install

npm install google-translate-api-browser

For cross origin requests it uses cors-anywhere . You can use public cors-anywhere server https://cors-anywhere.herokuapp.com/ or set up your own. By default it does not use proxying.

Examples

For browser

import { setCORS } from "google-translate-api-browser";
// setting up cors-anywhere server address
const translate = setCORS("http://cors-anywhere.herokuapp.com/");
/*
// or
import translate, { setCORS } from "google-translate-api-browser";
setCORS("http://cors-anywhere.herokuapp.com/");
*/
translate("Je ne mangé pas six jours", { to: "en" })
  .then(res => {
    // I do not eat six days
    console.log(res.text)
  })
  .catch(err => {
    console.error(err);
  });

For node

You don't need to use CORS for node

const { generateRequestUrl, normaliseResponse } = require('google-translate-api-browser');
const https = require('https');

const url = generateRequestUrl('Je ne mangé pas six jours', { to: "en" });

https.get(url, (resp) => {
  let data = '';

  resp.on('data', (chunk) => {
    data += chunk;
  });

  resp.on('end', () => {
    console.log(normaliseResponse(JSON.parse(data)));
  });
}).on("error", (err) => {
  console.log("Error: " + err.message);
});

API

isSupported(lang: string): boolean

Verifies if the selected language is supported by Google Translate.

translate(text: string, options: Partial): Promise

text

The text to be translated

options

type TranslateOptions = {
  client: 'gtx' | 'webapp';
  from: LangKey;
  to: LangKey;
  hl: LangKey;
  raw: boolean;
  tld: string;
}
example
const options = {
  client: 'gtx',
  from: 'ua',
  to: 'en',
  hl: 'en',
  raw: false,
  tld: 'com',
}

returns

type TranslationResult = {
  text: string; // The translated text.
  pronunciation: string;
  from: {
    language: {
      didYouMean: boolean; // `true` if the API suggest a correction in the source language
      iso: string; // The code of the language that the API has recognized in the `text`
    };
    text: {
      autoCorrected: boolean; // `true` if the API has auto corrected the `text`
      value: string; // The auto corrected `text` or the `text` with suggested corrections
      didYouMean: boolean; // `true` if the API has suggested corrections to the `text`
    }
  };
  raw?: any; // If `options.raw` is true, the raw response from Google Translate servers
}

Note that from.text will only be returned if from.text.autoCorrected or from.text.didYouMean equals to true. In this case, it will have the corrections delimited with brackets ([ ]):

normaliseResponse(body: any, raw = false): TranslationResult

Formats the google translate response.

generateRequestUrl(text: string, options: Partial<Omit<TranslateOptions, 'raw'>>): string

Generates a url to google translate api.

setCORS(CORSURL: string): translate