UNPKG

@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
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;