Skip to content

Instantly share code, notes, and snippets.

@le-vlad
Created May 24, 2018 14:04
Show Gist options
  • Save le-vlad/b89556b3c1763527cd88eb5fddc6a071 to your computer and use it in GitHub Desktop.
Save le-vlad/b89556b3c1763527cd88eb5fddc6a071 to your computer and use it in GitHub Desktop.
Google Translate TypeScript. run : tsc Translator.ts
class Translator {
private APIKEY: string = null;
private GOOGLEBASEURL: string = 'https://www.googleapis.com/language/translate/v2';
constructor(APIKEY: string) {
this.APIKEY = APIKEY;
}
private async __request(params: any) {
const googleTranslateServerResult = await fetch(`${this.GOOGLEBASEURL}?key=${this.APIKEY}&source=${params.from}&target=${params.to}&q=${params.q}`);
return await googleTranslateServerResult.json();
}
async translate(from, to, text) {
if (!this.APIKEY) throw new Error("TRANSLATE API KEY NOT FOUND");
const translateResult = await this.__request({
from,
to,
q: text,
});
if (translateResult.data && translateResult.data.translations[0] && translateResult.data.translations[0].translatedText) {
return translateResult.data.translations[0].translatedText
}
return false;
}
}
@le-vlad
Copy link
Author

le-vlad commented May 24, 2018

const translator = new Translator('API KEY')
translator.translate('en', 'ru', 'Hello, friend'); ///Return promise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment