@awesome-fe/translate
Version:
Translation utils
17 lines (16 loc) • 899 B
TypeScript
import { TranslationEngine } from '../translation-engine/translation-engine';
import { SentenceFormat } from './sentence-format';
import { TranslationOptions } from './translation-options';
export declare abstract class AbstractTranslator<T> {
protected readonly engine: TranslationEngine;
constructor(engine: TranslationEngine);
setup(): Promise<void>;
tearDown(): Promise<void>;
translateFile(filename: string, options?: TranslationOptions): Promise<void>;
translateContent(content: string, options?: TranslationOptions): Promise<string>;
flush(): Promise<void>;
abstract parse(text: string, options: TranslationOptions): T;
protected translateSentence(sentence: string, format: SentenceFormat): Promise<string>;
protected abstract translateDoc(doc: T, options: TranslationOptions): T;
abstract serialize(doc: T, options: TranslationOptions): string;
}