node-language-translate
Version:
🚀 Next-gen translation engine for Node.js | Free unlimited language conversion | AI-powered context-aware translations | Developer-friendly API | Zero dependencies | Built for modern cloud-native applications | Compatible with Express, NestJS & serverles
32 lines (31 loc) • 1.42 kB
JavaScript
;
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());
});
};
const my_memory_1 = require("./providers/my-memory");
class Translator {
constructor(provider = new my_memory_1.MyMemoryProvider()) {
this.provider = provider;
}
translate(text, from, to) {
return __awaiter(this, void 0, void 0, function* () {
try {
const options = { from, to };
return yield this.provider.translate(text, options);
}
catch (error) {
if (error instanceof Error) {
throw new Error(`Translation failed: ${error.message}`);
}
throw new Error("Translation failed: Unknown error");
}
});
}
}
module.exports = new Translator();