json-autotranslate
Version:
Translate a folder of JSON files containing translations into multiple languages.
62 lines (61 loc) • 2.18 kB
TypeScript
import { TranslationService, TranslationResult, DeepLGlossary } from '.';
import { Matcher } from '../matchers';
export declare class DeepL implements TranslationService {
name: string;
private apiEndpoint;
private glossariesDir?;
private automaticGlossary?;
private appName?;
private context?;
private apiKey?;
/**
* Number to tokens to translate at once
*/
private batchSize;
private supportedLanguages?;
private formalityLanguages?;
private interpolationMatcher?;
private decodeEscapes?;
private formality?;
/**
* Creates a new instance of the DeepL translation service
* @param useFreeApi Use the free vs paid api
*/
constructor(useFreeApi: boolean);
initialize(config?: string, interpolationMatcher?: Matcher, decodeEscapes?: boolean, glossariesDir?: string | boolean, appName?: string, context?: string): Promise<void>;
fetchLanguages(): Promise<{
language: string;
name: string;
supports_formality: boolean;
}[]>;
getFormalityLanguages(languages: Array<{
language: string;
name: string;
supports_formality: boolean;
}>): Set<string>;
formatLanguages(languages: Array<{
language: string;
name: string;
supports_formality: boolean;
}>): Set<string>;
supportsLanguage(language: string): boolean;
supportsFormality(language: string): boolean;
translateStrings(strings: {
key: string;
value: string;
}[], from: string, to: string): Promise<TranslationResult[]>;
/**
* Delete a glossary.
*/
deleteGlossary(glossary_id: string): Promise<import("node-fetch").Response>;
listGlossaries(): Promise<DeepLGlossary[]>;
/**
* https://www.deepl.com/docs-api/glossaries/create-glossary
*/
createGlossaryFromFile(filePath: string): Promise<DeepLGlossary | undefined>;
getGlossary(from: string, to: string, recreate: boolean): Promise<DeepLGlossary | undefined>;
runTranslation(strings: {
key: string;
value: string;
}[], from: string, to: string, triesLeft?: number): Promise<TranslationResult[]>;
}