i18n-translate-agent
Version:
An intelligent i18n translation agent powered by OpenAI, supporting automatic translation of JSON files with caching and progress tracking
101 lines • 2.85 kB
TypeScript
import { MultiBar } from "cli-progress";
import OpenAI, { ClientOptions } from "openai";
import { ChatCompletionCreateParams } from "openai/resources";
export interface ILanguage {
/** 语言code */
code: SupportLanguageType;
/**语言名称 */
name: string;
}
export type SupportLanguageType = "en" | "zh-CN" | "zh-TW" | "ja" | "ar" | "bn" | "de" | "es-ES" | "fr" | "hi" | "id" | "it" | "ko" | "ms" | "my" | "ne-NP" | "nl" | "pl" | "pt-PT" | "ru" | "tl" | "tr" | "vi" | "uk" | "ur-PK";
export type SupportLanguageMap = Partial<Record<SupportLanguageType, ILanguage>>;
export interface ILogError {
error: Error;
}
export interface ITranslateLogError extends ILogError {
key: string;
language: SupportLanguageType;
fileName: string;
}
export interface ICreateJsonFileParams {
language: SupportLanguageType;
fileName: string;
folderName: string;
jsonData: IJson;
}
export interface IOutputLanguageFile {
folderName: SupportLanguageType;
fileName: string;
jsonMap: IJson;
newTranslations?: IJson;
}
export interface IRegisterLanguageCacheFile {
folderName: string;
fileName: string;
language: SupportLanguageType;
jsonMap: IJson;
/** await translate file path */
sourceFilePath: string;
}
export interface IJson {
[key: string]: string;
}
export interface ISingleTranslate {
language: SupportLanguageType;
fileName: string;
translateJson: IJson;
multiBar: MultiBar;
callback?: () => void;
}
export interface ITranslateChat {
key: string;
value: string;
language: SupportLanguageType;
index: number;
fileName: string;
}
export interface ITranslateChatResponse {
key: string;
value: string;
index: number;
error?: Error;
}
export interface ICwalletTranslateParams {
cacheFileRootPath: string;
/** await translate file root path */
fileRootPath: string;
fineTune: string[];
languages: SupportLanguageType[];
outputRootPath?: string;
sourceLanguage?: SupportLanguageType;
openaiClientConfig?: ClientOptions;
chatCompletionCreateParams?: Partial<ChatCompletionCreateParams>;
}
export interface ITranslate {
}
export interface IOpenaiConfig {
model: OpenAI.Chat.ChatModel;
}
export interface ITestParams {
key: string;
question: string;
}
export interface IGenerateCacheParams {
sourceFolderPath: string;
sourceLanguage: SupportLanguageType;
languages: SupportLanguageType[];
exportFolderPath: string;
}
export interface IDeleteSingleCacheParams {
keys: string[];
cacheFolderPath: string;
cacheFileName: string;
/** 不传默认删除所有 */
languages?: SupportLanguageType[];
}
export interface ICacheFile {
fileName: string;
filePath: string;
data: Record<string, string>;
}
//# sourceMappingURL=index.d.ts.map