Add types for global translation function

58bbfc0d4ebeefb0590fab5a9583cd3d43addb05

Cohee <18619528+Cohee1207@users.noreply.github.com>

4 files changed, +13 -5Ignore whitespace
public/global.d.ts+8 -0
@@ -40,4 +40,12 @@ declare global {
40 searchInputCssClass?: string;40 searchInputCssClass?: string;
41 }41 }
42 }42 }
43
44 /**
45 * Translates a text to a target language using a translation provider.
46 * @param text Text to translate
47 * @param lang Target language
48 * @param provider Translation provider
49 */
50 async function translate(text: string, lang: string, provider: string = null): Promise<string>;
43}51}
public/scripts/extensions/expressions/index.js+2 -2
@@ -929,8 +929,8 @@ export async function getExpressionLabel(text, expressionsApi = extension_settin
929 return extension_settings.expressions.fallback_expression;929 return extension_settings.expressions.fallback_expression;
930 }930 }
931931
932 if (extension_settings.expressions.translate && typeof window['translate'] === 'function') {932 if (extension_settings.expressions.translate && typeof globalThis.translate === 'function') {
933 text = await window['translate'](text, 'en');933 text = await globalThis.translate(text, 'en');
934 }934 }
935935
936 text = sampleClassifyText(text);936 text = sampleClassifyText(text);
public/scripts/extensions/translate/index.js+1 -1
@@ -605,7 +605,7 @@ const handleOutgoingMessage = createEventHandler(translateOutgoingMessage, () =>
605const handleImpersonateReady = createEventHandler(translateImpersonate, () => shouldTranslate(incomingTypes));605const handleImpersonateReady = createEventHandler(translateImpersonate, () => shouldTranslate(incomingTypes));
606const handleMessageEdit = createEventHandler(translateMessageEdit, () => true);606const handleMessageEdit = createEventHandler(translateMessageEdit, () => true);
607607
608window['translate'] = translate;608globalThis.translate = translate;
609609
610jQuery(async () => {610jQuery(async () => {
611 const html = await renderExtensionTemplateAsync('translate', 'index');611 const html = await renderExtensionTemplateAsync('translate', 'index');
public/scripts/extensions/vectors/index.js+2 -2
@@ -561,9 +561,9 @@ async function retrieveFileChunks(queryText, collectionId) {
561 */561 */
562async function vectorizeFile(fileText, fileName, collectionId, chunkSize, overlapPercent) {562async function vectorizeFile(fileText, fileName, collectionId, chunkSize, overlapPercent) {
563 try {563 try {
564 if (settings.translate_files && typeof window['translate'] === 'function') {564 if (settings.translate_files && typeof globalThis.translate === 'function') {
565 console.log(`Vectors: Translating file ${fileName} to English...`);565 console.log(`Vectors: Translating file ${fileName} to English...`);
566 const translatedText = await window['translate'](fileText, 'en');566 const translatedText = await globalThis.translate(fileText, 'en');
567 fileText = translatedText;567 fileText = translatedText;
568 }568 }
569569