@siamf/google-translate
Version:
A nodejs package for translating text using google translate for free! It also support batching translation!
49 lines (48 loc) • 1.23 kB
TypeScript
interface Options {
from: string;
}
type TextObject = Record<string, string>;
export interface BatchResponse {
data: {
source: {
lan: string;
text: string;
};
target: {
lan: string;
text: string;
}[];
};
}
export interface SingleResponse {
data: {
source: {
lan: string;
text: string;
};
target: {
lan: string;
text: string;
};
};
}
type TranslatedText<T extends TextObject, U extends string[]> = {
languageCode: U[number];
} & {
[K in keyof T]: string;
};
export type MultiResponse<T extends TextObject, U extends string[]> = {
data: {
source: {
lan: string;
};
target: TranslatedText<T, U>[];
};
};
interface Translate {
batch: (text: string, targets: string[], options?: Options) => Promise<BatchResponse>;
single: (text: string, targets: string, options?: Options) => Promise<SingleResponse>;
multi: <T extends TextObject>(text: T, targets: string[], options?: Options) => Promise<MultiResponse<T, typeof targets>>;
}
declare const translate: Translate;
export default translate;