diff --git a/_locales/en/messages.json b/_locales/en/messages.json index a9e743d5..d5f70d73 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -99,6 +99,11 @@ "description": "" }, + "prefs_OptionText_default_chatgpt_lang": { + "message": "Default language for ChatGPT responses", + "description": "" + }, + "prefsInfoTitle": { "message": "Important Information", "description": "" diff --git a/_locales/it/messages.json b/_locales/it/messages.json index a9f6e655..12153896 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -99,6 +99,10 @@ "description": "" }, + "prefs_OptionText_default_chatgpt_lang": { + "message": "Lingua predefinita per le risposte di ChatGPT", + "description": "" + }, "prefsInfoTitle": { "message": "Informazioni Importanti", diff --git a/js/mzta-utils.js b/js/mzta-utils.js new file mode 100644 index 00000000..bb483198 --- /dev/null +++ b/js/mzta-utils.js @@ -0,0 +1,5 @@ +export function getLanguageDisplayName(languageCode) { + const languageDisplay = new Intl.DisplayNames([languageCode], {type: 'language'}); + let lang_string = languageDisplay.of(languageCode); + return lang_string.charAt(0).toUpperCase() + lang_string.slice(1); + } \ No newline at end of file diff --git a/messageMenu/mzta-msgmenu.js b/messageMenu/mzta-msgmenu.js index b99ef588..0ce00890 100644 --- a/messageMenu/mzta-msgmenu.js +++ b/messageMenu/mzta-msgmenu.js @@ -1,6 +1,7 @@ // Modified version derived from https://github.com/ali-raheem/Aify/blob/cfadf52f576b7be3720b5b73af7c8d3129c054da/plugin/html/actions.js import { defaultPrompts } from '../js/mzta-prompts.js'; +import { getLanguageDisplayName } from '../js/mzta-utils.js' const addAction = (curr_prompt, promptsContainer) => { const promptDiv = document.createElement("div"); @@ -36,7 +37,15 @@ const addAction = (curr_prompt, promptsContainer) => { } //open chatgpt window //console.log("Click menu item..."); - var fullPrompt = curr_prompt.text + " " + await getDefaultSignature() + " " + browser.i18n.getMessage("prompt_lang") + browser.i18n.getMessage("prompt_translate_lang") + " \"" + msg_text.text + "\" "; + let prefs = await browser.storage.sync.get({default_chatgpt_lang: getLanguageDisplayName(browser.i18n.getUILanguage())}); + let chatgpt_lang = prefs.default_chatgpt_lang; + + var fullPrompt = fullPrompt = curr_prompt.text + (curr_prompt.need_signature ? " " + await getDefaultSignature():"") + " " + browser.i18n.getMessage("prompt_lang") + chatgpt_lang + ". \"" + msg_text.text + "\" "; + + if(curr_prompt.id == 'prompt_translate_this'){ + fullPrompt = curr_prompt.text + chatgpt_lang + ". \"" + msg_text.text + "\" "; + } + const tabs = await browser.tabs.query({ active: true, currentWindow: true }); browser.runtime.sendMessage({command: "chatgpt_open", prompt: fullPrompt, action: curr_prompt.action, tabId: tabs[0].id}); }; diff --git a/options/mzta-options.html b/options/mzta-options.html index a0cf2309..b595480e 100644 --- a/options/mzta-options.html +++ b/options/mzta-options.html @@ -11,7 +11,9 @@
__MSG_prefs_OptionText_chatgpt_win_width__

- +
+ +

__MSG_prefsInfoTitle__

__MSG_prefsInfoDesc_1__
diff --git a/options/mzta-options.js b/options/mzta-options.js index 4af0c7fd..41d13a6d 100644 --- a/options/mzta-options.js +++ b/options/mzta-options.js @@ -1,4 +1,5 @@ import { prefs_default } from './mzta-options-default.js'; +import { getLanguageDisplayName } from '../js/mzta-utils.js' function saveOptions(e) { e.preventDefault(); @@ -34,13 +35,15 @@ function restoreOptions() { element.checked = result[element.id] || false; break; case 'number': - let default_value = 0; - if(element.id == 'chatgpt_win_height') default_value = prefs_default.chatgpt_win_height; - if(element.id == 'chatgpt_win_width') default_value = prefs_default.chatgpt_win_width; - element.value = result[element.id] || default_value; + let default_number_value = 0; + if(element.id == 'chatgpt_win_height') default_number_value = prefs_default.chatgpt_win_height; + if(element.id == 'chatgpt_win_width') default_number_value = prefs_default.chatgpt_win_width; + element.value = result[element.id] || default_number_value; break; case 'text': - element.value = result[element.id] || ''; + let default_text_value = ''; + if(element.id == 'default_chatgpt_lang') default_text_value = getLanguageDisplayName(browser.i18n.getUILanguage()); + element.value = result[element.id] || default_text_value; break; default: if (element.tagName === 'SELECT') {