UNPKG

auto-translate-json-library

Version:

Automatically translates JSON language files to other languages using Google Translate,AWS,Azure,DeepL,OpenAI or local OpenAI compatible server

132 lines (131 loc) 3.08 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AWSTranslate = void 0; const client_translate_1 = require("@aws-sdk/client-translate"); const util_1 = require("./util"); const supportedLanguages = [ "af", "sq", "am", "ar", "hy", "az", "bn", "bs", "bg", "ca", "zh", "zh-TW", "hr", "cs", "da", "fa-AF", "nl", "en", "et", "fa", "tl", "fi", "fr", "fr-CA", "ka", "de", "el", "gu", "ht", "ha", "he", "hi", "hu", "is", "id", "ga", "it", "ja", "kn", "kk", "ko", "lv", "lt", "mk", "ms", "ml", "mt", "mr", "mn", "no", "ps", "pl", "pt", "pt-PT", "pa", "ro", "ru", "sr", "si", "sk", "sl", "so", "es", "es-MX", "sw", "sv", "ta", "te", "th", "tr", "uk", "ur", "uz", "vi", "cy", ]; class AWSTranslate { constructor(accessKeyId, secretAccessKey, regions) { this.accessKeyId = accessKeyId; this.secretAccessKey = secretAccessKey; this.regions = regions; this.client = new client_translate_1.Translate({ credentials: { accessKeyId: this.accessKeyId, secretAccessKey: this.secretAccessKey, }, region: this.regions, }); } isValidLocale(targetLocale) { return supportedLanguages.includes(targetLocale); } translateText(text, sourceLocale, targetLocale) { return __awaiter(this, void 0, void 0, function* () { let args; ({ args, text } = util_1.Util.replaceContextVariables(text)); let result = ""; const params = { SourceLanguageCode: sourceLocale, TargetLanguageCode: targetLocale, Text: text, }; try { const translation = yield this.client.translateText(params); result = translation.TranslatedText; } catch (error) { console.error(error); return ""; } result = util_1.Util.replaceArgumentsWithNumbers(args, result); return result; }); } } exports.AWSTranslate = AWSTranslate;