libretranslate-extended
Version:
Extended API wrapper for LibreTranslate with built-in language detection and improvements.
27 lines (26 loc) • 1.21 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ftapiTranslate = void 0;
// providers/ftapi.ts
const node_fetch_1 = __importDefault(require("node-fetch"));
const DEFAULT_BASE = "https://ftapi.pythonanywhere.com";
async function ftapiTranslate({ query, source, target }, cfg) {
const base = cfg?.baseUrl ?? DEFAULT_BASE;
const params = new URLSearchParams();
params.set("dl", target);
if (source && source !== "auto")
params.set("sl", source);
params.set("text", Array.isArray(query) ? query.join("\n") : query);
const res = await (0, node_fetch_1.default)(`${base}/translate?${params.toString()}`);
if (!res.ok)
throw new Error(`FTAPI HTTP ${res.status}: ${await res.text()}`);
const data = (await res.json()); // <- la doc muestra JSON con "source-language"
return {
text: data["destination-text"] ?? "",
detectedSourceLang: data["source-language"], // <- usar esto para detectar idioma
};
}
exports.ftapiTranslate = ftapiTranslate;