Default lang for chatgpt responses. related to #14

This commit is contained in:
mic 2024-04-05 00:34:00 +02:00
parent d15a56a03a
commit 1e8fc2a1e9
6 changed files with 35 additions and 7 deletions

View file

@ -99,6 +99,11 @@
"description": ""
},
"prefs_OptionText_default_chatgpt_lang": {
"message": "Default language for ChatGPT responses",
"description": ""
},
"prefsInfoTitle": {
"message": "Important Information",
"description": ""

View file

@ -99,6 +99,10 @@
"description": ""
},
"prefs_OptionText_default_chatgpt_lang": {
"message": "Lingua predefinita per le risposte di ChatGPT",
"description": ""
},
"prefsInfoTitle": {
"message": "Informazioni Importanti",

5
js/mzta-utils.js Normal file
View file

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

View file

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

View file

@ -11,7 +11,9 @@
<label><input type="number" id="chatgpt_win_height" name="chatgpt_win_height" class="option-input" /> __MSG_prefs_OptionText_chatgpt_win_height__</label><br/>
<input type="number" id="chatgpt_win_width" name="chatgpt_win_width" class="option-input" /> __MSG_prefs_OptionText_chatgpt_win_width__</label><br/>
<br/>
<label><input type="text" id="default_sign_name" name="default_sign_name" class="option-input" /> __MSG_prefs_OptionText_default_sign_name__</label></div>
<label><input type="text" id="default_sign_name" name="default_sign_name" class="option-input" /> __MSG_prefs_OptionText_default_sign_name__</label><br/>
<label><input type="text" id="default_chatgpt_lang" name="default_chatgpt_lang" class="option-input" /> __MSG_prefs_OptionText_default_chatgpt_lang__</label>
</div>
<div id="miczDescription">
<h1>__MSG_prefsInfoTitle__</h1>
<p>__MSG_prefsInfoDesc_1__<br/>

View file

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