UNPKG

i18n-ai-translate

Version:

Use LLMs to translate your i18n JSON to any language.

43 lines (42 loc) 1.67 kB
import { Tiktoken } from "tiktoken"; import type { TranslationStats } from "../types"; import type Chats from "../interfaces/chats"; import type TranslateOptions from "../interfaces/translate_options"; export default class GenerateTranslationJSON { tikToken: Tiktoken; templatedStringRegex: RegExp; constructor(options: TranslateOptions); /** * Complete the initial translation of the input text. * @param flatInput - The flatinput object containing the json to translate * @param options - The options to generate the translation * @param chats - The options to generate the translation * @param translationStats - The translation statistics */ translateJSON(flatInput: { [key: string]: string; }, options: TranslateOptions, chats: Chats, translationStats: TranslationStats): Promise<{ [key: string]: string; }>; private generateTranslateItemsInput; private generateVerifyItemsInput; private generateTranslateItem; private getBatchTranslateItemArray; private getBatchVerifyItemArray; private generateTranslateItemArray; private getTranslateItemToken; private getVerifyItemToken; private generateTranslationJSON; private generateVerificationJSON; private convertTranslateItemToIndex; private parseTranslationToJSON; private parseVerificationToJSON; private isValidTranslateItem; private isValidVerificationItem; private createTranslateItemsWithTranslation; private createVerifyItemsWithTranslation; private runTranslationJob; private runVerificationJob; private verifyGenerationAndRetry; private generateJob; }