Used for translate source management. Multiple I translate objects are registered together, and the proxy API realizes the switching of different translation sources.
Koa requires higher for ES2020 and async function support.
$ npm install translate-manager
let translateManager = new TranslateManager(context.workspaceState);
translateManager.onTranslate(e => {
console.log(e);
});
Register translate source to manager.
export interface ITranslate {
translate(content: string, options: ITranslateOptions): Promise<string>;
link(content: string, options: ITranslateOptions): string;
isSupported?: (src: string) => boolean;
maxLen: number;
}
/**
* @param key Registered key
* @param translate Constructor of ITranslate
*/
translateManager.registry(key, translate);
Switch active translate source
if (translateManager.hasSource(key)) {
return translateManager.setSource(key);
}
Consistent with ITranslate
translateManager.translate(...);
translateManager.link(...);
translateManager.isSupport(...);
translateManager.maxLen;