Descripción de funciones
Introducción
El SDK de Frenglish es una herramienta potente que permite a los desarrolladores integrar la traducción automática de contenido en sus aplicaciones. Este SDK gestiona todo el proceso de traducción, desde enviar el contenido hasta recuperar el contenido traducido. Este documento proporciona información detallada sobre cómo usar cada método del SDK.
Instalación
Consulta la Guía de inicio rápido para instrucciones de instalación.
Métodos del SDK
translate
translate(contents: string[], isFullTranslation: boolean, filenames: string[], partialConfig: PartialConfiguration): Promise<RequestTranslationResponse>
Envía contenido para traducir. Este método gestiona automáticamente el proceso de sondeo y devuelve el contenido traducido al finalizar.
Parámetros:
- content: string[] - Un arreglo de textos a traducir. Cada elemento representa una pieza de contenido distinta.
- fullTranslation: boolean (opcional, por defecto false) - Controla el comportamiento de la traducción:
- Cuando es false (por defecto): Optimiza la traducción revisando el contenido previamente traducido en la base de datos. Solo traduce el contenido nuevo o modificado, reduciendo tiempo y costos.
- Cuando es true: Fuerza la retraducción completa de todo el contenido, ignorando traducciones existentes.
- filenames: string[] (opcional) - Un arreglo de nombres de archivo que corresponde a cada elemento de contenido. Se usa para rastrear e identificar traducciones dentro de tu proyecto. Si se proporciona, debe coincidir en longitud con el arreglo de contenido. Los nombres de archivo deben incluir la extensión (por ejemplo, .json).
- partialConfig: PartialConfiguration (opcional) - Permite sobrescribir la configuración por defecto para esta traducción. Puede incluir:
{
originLanguage?: string, // Source language code
languages?: string[], // Target language codes
rules?: string, // General translation rules
autoMergeToBaseBranch?: boolean, // Auto-merge setting
implicitRules?: ImplicitRule[], // Array of implicit translation rules
rulesPerLanguage?: Rule[], // Language-specific rules
useThisConfig?: boolean, // Whether to use this config
keyFilters?: { // Filters for translation keys
includeFilters: string[],
excludeFilters: string[]
} | null
}
Devuelve:
Una Promesa que se resuelve en un objeto RequestTranslationResponse que contiene:
- translationId: number - Identificador único de la solicitud de traducción.
- content?: TranslationResponse[] - Arreglo de objetos TranslationResponse, cada uno representa el contenido traducido para un idioma específico.
Ejemplo:
const contents = [
'{"hello": "Hello, world!"}',
'{"goodbye": "Goodbye, world!"}'
];
const filenames = ['greetings.json', 'farewells.json'];
const partialConfig = {
languages: ['fr', 'es'],
rules: 'use an informal tone'
};
try {
const translation = await frenglish.translate(contents, false, filenames, partialConfig);
if (translation && translation.content) {
console.log('Translation completed:', translation.content);
} else {
console.log('Translation in progress or failed.');
}
} catch (error) {
console.error('Translation error:', error.message);
}
Errores:
- Lanza un error si la solicitud de traducción falla o si el sondeo excede el tiempo máximo permitido.
- Lanza un error si la traducción es cancelada.
translateString
translateString(text: string, targetLanguage: string, partialConfig: PartialConfiguration): Promise<string>
Parámetros:
- content: string - El texto a traducir.
- lang: string - El código del idioma de destino (por ejemplo, 'fr' para francés).
- partialConfig: PartialConfiguration (opcional) - Permite sobrescribir la configuración por defecto para esta traducción. Tiene la misma estructura que en el método translate().
Devuelve:
Una Promesa que se resuelve en la cadena traducida.
Ejemplo:
try {
const translatedText = await frenglish.translateString('Hello, world!', 'fr');
console.log('Translated text:', translatedText);
} catch (error) {
console.error('Error translating string:', error.message);
}