i18n-ai-translate
Version:
Use LLMs to translate your i18n JSON to any language.
43 lines (42 loc) • 1.67 kB
TypeScript
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;
}