auto-translatr
Version:
An automatic translation library
34 lines (33 loc) • 1.83 kB
TypeScript
import { Language, Translations } from './translationsReader';
import { Either } from './utils';
export declare const readTranslations: (reader: () => Promise<Either<Error, Record<Language, Translations>>>) => Promise<Either<Error, Record<Language, Translations>>>;
export declare const getMissingTranslations: (defaultTranslations: Translations, targetTranslations: Translations) => Translations;
export declare const extractDefaultAndOthers: (defaultLanguage: Language, translations: Record<Language, Translations>) => {
default: {
language: string;
translations: Translations;
};
others: {
language: string;
translations: Translations;
}[];
};
export declare const extractMissingTranslations: (translations: {
default: TranslationWithLanguageCode;
others: TranslationWithLanguageCode[];
}) => TranslationWithLanguageCode[];
export declare const addTranslator: (defaultLanguage: Language, translator: (text: string) => Promise<string>) => (translation: TranslationWithLanguageCode) => TranslationWithTranslator;
export declare const translate: (translation: TranslationWithTranslator) => Promise<Either<Error, TranslationWithLanguageCode>>;
export declare const addMissingTranslations: (defaultLanguage: Language, dependencies: TranslationsParserDependencies) => Promise<void>;
export type TranslationsParserDependencies = {
reader: () => Promise<Either<Error, Record<Language, Translations>>>;
writer: (translations: Record<Language, Translations>) => Promise<Either<Error, void>>;
translator: (text: string) => Promise<string>;
};
export type TranslationWithLanguageCode = {
language: Language;
translations: Translations;
};
export type TranslationWithTranslator = TranslationWithLanguageCode & {
translate: (text: string) => Promise<string>;
};