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_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') {