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

158 lines (157 loc) 5.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.translate = void 0; const lib_1 = require("./lib"); Object.defineProperty(exports, "translate", { enumerable: true, get: function () { return lib_1.translate; } }); const config = {}; setDefaultConfiguration(); console.log(config); try { setConfigurationFromEnvironment(); } catch (error) { console.log(config); console.log(error); } try { setConfigurationFromCLI(); } catch (error) { console.log(config); console.log(error); } function setConfigurationFromCLI() { const argv = require("yargs").argv; if (argv === undefined) { console.log("No arguments provided in CLI"); return; } if (argv.mode === "file") { config.mode = "file"; } else if (argv.mode === "folder") { config.mode = "folder"; } if (argv.startDelimiter !== undefined) { config.startDelimiter = argv.startDelimiter; } if (argv.endDelimiter !== undefined) { config.endDelimiter = argv.endDelimiter; } if (argv.keepExtraTranslations === "keep") { config.keepExtraTranslations = "keep"; } else if (argv.keepExtraTranslations === "remove") { config.keepExtraTranslations = "remove"; } if (argv.keepTranslations === "keep") { config.keepTranslations = "keep"; } else if (argv.keepTranslations === "retranslate") { config.keepTranslations = "retranslate"; } if (argv.sourceLocale !== undefined) { config.sourceLocale = argv.sourceLocale; } if (argv.ignorePrefix !== undefined) { config.ignorePrefix = argv.ignorePrefix; } if (argv.pivotTranslation !== undefined) { (0, lib_1.translate)(argv.pivotTranslation, config); } else { console.log(argv); console.log("Please provide a pivot translation"); } } function setDefaultConfiguration() { config.mode = "file"; config.startDelimiter = "{"; config.endDelimiter = "}"; config.keepExtraTranslations = "keep"; config.keepTranslations = "keep"; config.sourceLocale = "en"; config.ignorePrefix = ""; } function setConfigurationFromEnvironment() { var _a, _b, _c, _d, _e, _f, _g, _h; require("dotenv").config(); if (process.env.ATJ_GOOGLE_API_KEY) { config.translationKeyInfo = { kind: "google", apiKey: process.env.ATJ_GOOGLE_API_KEY, }; } if (process.env.ATJ_AWS_ACCESS_KEY_ID && process.env.ATJ_AWS_SECRET_ACCESS_KEY && process.env.ATJ_AWS_REGION) { config.translationKeyInfo = { kind: "aws", accessKeyId: process.env.ATJ_AWS_ACCESS_KEY_ID, secretAccessKey: process.env.ATJ_AWS_SECRET_ACCESS_KEY, region: process.env.ATJ_AWS_REGION, }; } if (process.env.ATJ_AZURE_SECRET_KEY && process.env.ATJ_AZURE_REGION) { config.translationKeyInfo = { kind: "azure", secretKey: process.env.ATJ_AZURE_SECRET_KEY, region: process.env.ATJ_AZURE_REGION, }; } if (process.env.ATJ_DEEPL_PRO_SECRET_KEY) { config.translationKeyInfo = { kind: "deepLPro", secretKey: process.env.ATJ_DEEPL_PRO_SECRET_KEY, }; } if (process.env.ATJ_DEEPL_FREE_SECRET_KEY) { config.translationKeyInfo = { kind: "deepLFree", secretKey: process.env.ATJ_DEEPL_FREE_SECRET_KEY, }; } if (process.env.ATJ_OPEN_AI_SECRET_KEY) { config.translationKeyInfo = { kind: "openai", apiKey: process.env.ATJ_OPEN_AI_SECRET_KEY, baseUrl: (_a = process.env.ATJ_OPEN_AI_BASE_URL) !== null && _a !== void 0 ? _a : "https://api.openai.com/v1", model: (_b = process.env.ATJ_OPEN_AI_MODEL) !== null && _b !== void 0 ? _b : "gpt-3.5-turbo", maxTokens: Number((_c = process.env.ATJ_OPEN_AI_MAX_TOKENS) !== null && _c !== void 0 ? _c : "256"), temperature: Number((_d = process.env.ATJ_OPEN_AI_TEMPERATURE) !== null && _d !== void 0 ? _d : "0.7"), topP: Number((_e = process.env.ATJ_OPEN_AI_TOP_P) !== null && _e !== void 0 ? _e : "0.9"), n: Number((_f = process.env.ATJ_OPEN_AI_N) !== null && _f !== void 0 ? _f : "1"), frequencyPenalty: Number((_g = process.env.ATJ_OPEN_AI_FREQUENCY_PENALTY) !== null && _g !== void 0 ? _g : "0"), presencePenalty: Number((_h = process.env.ATJ_OPEN_AI_PRESENCE_PENALTY) !== null && _h !== void 0 ? _h : "0"), }; } if (process.env.ATJ_START_DELIMITER) { config.startDelimiter = process.env.ATJ_START_DELIMITER; } if (process.env.ATJ_END_DELIMITER) { config.endDelimiter = process.env.ATJ_END_DELIMITER; } if (process.env.ATJ_END_DELIMITER) { config.endDelimiter = process.env.ATJ_END_DELIMITER; } if (process.env.ATJ_MODE && (process.env.ATJ_MODE === "file" || process.env.ATJ_MODE === "folder")) { config.mode = process.env.ATJ_MODE; } if (process.env.ATJ_SOURCE_LOCALE) { config.sourceLocale = process.env.ATJ_SOURCE_LOCALE; } if (process.env.ATJ_KEEP_TRANSLATIONS && (process.env.ATJ_KEEP_TRANSLATIONS === "keep" || process.env.ATJ_KEEP_TRANSLATIONS === "retranslate")) { config.keepTranslations = process.env.ATJ_KEEP_TRANSLATIONS; } if (process.env.ATJ_KEEP_EXTRA_TRANSLATIONS && (process.env.ATJ_KEEP_EXTRA_TRANSLATIONS === "keep" || process.env.ATJ_KEEP_EXTRA_TRANSLATIONS === "remove")) { config.keepExtraTranslations = process.env.ATJ_KEEP_EXTRA_TRANSLATIONS; } if (process.env.ATJ_IGNORE_PREFIX && process.env.ATJ_IGNORE_PREFIX !== "") { config.ignorePrefix = process.env.ATJ_IGNORE_PREFIX; } }