Descriptions des fonctions
Introduction
Le SDK Frenglish est un outil puissant qui permet aux développeurs d’intégrer la traduction automatique de contenu dans leurs applications. Ce SDK gère tout le processus de traduction, de l’envoi du contenu à traduire jusqu’à la récupération du contenu traduit. Ce document donne des infos détaillées sur chaque méthode du SDK.
Installation
Réfère-toi au Guide de démarrage rapide pour les instructions d’installation.
Méthodes du SDK
translate
translate(contents: string[], isFullTranslation: boolean, filenames: string[], partialConfig: PartialConfiguration): Promise<RequestTranslationResponse>
Envoie du contenu à traduire. Cette méthode gère automatiquement le polling et retourne le contenu traduit une fois terminé.
Paramètres :
- content: string[] - Un tableau de textes à traduire. Chaque élément représente un morceau de contenu distinct.
- fullTranslation: boolean (optionnel, par défaut false) - Contrôle le comportement de la traduction :
- Quand c’est false (par défaut) : Optimise la traduction en vérifiant le contenu déjà traduit dans la base de données. Seul le contenu nouveau ou modifié est traduit, ce qui réduit le temps et les coûts.
- Quand c’est true : Force une retraduction complète de tout le contenu, sans tenir compte des traductions existantes.
- filenames: string[] (optionnel) - Un tableau de noms de fichiers correspondant à chaque élément de contenu. Sert à suivre et identifier les traductions dans ton projet. Si fourni, doit avoir la même longueur que le tableau de contenu. Les noms de fichiers doivent inclure les extensions (ex : .json).
- partialConfig: PartialConfiguration (optionnel) - Permet de remplacer les paramètres de configuration par défaut pour cette traduction. Peut inclure :
{
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
}
Retourne :
Une Promise qui retourne un objet RequestTranslationResponse contenant :
- translationId: number - Identifiant unique pour la demande de traduction.
- content?: TranslationResponse[] - Tableau d’objets TranslationResponse, chacun représentant le contenu traduit pour une langue spécifique.
Exemple :
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);
}
Erreurs :
- Lance une erreur si la demande de traduction échoue ou si le polling dépasse le temps maximal autorisé.
- Lance une erreur si la traduction est annulée.