Merge pull request #78 from micz/keep_format
Keeping the text formatting from ChatGPT and other minor improvements. Ready for version 1.1.4
This commit is contained in:
commit
f273992d84
16 changed files with 887 additions and 955 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -4,9 +4,17 @@
|
|||
|
||||
|
||||
|
||||
<h2>Version 1.1.4 - 28/06/2024</h2>
|
||||
<ul>
|
||||
<li>Added an option to import text with formatting from ChatGPT, set to false by default [<a href="https://github.com/micz/ThunderAI/issues/70">#70</a>], [<a href="https://github.com/micz/ThunderAI/issues/77">#77</a>].</li>
|
||||
<li>Improve the message warning to choose the right model [<a href="https://github.com/micz/ThunderAI/issues/76">#76</a>].</li>
|
||||
<li>Added a description in the Custom Prompts page about default prompts [<a href="https://github.com/micz/ThunderAI/issues/74">#74</a>].</li>
|
||||
<li>Added a link to the <a href="https://micz.it/thunderbird-addon-thunderai/translate/">translate page</a> in the options window [<a href="https://github.com/micz/ThunderAI/issues/68">#68</a>].</li>
|
||||
</ul>
|
||||
|
||||
<h2>Version 1.1.3 - 18/06/2024</h2>
|
||||
<ul>
|
||||
<li>Fixed a bug in replying to a message [<a href="https://github.com/micz/ThunderAI/issues/70">#70</a>].</li>
|
||||
<li>Fixed a bug in replying to a message [<a href="https://github.com/micz/ThunderAI/issues/71">#71</a>].</li>
|
||||
</ul>
|
||||
|
||||
<h2>Version 1.1.2 - 23/05/2024</h2>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ Starting from version 1.1.0, you can also define your own **custom prompts**! Fi
|
|||
<br>
|
||||
|
||||
## Translations
|
||||
Do you want to help translating this addon?
|
||||
Do you want to help translate this addon?
|
||||
|
||||
[Find out how!](https://micz.it/thunderbird-addon-thunderai/translate/)
|
||||
|
||||
<br>
|
||||
|
|
@ -25,6 +26,6 @@ ThunderAI's changes are logged [here](CHANGELOG.md).
|
|||
|
||||
<br>Thanks to:
|
||||
<ul><li><a href="https://github.com/KudoAI/chatgpt.js">chatgpt.js</a> for providing methods to interact with the ChatGTP frontend.</li>
|
||||
<li><a href="https://github.com/ali-raheem/Aify">Aify</a> for inspiration and certains methods to process the text from ChatGPT.</li>
|
||||
<li><a href="https://github.com/ali-raheem/Aify">Aify</a> for inspiration.</li>
|
||||
</ul>
|
||||
<i>The specific references are described in the corresponding source files.</i>
|
||||
|
|
|
|||
|
|
@ -1,407 +1,346 @@
|
|||
{
|
||||
"extensionDescription": {
|
||||
"message": "Verwenden Sie ChatGPT, um Ihre E-Mails zu verbessern!",
|
||||
"description": "Beschreibung der Erweiterung."
|
||||
},
|
||||
|
||||
"menu_title": {
|
||||
"message": "KI",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_lang": {
|
||||
"message": "Antwort in ",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_reply": {
|
||||
"message": "Darauf antworten",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_rewrite_polite": {
|
||||
"message": "Höflich umschreiben",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_rewrite_formal": {
|
||||
"message": "Formal umschreiben",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_classify": {
|
||||
"message": "Klassifizieren",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_summarize_this": {
|
||||
"message": "Zusammenfassen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_translate_this": {
|
||||
"message": "Übersetzen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_this": {
|
||||
"message": "Auffordern",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_selection_needed": {
|
||||
"message": "Um fortzufahren, müssen Sie einen Text auswählen!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_managePrompts": {
|
||||
"message": "Eingabeaufforderungen verwalten",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_managePrompts_help": {
|
||||
"message": "Informationen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_start_saving": {
|
||||
"message": "Eingabeaufforderungen werden gespeichert...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_reindexing_list": {
|
||||
"message": "Liste wird neu indiziert...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_filtering_prompts": {
|
||||
"message": "Eingabeaufforderungen werden gefiltert...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saving_default_prompts": {
|
||||
"message": "Standard-Eingabeaufforderungen werden gespeichert...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saving_custom_prompts": {
|
||||
"message": "Benutzerdefinierte Eingabeaufforderungen werden gespeichert...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_reloading_menus": {
|
||||
"message": "Menüs werden neu geladen...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saved": {
|
||||
"message": "Eingabeaufforderungen gespeichert!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_ID": {
|
||||
"message": "ID",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_ID_rules": {
|
||||
"message": "Muss eindeutig, kleingeschrieben und ohne Leerzeichen sein",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Name": {
|
||||
"message": "Name",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Text": {
|
||||
"message": "Eingabeaufforderungstext",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Action": {
|
||||
"message": "Aktion",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_selected": {
|
||||
"message": "Textauswahl erforderlich",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_signature": {
|
||||
"message": "Immer die Signatur hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_custom_text": {
|
||||
"message": "Nach zusätzlichem Text fragen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_enabled": {
|
||||
"message": "Aktiviert",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_required_fields": {
|
||||
"message": "Erforderliche Felder",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnEdit": {
|
||||
"message": "Bearbeiten",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnCancel": {
|
||||
"message": "Abbrechen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnOK": {
|
||||
"message": "OK",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnDelete": {
|
||||
"message": "Löschen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnDelete_confirmText": {
|
||||
"message": "Sind Sie sicher, dass Sie dieses Element löschen möchten?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_unsaved_changes": {
|
||||
"message": "Es gibt ungespeicherte Änderungen!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnSaveAll": {
|
||||
"message": "Alle speichern",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_save_button": {
|
||||
"message": "Speichern",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnNew": {
|
||||
"message": "Neu hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnAddNewCommit": {
|
||||
"message": "Eingabeaufforderung hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu": {
|
||||
"message": "Zum Menü hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_always": {
|
||||
"message": "Immer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_reading": {
|
||||
"message": "E-Mail lesen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_composing": {
|
||||
"message": "E-Mail verfassen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_close_button": {
|
||||
"message": "Schließen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_do_reply": {
|
||||
"message": "Antworten",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_substitute_text": {
|
||||
"message": "Text ersetzen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_working": {
|
||||
"message": "Arbeit in Arbeit...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_job_completed": {
|
||||
"message": "Abgeschlossen!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_get_answer": {
|
||||
"message": "Letzte Antwort verwenden",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_close": {
|
||||
"message": "Schließen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_textarea_not_found_error": {
|
||||
"message": "Es gibt einen Fehler beim Senden der Eingabeaufforderung an ChatGPT. Bitte versuchen Sie es erneut. Wenn das Problem weiterhin besteht, überprüfen Sie bitte den <a href=\"https://micz.it/thunderbird-addon-thunderai/status/\">Dienststatus</a>.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_sendbutton_not_found_error": {
|
||||
"message": "Klicken Sie auf die Schaltfläche „Senden“, um die Eingabeaufforderung zu übermitteln.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_user_not_logged_in": {
|
||||
"message": "Sie sind nicht bei ChatGPT angemeldet. Bitte melden Sie sich mit Ihren Anmeldeinformationen an, schließen Sie das ChatGPT-Fenster und wiederholen Sie dann die Aktion, die Sie versucht haben. Danach bleiben Sie angemeldet.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_model_warning": {
|
||||
"message": "Sie haben die Option zur Verwendung von ChatGPT-4 eingestellt, aber es scheint, dass es nicht korrekt geladen wird. Haben Sie das richtige Modell oben ausgewählt?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_custom_text": {
|
||||
"message": "Fügen Sie hier den zusätzlichen Text für die Eingabeaufforderung ein.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_send": {
|
||||
"message": "Senden",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_use_gpt35": {
|
||||
"message": "Verwenden Sie GPT3.5",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_force_completion": {
|
||||
"message": "Abschluss erzwingen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_force_completion_title": {
|
||||
"message": "Klicken Sie hier, um die Schaltfläche „Letzte Antwort verwenden“ anzuzeigen, wenn ChatGPT seine Arbeit abgeschlossen hat, die Schaltfläche jedoch nicht erschienen ist.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"msg_prompt_too_long": {
|
||||
"message": "Der eingegebene Text ist zu lang. Sie müssen ihn verkürzen, um ChatGPT zu verwenden.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_release_notes": {
|
||||
"message": "Versionshinweise",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_status_page": {
|
||||
"message": "Dienststatus",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_text": {
|
||||
"message": "ChatGPT-Fensterabmessungen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_height": {
|
||||
"message": "Höhe",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_width": {
|
||||
"message": "Breite",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_default_sign_name": {
|
||||
"message": "Standard-Signaturname",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_default_chatgpt_lang": {
|
||||
"message": "Standardsprache für ChatGPT-Antworten",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_all": {
|
||||
"message": "Allen antworten",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_sender": {
|
||||
"message": "Absender antworten",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_type": {
|
||||
"message": "Antworttyp",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatpgt_use_gpt4": {
|
||||
"message": "Verwenden Sie ChatGPT-4",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatpgt_use_gpt4_info": {
|
||||
"message": "Nachdem Sie diese Option geändert haben, müssen Sie beim ersten Gebrauch das richtige Modell auswählen.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_btnManagePrompts": {
|
||||
"message": "Verwalten Sie Ihre Eingabeaufforderungen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoTitle": {
|
||||
"message": "Wichtige Informationen",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_1": {
|
||||
"message": "Es ist nicht mehr möglich, den Verlauf der ChatGPT-Chats zu deaktivieren. Daher gibt es keine Möglichkeit, zu verhindern, dass Anfragen, die über dieses Addon gestellt werden, in Ihrem ChatGPT-Chatverlauf erscheinen.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_2": {
|
||||
"message": "Wenn eine weiße Seite erscheint, wenn das ChatGPT-Fenster geöffnet wird, bedeutet dies, dass es ein Problem beim Laden der ChatGPT-Seite gibt, das nicht mit der Verwendung dieses Add-Ons zusammenhängt.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_3": {
|
||||
"message": " ",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsDonation_1": {
|
||||
"message": "Gefällt Ihnen dieses Addon?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsDonation_2": {
|
||||
"message": "Überlegen Sie, eine Spende zu machen!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"backToOptionsText": {
|
||||
"message": "Optionen",
|
||||
"description": ""
|
||||
}
|
||||
"extensionDescription": {
|
||||
"message": "Verwenden Sie ChatGPT, um Ihre E-Mails zu verbessern!",
|
||||
"description": "Beschreibung der Erweiterung."
|
||||
},
|
||||
"menu_title": {
|
||||
"message": "KI",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_lang": {
|
||||
"message": "Antwort in ",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_reply": {
|
||||
"message": "Darauf antworten",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_rewrite_polite": {
|
||||
"message": "Höflich umschreiben",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_rewrite_formal": {
|
||||
"message": "Formal umschreiben",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_classify": {
|
||||
"message": "Klassifizieren",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_summarize_this": {
|
||||
"message": "Zusammenfassen",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_translate_this": {
|
||||
"message": "Übersetzen",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_this": {
|
||||
"message": "Auffordern",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_selection_needed": {
|
||||
"message": "Um fortzufahren, müssen Sie einen Text auswählen!",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_managePrompts": {
|
||||
"message": "Eingabeaufforderungen verwalten",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_managePrompts_help": {
|
||||
"message": "Informationen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_managePrompts_info_default": {
|
||||
"message": "Die Standard-Eingabeaufforderungen sind nicht bearbeitbar. Sie können sie deaktivieren, dann den Text der Eingabeaufforderung kopieren und in eine neue einfügen, um eine modifizierte Version zu erstellen.",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_start_saving": {
|
||||
"message": "Eingabeaufforderungen werden gespeichert...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_reindexing_list": {
|
||||
"message": "Liste wird neu indiziert...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_filtering_prompts": {
|
||||
"message": "Eingabeaufforderungen werden gefiltert...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_saving_default_prompts": {
|
||||
"message": "Standard-Eingabeaufforderungen werden gespeichert...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_saving_custom_prompts": {
|
||||
"message": "Benutzerdefinierte Eingabeaufforderungen werden gespeichert...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_reloading_menus": {
|
||||
"message": "Menüs werden neu geladen...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_saved": {
|
||||
"message": "Eingabeaufforderungen gespeichert!",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_ID": {
|
||||
"message": "ID",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_ID_rules": {
|
||||
"message": "Muss eindeutig, kleingeschrieben und ohne Leerzeichen sein",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_Name": {
|
||||
"message": "Name",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_Text": {
|
||||
"message": "Eingabeaufforderungstext",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_Action": {
|
||||
"message": "Aktion",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_need_selected": {
|
||||
"message": "Textauswahl erforderlich",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_need_signature": {
|
||||
"message": "Immer die Signatur hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_need_custom_text": {
|
||||
"message": "Nach zusätzlichem Text fragen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_enabled": {
|
||||
"message": "Aktiviert",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_required_fields": {
|
||||
"message": "Erforderliche Felder",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnEdit": {
|
||||
"message": "Bearbeiten",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnCancel": {
|
||||
"message": "Abbrechen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnOK": {
|
||||
"message": "OK",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnDelete": {
|
||||
"message": "Löschen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnDelete_confirmText": {
|
||||
"message": "Sind Sie sicher, dass Sie dieses Element löschen möchten?",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_unsaved_changes": {
|
||||
"message": "Es gibt ungespeicherte Änderungen!",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnSaveAll": {
|
||||
"message": "Alle speichern",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_save_button": {
|
||||
"message": "Speichern",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnNew": {
|
||||
"message": "Neu hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnAddNewCommit": {
|
||||
"message": "Eingabeaufforderung hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu": {
|
||||
"message": "Zum Menü hinzufügen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu_always": {
|
||||
"message": "Immer",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu_reading": {
|
||||
"message": "E-Mail lesen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu_composing": {
|
||||
"message": "E-Mail verfassen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_close_button": {
|
||||
"message": "Schließen",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_do_reply": {
|
||||
"message": "Antworten",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_substitute_text": {
|
||||
"message": "Text ersetzen",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_working": {
|
||||
"message": "Arbeit in Arbeit...",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_job_completed": {
|
||||
"message": "Abgeschlossen!",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_get_answer": {
|
||||
"message": "Letzte Antwort verwenden",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_close": {
|
||||
"message": "Schließen",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_textarea_not_found_error": {
|
||||
"message": "Es gibt einen Fehler beim Senden der Eingabeaufforderung an ChatGPT. Bitte versuchen Sie es erneut. Wenn das Problem weiterhin besteht, überprüfen Sie bitte den <a href=\"https://micz.it/thunderbird-addon-thunderai/status/\">Dienststatus</a>.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_sendbutton_not_found_error": {
|
||||
"message": "Klicken Sie auf die Schaltfläche „Senden“, um die Eingabeaufforderung zu übermitteln.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_user_not_logged_in": {
|
||||
"message": "Sie sind nicht bei ChatGPT angemeldet. Bitte melden Sie sich mit Ihren Anmeldeinformationen an, schließen Sie das ChatGPT-Fenster und wiederholen Sie dann die Aktion, die Sie versucht haben. Danach bleiben Sie angemeldet.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_model_warning": {
|
||||
"message": "Sie haben die Option zur Verwendung von ChatGPT-4 eingestellt, aber es scheint, dass es nicht korrekt geladen wird. Haben Sie oben das Modell 4 oder 4o gewählt?",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_custom_text": {
|
||||
"message": "Fügen Sie hier den zusätzlichen Text für die Eingabeaufforderung ein.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_send": {
|
||||
"message": "Senden",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_use_gpt35": {
|
||||
"message": "Verwenden Sie GPT3.5",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_force_completion": {
|
||||
"message": "Abschluss erzwingen",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_force_completion_title": {
|
||||
"message": "Klicken Sie hier, um die Schaltfläche „Letzte Antwort verwenden“ anzuzeigen, wenn ChatGPT seine Arbeit abgeschlossen hat, die Schaltfläche jedoch nicht erschienen ist.",
|
||||
"description": ""
|
||||
},
|
||||
"msg_prompt_too_long": {
|
||||
"message": "Der eingegebene Text ist zu lang. Sie müssen ihn verkürzen, um ChatGPT zu verwenden.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_release_notes": {
|
||||
"message": "Versionshinweise",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_status_page": {
|
||||
"message": "Dienststatus",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatgpt_win_text": {
|
||||
"message": "ChatGPT-Fensterabmessungen",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatgpt_win_height": {
|
||||
"message": "Höhe",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatgpt_win_width": {
|
||||
"message": "Breite",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_default_sign_name": {
|
||||
"message": "Standard-Signaturname",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_default_chatgpt_lang": {
|
||||
"message": "Standardsprache für ChatGPT-Antworten",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_reply_all": {
|
||||
"message": "Allen antworten",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_reply_sender": {
|
||||
"message": "Absender antworten",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_reply_type": {
|
||||
"message": "Antworttyp",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_keep_formatting": {
|
||||
"message": "Behalte die Formatierung bei",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_keep_formatting_info": {
|
||||
"message": "Behalte die Formatierung und die Zahlen oder Aufzählungspunkte aus der ChatGPT-Antwort bei.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_use_gpt4": {
|
||||
"message": "Verwenden Sie ChatGPT-4",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_use_gpt4_info": {
|
||||
"message": "Nachdem Sie diese Option geändert haben, müssen Sie beim ersten Gebrauch das richtige Modell auswählen.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_btnManagePrompts": {
|
||||
"message": "Verwalten Sie Ihre Eingabeaufforderungen",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoTitle": {
|
||||
"message": "Wichtige Informationen",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoDesc_1": {
|
||||
"message": "Es ist nicht mehr möglich, den Verlauf der ChatGPT-Chats zu deaktivieren. Daher gibt es keine Möglichkeit, zu verhindern, dass Anfragen, die über dieses Addon gestellt werden, in Ihrem ChatGPT-Chatverlauf erscheinen.",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoDesc_2": {
|
||||
"message": "Wenn eine weiße Seite erscheint, wenn das ChatGPT-Fenster geöffnet wird, bedeutet dies, dass es ein Problem beim Laden der ChatGPT-Seite gibt, das nicht mit der Verwendung dieses Add-Ons zusammenhängt.",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoDesc_3": {
|
||||
"message": " ",
|
||||
"description": ""
|
||||
},
|
||||
"prefsDonation_1": {
|
||||
"message": "Gefällt Ihnen dieses Addon?",
|
||||
"description": ""
|
||||
},
|
||||
"prefsDonation_2": {
|
||||
"message": "Überlegen Sie, eine Spende zu machen!",
|
||||
"description": ""
|
||||
},
|
||||
"backToOptionsText": {
|
||||
"message": "Optionen",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateText": {
|
||||
"message": "Möchtest du helfen, dieses Add-on zu übersetzen?",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateLink": {
|
||||
"message": "Finde es heraus!",
|
||||
"description": ""
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,404 +3,344 @@
|
|||
"message": "Use ChatGPT to enhance you emails!",
|
||||
"description": "Description of the extension."
|
||||
},
|
||||
|
||||
"menu_title": {
|
||||
"message": "AI",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_lang": {
|
||||
"message": "Reply in ",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_reply": {
|
||||
"message": "Reply to this",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_rewrite_polite": {
|
||||
"message": "Rewrite polite",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_rewrite_formal": {
|
||||
"message": "Rewrite formal",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_classify": {
|
||||
"message": "Classify",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_summarize_this": {
|
||||
"message": "Summarize this",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_translate_this": {
|
||||
"message": "Translate this",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_this": {
|
||||
"message": "Prompt this",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_selection_needed": {
|
||||
"message": "To proceed, you need to select some text!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_managePrompts": {
|
||||
"message": "Manage Prompts",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_managePrompts_help": {
|
||||
"message": "More info",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_managePrompts_info_default": {
|
||||
"message": "The default prompts are not editable. You can disable them, then copy the prompt text and paste it into a new one to create a modified version.",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_start_saving": {
|
||||
"message": "Saving prompts...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_reindexing_list": {
|
||||
"message": "Reindexing list...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_filtering_prompts": {
|
||||
"message": "Filtering prompts...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saving_default_prompts": {
|
||||
"message": "Saving default prompts...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saving_custom_prompts": {
|
||||
"message": "Saving custom prompts...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_reloading_menus": {
|
||||
"message": "Reloading menus...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saved": {
|
||||
"message": "Prompts saved!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_ID": {
|
||||
"message": "ID",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_ID_rules": {
|
||||
"message": "Must be unique, lowercase and without spaces",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Name": {
|
||||
"message": "Name",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Text": {
|
||||
"message": "Prompt Text",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Action": {
|
||||
"message": "Action",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_selected": {
|
||||
"message": "Text selection needed",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_signature": {
|
||||
"message": "Always add the signature",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_custom_text": {
|
||||
"message": "Ask for additional text",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_enabled": {
|
||||
"message": "Enabled",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_required_fields": {
|
||||
"message": "Required fields",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnEdit": {
|
||||
"message": "Edit",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnCancel": {
|
||||
"message": "Cancel",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnOK": {
|
||||
"message": "OK",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnDelete": {
|
||||
"message": "Delete",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnDelete_confirmText": {
|
||||
"message": "Are you sure you want to delete this item?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_unsaved_changes": {
|
||||
"message": "There are unsaved changes!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnSaveAll": {
|
||||
"message": "Save All",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_save_button": {
|
||||
"message": "Save",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnNew": {
|
||||
"message": "Add New",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnAddNewCommit": {
|
||||
"message": "Add the Prompt",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu": {
|
||||
"message": "Add to menu",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_always": {
|
||||
"message": "Always",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_reading": {
|
||||
"message": "Reading an email",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_composing": {
|
||||
"message": "Composing an email",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_close_button": {
|
||||
"message": "Close button",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_do_reply": {
|
||||
"message": "Do reply",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_substitute_text": {
|
||||
"message": "Substitute text",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_working": {
|
||||
"message": "Work in progress...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_job_completed": {
|
||||
"message": "Completed!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_get_answer": {
|
||||
"message": "Use last answer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_close": {
|
||||
"message": "Close",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_textarea_not_found_error": {
|
||||
"message": "There is an error sending the prompt to ChatGPT, please retry. If the problem persists, please <a href=\"https://micz.it/thunderbird-addon-thunderai/status/\">check the service status</a>.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_sendbutton_not_found_error": {
|
||||
"message": "Click the send button to submit the prompt.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_user_not_logged_in": {
|
||||
"message": "You are not logged in to ChatGPT. Please log in with your credentials, close the ChatGPT window, and then repeat the action you attempted. You will remain logged in afterwards.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_model_warning": {
|
||||
"message": "You have set the option to use ChatGPT-4, but it seems that it is not loading correctly. Have you chosen the right model at the top?",
|
||||
"message": "You have set the option to use ChatGPT-4, but it seems that it is not loading correctly. Have you chosen the model 4 or 4o at the top?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_custom_text": {
|
||||
"message": "Insert here the additional text for the prompt.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_send": {
|
||||
"message": "Send",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_use_gpt35": {
|
||||
"message": "Use GPT3.5",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_force_completion": {
|
||||
"message": "force completion",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_force_completion_title": {
|
||||
"message": "Click here to display the 'Use last answer' button if ChatGPT has finished its work but the button has not appeared.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"msg_prompt_too_long": {
|
||||
"message": "The text you provided is too long. You need to reduce it to use ChatGPT.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_release_notes": {
|
||||
"message": "Release Notes",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_status_page": {
|
||||
"message": "service status",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_text": {
|
||||
"message": "ChatGPT window dimensions",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_height": {
|
||||
"message": "Height",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_width": {
|
||||
"message": "Width",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_default_sign_name": {
|
||||
"message": "Default signature name",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_default_chatgpt_lang": {
|
||||
"message": "Default language for ChatGPT responses",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_all": {
|
||||
"message": "Reply to All",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_sender": {
|
||||
"message": "Reply to Sender",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_type": {
|
||||
"message": "Reply type",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatpgt_keep_formatting": {
|
||||
"message": "Keep formatting",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_keep_formatting_info": {
|
||||
"message": "Keep the formatting and numeral or bullet points from the ChatGPT response.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_use_gpt4": {
|
||||
"message": "Use ChatGPT-4",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatpgt_use_gpt4_info": {
|
||||
"message": "After changing this option, you have to choose the right model the first time you use it.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_btnManagePrompts": {
|
||||
"message": "Manage your prompts",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoTitle": {
|
||||
"message": "Important Information",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_1": {
|
||||
"message": "It is no longer possible to disable the history of ChatGPT chats. Therefore, there is no way to prevent requests made through this addon from appearing in your ChatGPT chat history.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_2": {
|
||||
"message": "If a white page appears when opening the ChatGPT window, it means there is a problem loading the ChatGPT page, not related to the use of this add-on.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_3": {
|
||||
"message": " ",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsDonation_1": {
|
||||
"message": "Do you like this addon?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsDonation_2": {
|
||||
"message": "Consider to make a donation!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"backToOptionsText": {
|
||||
"message": "Options",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateText": {
|
||||
"message": "Do you want to help translate this addon?",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateLink": {
|
||||
"message": "Find out how!",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,407 +1,346 @@
|
|||
{
|
||||
"extensionDescription": {
|
||||
"message": "Utilisez ChatGPT pour améliorer vos emails!",
|
||||
"description": "Description de l'extension."
|
||||
},
|
||||
|
||||
"menu_title": {
|
||||
"message": "IA",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_lang": {
|
||||
"message": "Répondre en ",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_reply": {
|
||||
"message": "Répondre à ceci",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_rewrite_polite": {
|
||||
"message": "Réécrire de manière polie",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_rewrite_formal": {
|
||||
"message": "Réécrire de manière formelle",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_classify": {
|
||||
"message": "Classer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_summarize_this": {
|
||||
"message": "Résumer ceci",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_translate_this": {
|
||||
"message": "Traduire ceci",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_this": {
|
||||
"message": "Proposer ceci",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prompt_selection_needed": {
|
||||
"message": "Pour continuer, vous devez sélectionner du texte!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_managePrompts": {
|
||||
"message": "Gérer les prompts",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_managePrompts_help": {
|
||||
"message": "Informations",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_start_saving": {
|
||||
"message": "Enregistrement des prompts...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_reindexing_list": {
|
||||
"message": "Réindexation de la liste...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_filtering_prompts": {
|
||||
"message": "Filtrage des prompts...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saving_default_prompts": {
|
||||
"message": "Enregistrement des prompts par défaut...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saving_custom_prompts": {
|
||||
"message": "Enregistrement des prompts personnalisées...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_reloading_menus": {
|
||||
"message": "Rechargement des menus...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_saved": {
|
||||
"message": "prompts enregistrées!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_ID": {
|
||||
"message": "ID",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_ID_rules": {
|
||||
"message": "Doit être unique, en minuscules et sans espaces",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Name": {
|
||||
"message": "Nom",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Text": {
|
||||
"message": "Texte de la proposition",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_Action": {
|
||||
"message": "Action",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_selected": {
|
||||
"message": "Sélection de texte nécessaire",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_signature": {
|
||||
"message": "Toujours ajouter la signature",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_need_custom_text": {
|
||||
"message": "Demander du texte supplémentaire",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_label_enabled": {
|
||||
"message": "Activé",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_form_required_fields": {
|
||||
"message": "Champs obligatoires",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnEdit": {
|
||||
"message": "Modifier",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnCancel": {
|
||||
"message": "Annuler",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnOK": {
|
||||
"message": "OK",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnDelete": {
|
||||
"message": "Supprimer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnDelete_confirmText": {
|
||||
"message": "Êtes-vous sûr de vouloir supprimer cet élément?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_unsaved_changes": {
|
||||
"message": "Il y a des modifications non enregistrées!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnSaveAll": {
|
||||
"message": "Tout enregistrer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_save_button": {
|
||||
"message": "Enregistrer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnNew": {
|
||||
"message": "Ajouter nouveau",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_btnAddNewCommit": {
|
||||
"message": "Ajouter la proposition",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu": {
|
||||
"message": "Ajouter au menu",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_always": {
|
||||
"message": "Toujours",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_reading": {
|
||||
"message": "Lors de la lecture d'un email",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_add_to_menu_composing": {
|
||||
"message": "Lors de la rédaction d'un email",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_close_button": {
|
||||
"message": "Bouton de fermeture",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_do_reply": {
|
||||
"message": "Faire une réponse",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"customPrompts_substitute_text": {
|
||||
"message": "Remplacer le texte",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_working": {
|
||||
"message": "Travail en cours...",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_job_completed": {
|
||||
"message": "Terminé!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_get_answer": {
|
||||
"message": "Utiliser la dernière réponse",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_close": {
|
||||
"message": "Fermer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_textarea_not_found_error": {
|
||||
"message": "Il y a une erreur lors de l'envoi de la proposition à ChatGPT, veuillez réessayer. Si le problème persiste, veuillez <a href=\"https://micz.it/thunderbird-addon-thunderai/status/\">vérifier le statut du service</a>.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_sendbutton_not_found_error": {
|
||||
"message": "Cliquez sur le bouton d'envoi pour soumettre la proposition.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_user_not_logged_in": {
|
||||
"message": "Vous n'êtes pas connecté à ChatGPT. Veuillez vous connecter avec vos identifiants, fermer la fenêtre ChatGPT, puis répéter l'action que vous avez tentée. Vous resterez connecté par la suite.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_model_warning": {
|
||||
"message": "Vous avez choisi l'option d'utiliser ChatGPT-4, mais il semble qu'il ne se charge pas correctement. Avez-vous choisi le bon modèle en haut?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_custom_text": {
|
||||
"message": "Insérez ici le texte supplémentaire pour la proposition.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_win_send": {
|
||||
"message": "Envoyer",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_use_gpt35": {
|
||||
"message": "Utiliser GPT3.5",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_force_completion": {
|
||||
"message": "forcer l'achèvement",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"chatgpt_force_completion_title": {
|
||||
"message": "Cliquez ici pour afficher le bouton 'Utiliser la dernière réponse' si ChatGPT a terminé son travail mais que le bouton n'est pas apparu.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"msg_prompt_too_long": {
|
||||
"message": "Le texte que vous avez fourni est trop long. Vous devez le réduire pour utiliser ChatGPT.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_release_notes": {
|
||||
"message": "Notes de version",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_status_page": {
|
||||
"message": "statut du service",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_text": {
|
||||
"message": "Dimensions de la fenêtre ChatGPT",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_height": {
|
||||
"message": "Hauteur",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatgpt_win_width": {
|
||||
"message": "Largeur",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_default_sign_name": {
|
||||
"message": "Nom de la signature par défaut",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_default_chatgpt_lang": {
|
||||
"message": "Langue par défaut pour les réponses de ChatGPT",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_all": {
|
||||
"message": "Répondre à tous",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_sender": {
|
||||
"message": "Répondre à l'expéditeur",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_reply_type": {
|
||||
"message": "Type de réponse",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatpgt_use_gpt4": {
|
||||
"message": "Utiliser ChatGPT-4",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_chatpgt_use_gpt4_info": {
|
||||
"message": "Après avoir changé cette option, vous devez choisir le bon modèle la première fois que vous l'utilisez.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefs_OptionText_btnManagePrompts": {
|
||||
"message": "Gérer vos prompts",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoTitle": {
|
||||
"message": "Informations importantes",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_1": {
|
||||
"message": "Il n'est plus possible de désactiver l'historique des chats ChatGPT. Par conséquent, il n'y a aucun moyen d'empêcher les demandes effectuées via cet addon d'apparaître dans l'historique de vos chats ChatGPT.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_2": {
|
||||
"message": "Si une page blanche apparaît lors de l'ouverture de la fenêtre ChatGPT, cela signifie qu'il y a un problème de chargement de la page ChatGPT, non lié à l'utilisation de cet addon.",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsInfoDesc_3": {
|
||||
"message": " ",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsDonation_1": {
|
||||
"message": "Aimez-vous cet addon?",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"prefsDonation_2": {
|
||||
"message": "Envisagez de faire un don!",
|
||||
"description": ""
|
||||
},
|
||||
|
||||
"backToOptionsText": {
|
||||
"message": "Options",
|
||||
"description": ""
|
||||
}
|
||||
"extensionDescription": {
|
||||
"message": "Utilisez ChatGPT pour améliorer vos emails !",
|
||||
"description": "Description de l'extension."
|
||||
},
|
||||
"menu_title": {
|
||||
"message": "IA",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_lang": {
|
||||
"message": "Répondre en ",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_reply": {
|
||||
"message": "Répondre à ceci",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_rewrite_polite": {
|
||||
"message": "Réécrire de manière polie",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_rewrite_formal": {
|
||||
"message": "Réécrire de manière formelle",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_classify": {
|
||||
"message": "Classer",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_summarize_this": {
|
||||
"message": "Résumer ceci",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_translate_this": {
|
||||
"message": "Traduire ceci",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_this": {
|
||||
"message": "Proposer ceci",
|
||||
"description": ""
|
||||
},
|
||||
"prompt_selection_needed": {
|
||||
"message": "Pour continuer, vous devez sélectionner du texte !",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_managePrompts": {
|
||||
"message": "Gérer les prompts",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_managePrompts_help": {
|
||||
"message": "Informations",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_managePrompts_info_default": {
|
||||
"message": "Les invites par défaut ne sont pas modifiables. Vous pouvez les désactiver, puis copier le texte de l'invite et le coller dans une nouvelle pour créer une version modifiée.",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_start_saving": {
|
||||
"message": "Enregistrement des prompts...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_reindexing_list": {
|
||||
"message": "Réindexation de la liste...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_filtering_prompts": {
|
||||
"message": "Filtrage des prompts...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_saving_default_prompts": {
|
||||
"message": "Enregistrement des prompts par défaut...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_saving_custom_prompts": {
|
||||
"message": "Enregistrement des prompts personnalisées...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_reloading_menus": {
|
||||
"message": "Rechargement des menus...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_saved": {
|
||||
"message": "prompts enregistrées !",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_ID": {
|
||||
"message": "ID",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_ID_rules": {
|
||||
"message": "Doit être unique, en minuscules et sans espaces",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_Name": {
|
||||
"message": "Nom",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_Text": {
|
||||
"message": "Texte de la proposition",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_Action": {
|
||||
"message": "Action",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_need_selected": {
|
||||
"message": "Sélection de texte nécessaire",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_need_signature": {
|
||||
"message": "Toujours ajouter la signature",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_need_custom_text": {
|
||||
"message": "Demander du texte supplémentaire",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_label_enabled": {
|
||||
"message": "Activé",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_form_required_fields": {
|
||||
"message": "Champs obligatoires",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnEdit": {
|
||||
"message": "Modifier",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnCancel": {
|
||||
"message": "Annuler",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnOK": {
|
||||
"message": "OK",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnDelete": {
|
||||
"message": "Supprimer",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnDelete_confirmText": {
|
||||
"message": "Êtes-vous sûr de vouloir supprimer cet élément ?",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_unsaved_changes": {
|
||||
"message": "Il y a des modifications non enregistrées !",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnSaveAll": {
|
||||
"message": "Tout enregistrer",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_save_button": {
|
||||
"message": "Enregistrer",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnNew": {
|
||||
"message": "Ajouter nouveau",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_btnAddNewCommit": {
|
||||
"message": "Ajouter la proposition",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu": {
|
||||
"message": "Ajouter au menu",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu_always": {
|
||||
"message": "Toujours",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu_reading": {
|
||||
"message": "Lors de la lecture d'un email",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_add_to_menu_composing": {
|
||||
"message": "Lors de la rédaction d'un email",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_close_button": {
|
||||
"message": "Bouton de fermeture",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_do_reply": {
|
||||
"message": "Faire une réponse",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_substitute_text": {
|
||||
"message": "Remplacer le texte",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_working": {
|
||||
"message": "Travail en cours...",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_job_completed": {
|
||||
"message": "Terminé !",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_get_answer": {
|
||||
"message": "Utiliser la dernière réponse",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_close": {
|
||||
"message": "Fermer",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_textarea_not_found_error": {
|
||||
"message": "Il y a une erreur lors de l'envoi de la proposition à ChatGPT, veuillez réessayer. Si le problème persiste, veuillez <a href=\"https://micz.it/thunderbird-addon-thunderai/status/\">vérifier le statut du service</a>.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_sendbutton_not_found_error": {
|
||||
"message": "Cliquez sur le bouton d'envoi pour soumettre la proposition.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_user_not_logged_in": {
|
||||
"message": "Vous n'êtes pas connecté à ChatGPT. Veuillez vous connecter avec vos identifiants, fermer la fenêtre ChatGPT, puis répéter l'action que vous avez tentée. Vous resterez connecté par la suite.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_model_warning": {
|
||||
"message": "Vous avez choisi l'option d'utiliser ChatGPT-4, mais il semble qu'il ne se charge pas correctement. Avez-vous choisi le modèle 4 ou 4o en haut ?",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_custom_text": {
|
||||
"message": "Insérez ici le texte supplémentaire pour la proposition.",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_send": {
|
||||
"message": "Envoyer",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_use_gpt35": {
|
||||
"message": "Utiliser GPT3.5",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_force_completion": {
|
||||
"message": "forcer l'achèvement",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_force_completion_title": {
|
||||
"message": "Cliquez ici pour afficher le bouton 'Utiliser la dernière réponse' si ChatGPT a terminé son travail mais que le bouton n'est pas apparu.",
|
||||
"description": ""
|
||||
},
|
||||
"msg_prompt_too_long": {
|
||||
"message": "Le texte que vous avez fourni est trop long. Vous devez le réduire pour utiliser ChatGPT.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_release_notes": {
|
||||
"message": "Notes de version",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_status_page": {
|
||||
"message": "statut du service",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatgpt_win_text": {
|
||||
"message": "Dimensions de la fenêtre ChatGPT",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatgpt_win_height": {
|
||||
"message": "Hauteur",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatgpt_win_width": {
|
||||
"message": "Largeur",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_default_sign_name": {
|
||||
"message": "Nom de la signature par défaut",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_default_chatgpt_lang": {
|
||||
"message": "Langue par défaut pour les réponses de ChatGPT",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_reply_all": {
|
||||
"message": "Répondre à tous",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_reply_sender": {
|
||||
"message": "Répondre à l'expéditeur",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_reply_type": {
|
||||
"message": "Type de réponse",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_keep_formatting": {
|
||||
"message": "Conserver la mise en forme",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_keep_formatting_info": {
|
||||
"message": "Conservez la mise en forme et les numéros ou les puces de la réponse de ChatGPT.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_use_gpt4": {
|
||||
"message": "Utiliser ChatGPT-4",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_use_gpt4_info": {
|
||||
"message": "Après avoir changé cette option, vous devez choisir le bon modèle la première fois que vous l'utilisez.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_btnManagePrompts": {
|
||||
"message": "Gérer vos prompts",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoTitle": {
|
||||
"message": "Informations importantes",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoDesc_1": {
|
||||
"message": "Il n'est plus possible de désactiver l'historique des chats ChatGPT. Par conséquent, il n'y a aucun moyen d'empêcher les demandes effectuées via cet addon d'apparaître dans l'historique de vos chats ChatGPT.",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoDesc_2": {
|
||||
"message": "Si une page blanche apparaît lors de l'ouverture de la fenêtre ChatGPT, cela signifie qu'il y a un problème de chargement de la page ChatGPT, non lié à l'utilisation de cet addon.",
|
||||
"description": ""
|
||||
},
|
||||
"prefsInfoDesc_3": {
|
||||
"message": " ",
|
||||
"description": ""
|
||||
},
|
||||
"prefsDonation_1": {
|
||||
"message": "Aimez-vous cet addon ?",
|
||||
"description": ""
|
||||
},
|
||||
"prefsDonation_2": {
|
||||
"message": "Envisagez de faire un don !",
|
||||
"description": ""
|
||||
},
|
||||
"backToOptionsText": {
|
||||
"message": "Options",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateText": {
|
||||
"message": "Voulez-vous aider à traduire cet addon ?",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateLink": {
|
||||
"message": "Découvrez comment !",
|
||||
"description": ""
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -67,6 +67,10 @@
|
|||
"message": "Salvataggio prompt di base...",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_managePrompts_info_default": {
|
||||
"message": "I prompt predefiniti non sono modificabili. Puoi disattivarli, quindi copiare il testo del prompt e incollarlo in uno nuovo per crearne una versione modificata.",
|
||||
"description": ""
|
||||
},
|
||||
"customPrompts_saving_custom_prompts": {
|
||||
"message": "Salvataggio prompt personalizzati...",
|
||||
"description": ""
|
||||
|
|
@ -208,7 +212,7 @@
|
|||
"description": ""
|
||||
},
|
||||
"chatgpt_win_model_warning": {
|
||||
"message": "Hai impostato l'opzione per utilizzare ChatGPT-4, ma sembra che non si stia caricando. Hai selezionato correttamente il modello in alto?",
|
||||
"message": "Hai impostato l'opzione per utilizzare ChatGPT-4, ma sembra che non si stia caricando. Hai selezionato il modello 4 o 4o in alto?",
|
||||
"description": ""
|
||||
},
|
||||
"chatgpt_win_custom_text": {
|
||||
|
|
@ -283,6 +287,14 @@
|
|||
"message": "Modalità di risposta",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_keep_formatting": {
|
||||
"message": "Mantieni la formattazione",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_keep_formatting_info": {
|
||||
"message": "Mantieni la formattazione del testo e gli elenchi puntati e numerati della risposta di ChatGPT.",
|
||||
"description": ""
|
||||
},
|
||||
"prefs_OptionText_chatpgt_use_gpt4": {
|
||||
"message": "Usa il modello ChatGPT-4",
|
||||
"description": ""
|
||||
|
|
@ -322,5 +334,13 @@
|
|||
"backToOptionsText": {
|
||||
"message": "Opzioni",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateText": {
|
||||
"message": "Vuoi aiutare a tradurre questo addon?",
|
||||
"description": ""
|
||||
},
|
||||
"TranslateLink": {
|
||||
"message": "Scopri come!",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
|
|
@ -8,7 +8,8 @@
|
|||
<body>
|
||||
<div>
|
||||
<h1>__MSG_customPrompts_managePrompts__</h1>
|
||||
<p><a href="https://micz.it/thunderbird-addon-thunderai/custom-prompts/">__MSG_customPrompts_managePrompts_help__</a></p>
|
||||
<p>__MSG_customPrompts_managePrompts_info_default__
|
||||
<br><a href="https://micz.it/thunderbird-addon-thunderai/custom-prompts/">__MSG_customPrompts_managePrompts_help__</a></p>
|
||||
</div>
|
||||
<div id="command_palette">
|
||||
<button id="btnSaveAll" disabled>__MSG_customPrompts_btnSaveAll__</button>
|
||||
|
|
|
|||
|
|
@ -72,17 +72,38 @@ async function chatgpt_getFromDOM(pos) {
|
|||
// Removing the new buttons that let the user change model and insert a number (4 or 3.5 at the end of the text)
|
||||
let parser = new DOMParser();
|
||||
let doc = parser.parseFromString(responseDivs[responseDivs.length - 1].innerHTML, 'text/html');
|
||||
if(!mztaKeepFormatting) { // Return only TEXT
|
||||
// Select the div with class 'empty:hidden'
|
||||
let divToRemove = doc.querySelector('div.empty\\\\:hidden');
|
||||
if (divToRemove) {
|
||||
divToRemove.remove();
|
||||
let divToRemove = doc.querySelector('div.empty\\\\:hidden');
|
||||
if (divToRemove) {
|
||||
divToRemove.remove();
|
||||
}
|
||||
// Extract the new HTML string
|
||||
responseDivs[responseDivs.length - 1].innerHTML = doc.body.innerHTML;
|
||||
response = responseDivs[responseDivs.length - 1].textContent;
|
||||
response = response.replace(/^ChatGPT(?:ChatGPT)?/, ''); // strip sender name
|
||||
response = response.trim().replace(/^"|"$/g, ''); // strip quotation marks
|
||||
response = "<body><p>" + response + "</p></body>";
|
||||
//console.log(">>>>>>>>> response: " + JSON.stringify(response));
|
||||
let parser_2 = new DOMParser();
|
||||
let doc_response = parser_2.parseFromString(response, 'text/html');
|
||||
//console.log(">>>>>>>>> doc_response: " + JSON.stringify(doc_response.body.innerHTML));
|
||||
replaceNewlinesWithBr(doc_response.body)
|
||||
response = doc_response.body.innerHTML;
|
||||
// response = responseDivs[responseDivs.length - 1].innerHTML;
|
||||
} else { // Return HTML
|
||||
// Tags to exclude
|
||||
//console.log(">>>>>>>>> doc.body.innerHTML original: " + doc.body.innerHTML);
|
||||
const excludeTags = ['div', 'text', 'svg', 'path', 'button'];
|
||||
const includeTags = ['p', 'ul'];
|
||||
// removeTags(doc.body, excludeTags);
|
||||
response = removeTagsAndReturnHTML(doc.body, excludeTags, includeTags)
|
||||
//console.log(">>>>>>>>> doc.body.innerHTML final: " + doc.body.innerHTML);
|
||||
// response = doc.body.innerHTML;
|
||||
}
|
||||
// Extract the new HTML string
|
||||
responseDivs[responseDivs.length - 1].innerHTML = doc.body.innerHTML;
|
||||
response = responseDivs[responseDivs.length - 1].textContent;
|
||||
//console.log('chatgpt_getFromDOM: '+response);
|
||||
//console.log('chatgpt_getFromDOM final response: '+response);
|
||||
//console.log('chatgpt_getFromDOM: [HTML] ' + responseDivs[responseDivs.length - 1].innerHTML.replace(/<div[^>]*>/gi, '').replace(/<\\/div>/gi, '').replace(/<svg[^>]*>/gi, '').replace(/<\\/svg>/gi, '').replace(/<path[^>]*>/gi, '').replace(/<\\/path>/gi, '').replace(/<text[^>]*>/gi, '').replace(/<\\/text>/gi, '').replace(/<span[^>]*>/gi, '').replace(/<\\/span>/gi, '').replace(/<button[^>]*>/gi, '').replace(/<\\/button>/gi, ''));
|
||||
} else { // get nth response
|
||||
} else { // get nth response --- HERE ONLY TEXT FROM RESPONSE, NO HTML
|
||||
const nthOfResponse = (
|
||||
|
||||
// Calculate base number
|
||||
|
|
@ -107,9 +128,7 @@ async function chatgpt_getFromDOM(pos) {
|
|||
);
|
||||
response = responseDivs[nthOfResponse - 1].textContent;
|
||||
}
|
||||
response = response.replace(/^ChatGPT(?:ChatGPT)?/, ''); // strip sender name
|
||||
response = response.trim().replace(/^"|"$/g, ''); // strip quotation marks
|
||||
//console.log('chatgpt_getFromDOM: ' + response);
|
||||
//console.log('>>>>>>>>>>>>>> chatgpt_getFromDOM: ' + JSON.stringify(response));
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
|
@ -337,6 +356,63 @@ async function doProceed(message, customText = ''){
|
|||
operation_done();
|
||||
}
|
||||
|
||||
|
||||
function removeTagsAndReturnHTML(rootElement, removeTags, preserveTags) {
|
||||
const fragment = document.createDocumentFragment();
|
||||
|
||||
function handleElement(element) {
|
||||
let child = element.firstChild;
|
||||
while (child) {
|
||||
const nextSibling = child.nextSibling;
|
||||
if (preserveTags.includes(child.nodeName.toLowerCase())) {
|
||||
//console.log(">>>>>>>>>>>> preserve child: " + child.tagName.toLowerCase());
|
||||
fragment.appendChild(child);
|
||||
} else if (child.nodeType === Node.ELEMENT_NODE) {
|
||||
//console.log(">>>>>>>>>>>> handleElement(child): " + child.tagName.toLowerCase());
|
||||
handleElement(child);
|
||||
}
|
||||
child = nextSibling;
|
||||
}
|
||||
}
|
||||
|
||||
removeTags.forEach(tag => {
|
||||
const elements = Array.from(rootElement.getElementsByTagName(tag));
|
||||
elements.forEach(element => {
|
||||
handleElement(element);
|
||||
element.parentNode.insertBefore(fragment.cloneNode(true), element);
|
||||
element.parentNode.removeChild(element);
|
||||
//console.log(">>>>>>>>>>>> removeChild: " + element.tagName.toLowerCase());
|
||||
});
|
||||
});
|
||||
|
||||
replaceNewlinesWithBr(rootElement);
|
||||
//console.log(">>>>>>>>>>>> rootElement.innerHTML: " + rootElement.innerHTML);
|
||||
// Return the updated HTML as a string
|
||||
return rootElement.innerHTML;
|
||||
}
|
||||
|
||||
// Replace newline characters with <br> tags
|
||||
function replaceNewlinesWithBr(node) {
|
||||
for (let child of Array.from(node.childNodes)) {
|
||||
if (child.nodeType === Node.TEXT_NODE) {
|
||||
const parts = child.textContent.split('\\n');
|
||||
if (parts.length > 1) {
|
||||
const fragment = document.createDocumentFragment();
|
||||
parts.forEach((part, index) => {
|
||||
fragment.appendChild(document.createTextNode(part));
|
||||
if (index < parts.length - 1) {
|
||||
fragment.appendChild(document.createElement('br'));
|
||||
}
|
||||
});
|
||||
child.parentNode.replaceChild(fragment, child);
|
||||
}
|
||||
} else if (child.nodeType === Node.ELEMENT_NODE) {
|
||||
replaceNewlinesWithBr(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// In the content script
|
||||
browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
|
||||
if (message.command === "chatgpt_send") {
|
||||
|
|
|
|||
|
|
@ -16,24 +16,6 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// Some methods are a modified version derived from https://github.com/ali-raheem/Aify/blob/13ff87583bc520fb80f555ab90a90c5c9df797a7/plugin/content_scripts/compose.js
|
||||
|
||||
const makeParagraphs = (text, func) => {
|
||||
const chunks = text.split(/\n{2,}/);
|
||||
if (chunks.length == 1) {
|
||||
return func(document.createTextNode(text));
|
||||
}
|
||||
const paragraphs = chunks.map((t) => {
|
||||
const p = document.createElement("p");
|
||||
p.innerText = t;
|
||||
return p;
|
||||
});
|
||||
for (let i = paragraphs.length - 1; i >= 0; i--) {
|
||||
func(paragraphs[i]);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
browser.runtime.onMessage.addListener(async (message) => {
|
||||
switch (message.command) {
|
||||
case "getSelectedText":
|
||||
|
|
@ -50,9 +32,9 @@ switch (message.command) {
|
|||
}
|
||||
const r = sel.getRangeAt(0);
|
||||
r.deleteContents();
|
||||
makeParagraphs(message.text, function (p) {
|
||||
r.insertNode(p);
|
||||
});
|
||||
const parser = new DOMParser();
|
||||
const doc = parser.parseFromString(message.text, 'text/html');
|
||||
r.insertNode(doc.body);
|
||||
browser.runtime.sendMessage({command: "compose_reloadBody", tabId: message.tabId});
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -78,11 +78,11 @@ export async function setBody(tabId, fullHtmlBody){
|
|||
await messenger.compose.setComposeDetails(tabId, {body: fullHtmlBody});
|
||||
}
|
||||
|
||||
export async function replaceBody(tabId, text){
|
||||
export async function replaceBody(tabId, replyHtml) {
|
||||
let composeDetails = await messenger.compose.getComposeDetails(tabId);
|
||||
let originalHtmlBody = composeDetails.body;
|
||||
//console.log('originalHtmlBody: ' + originalHtmlBody);
|
||||
let fullBody = insertText(text, originalHtmlBody);
|
||||
let fullBody = insertHtml(replyHtml, originalHtmlBody);
|
||||
//console.log('fullBody: ' + fullBody);
|
||||
await messenger.compose.setComposeDetails(tabId, {body: fullBody});
|
||||
}
|
||||
|
|
@ -90,9 +90,10 @@ export async function replaceBody(tabId, text){
|
|||
|
||||
// The following methods are a modified version derived from https://github.com/ali-raheem/Aify/blob/13ff87583bc520fb80f555ab90a90c5c9df797a7/plugin/content_scripts/compose.js
|
||||
|
||||
const insertText = function (text, fullBody_string) {
|
||||
const insertHtml = function (replyHtml, fullBody_string) {
|
||||
const parser = new DOMParser();
|
||||
let fullBody = parser.parseFromString(fullBody_string, "text/html");
|
||||
let reply = parser.parseFromString(replyHtml, "text/html");
|
||||
|
||||
// looking for the first quoted mail or the signature, which come first in case of "signature above the quote".
|
||||
const prefix_quote = fullBody.getElementsByClassName("moz-cite-prefix");
|
||||
|
|
@ -119,25 +120,18 @@ const insertText = function (text, fullBody_string) {
|
|||
}
|
||||
|
||||
let final_p = document.createElement("p");
|
||||
final_p.innerHTML = "<p><br/><br/></p>";
|
||||
let br1 = document.createElement("br");
|
||||
let br2 = document.createElement("br");
|
||||
final_p.appendChild(br1);
|
||||
final_p.appendChild(br2);
|
||||
fullBody.body.insertBefore(final_p, fullBody.body.firstChild);
|
||||
makeParagraphs(text, function (p) {
|
||||
fullBody.body.insertBefore(p, fullBody.body.firstChild);
|
||||
//fullBody.body.insertBefore(reply, fullBody.body.firstChild);
|
||||
let fragment = document.createDocumentFragment();
|
||||
Array.from(reply.body.childNodes).forEach(node => {
|
||||
if (node.parentNode === reply.body) {
|
||||
fragment.appendChild(node.cloneNode(true));
|
||||
}
|
||||
});
|
||||
fullBody.body.insertBefore(fragment, fullBody.body.firstChild);
|
||||
return fullBody.body.innerHTML;
|
||||
}
|
||||
|
||||
const makeParagraphs = (text, func) => {
|
||||
const chunks = text.split(/\n{2,}/);
|
||||
if (chunks.length == 1) {
|
||||
return func(document.createTextNode(text));
|
||||
}
|
||||
const paragraphs = chunks.map((t) => {
|
||||
const p = document.createElement("p");
|
||||
p.innerText = t;
|
||||
return p;
|
||||
});
|
||||
for (let i = paragraphs.length - 1; i >= 0; i--) {
|
||||
func(paragraphs[i]);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
"manifest_version": 2,
|
||||
"name": "ThunderAI",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"version": "1.1.3",
|
||||
"version": "1.1.4",
|
||||
"author": "Mic (m@micz.it)",
|
||||
"homepage_url": "https://micz.it/thunderbird-addon-thunderai/",
|
||||
"browser_specific_settings": {
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
import { mzta_script } from './js/mzta-chatgpt.js';
|
||||
import { prefs_default } from './options/mzta-options-default.js';
|
||||
import { mzta_Menus } from './js/mzta-menus.js';
|
||||
import { getCurrentIdentity, getOriginalBody, reloadBody, replaceBody, setBody } from './js/mzta-utils.js';
|
||||
import { getCurrentIdentity, getOriginalBody, replaceBody, setBody } from './js/mzta-utils.js';
|
||||
|
||||
var createdWindowID = null;
|
||||
var original_html = '';
|
||||
|
|
@ -69,6 +69,7 @@ messenger.runtime.onMessage.addListener(async (message, sender, sendResponse) =>
|
|||
return true;
|
||||
case 'chatgpt_replyMessage':
|
||||
const paragraphsHtmlString = message.text;
|
||||
//console.log(">>>>>>>>>>>> paragraphsHtmlString: " + paragraphsHtmlString);
|
||||
let prefs = await browser.storage.sync.get({reply_type: 'reply_all'});
|
||||
//console.log('reply_type: ' + prefs.reply_type);
|
||||
let replyType = 'replyToAll';
|
||||
|
|
@ -100,7 +101,7 @@ messenger.runtime.onMessage.addListener(async (message, sender, sendResponse) =>
|
|||
const listener = (tabId, changeInfo, updatedTab) => {
|
||||
if (tabIsLoaded(updatedTab)) {
|
||||
browser.tabs.onUpdated.removeListener(listener);
|
||||
console.log(">>>>>>>>>>>> reply_tab: " + tabId);
|
||||
//console.log(">>>>>>>>>>>> reply_tab: " + tabId);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
|
|
@ -138,6 +139,7 @@ messenger.runtime.onMessage.addListener(async (message, sender, sendResponse) =>
|
|||
async function openChatGPT(promptText, action, curr_tabId, do_custom_text = 0) {
|
||||
let prefs = await browser.storage.sync.get(prefs_default);
|
||||
prefs = checkScreenDimensions(prefs);
|
||||
//console.log(">>>>>>>>>>>>>>>> prefs: " + JSON.stringify(prefs));
|
||||
console.log('[ThunderAI] Prompt length: ' + promptText.length);
|
||||
if(promptText.length > 30000 ){
|
||||
// Prompt too long for ChatGPT
|
||||
|
|
@ -178,6 +180,7 @@ async function openChatGPT(promptText, action, curr_tabId, do_custom_text = 0) {
|
|||
let mztaForceCompletionDesc="`+ browser.i18n.getMessage("chatgpt_force_completion") +`";
|
||||
let mztaForceCompletionTitle="`+ browser.i18n.getMessage("chatgpt_force_completion_title") +`";
|
||||
let mztaDoCustomText=`+ do_custom_text +`;
|
||||
let mztaKeepFormatting=`+ prefs.chatgpt_keep_formatting +`;
|
||||
`;
|
||||
|
||||
browser.tabs.executeScript(createdTab.id, { code: pre_script + mzta_script, matchAboutBlank: false })
|
||||
|
|
|
|||
|
|
@ -20,4 +20,5 @@ export const prefs_default = {
|
|||
chatgpt_win_height: 800,
|
||||
chatgpt_win_width: 700,
|
||||
chatpgt_use_gpt4: false,
|
||||
chatgpt_keep_formatting: false,
|
||||
}
|
||||
|
|
@ -61,6 +61,7 @@ div#miczStatusPage{
|
|||
left: 0px;
|
||||
bottom: 2px;
|
||||
padding: 2px 0px 0px 5px;
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
div#miczDescription h1{
|
||||
|
|
@ -90,4 +91,12 @@ span.dims_label{
|
|||
text-align: center;
|
||||
width: 100%;
|
||||
margin: 10px 0px;
|
||||
}
|
||||
|
||||
div#miczTranslate{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
|
@ -59,6 +59,17 @@
|
|||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label>
|
||||
<span>__MSG_prefs_OptionText_chatpgt_keep_formatting__</span>
|
||||
</label></td>
|
||||
<td>
|
||||
<label>
|
||||
<input type="checkbox" id="chatgpt_keep_formatting" name="chatgpt_keep_formatting" class="option-input" />
|
||||
<span>__MSG_prefs_OptionText_chatpgt_keep_formatting_info__</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label>
|
||||
<span>__MSG_prefs_OptionText_chatpgt_use_gpt4__</span>
|
||||
|
|
@ -80,6 +91,7 @@
|
|||
__MSG_prefsInfoDesc_2__<br/>
|
||||
__MSG_prefsInfoDesc_3__</p>
|
||||
</div>
|
||||
<div id="miczTranslate">__MSG_TranslateText__ <a href="https://micz.it/thunderbird-addon-thunderai/translate/">__MSG_TranslateLink__</a></div>
|
||||
<div id="miczDonation">__MSG_prefsDonation_1__<br/><a href="http://micz.it/thunderbird-addon-thunderai/donate/">__MSG_prefsDonation_2__</a></div>
|
||||
<script src="mzta-options.js" type="module"></script>
|
||||
<script src="../js/mzta-i18n.js"></script>
|
||||
|
|
|
|||
|
|
@ -7,7 +7,14 @@
|
|||
<body>
|
||||
<div id="miczBackPrefs"><a href="mzta-options.html">__MSG_backToOptionsText__</a></div>
|
||||
<div id="miczRelNotes"><h1>ThunderAI Release Notes</h1>
|
||||
<h2>Version 1.1.3 - 18/06/2024</h2>
|
||||
<h2>Version 1.1.4 - 28/06/2024</h2>
|
||||
<ul>
|
||||
<li>Added an option to import text with formatting from ChatGPT, set to false by default [<a href="https://github.com/micz/ThunderAI/issues/70">#70</a>], [<a href="https://github.com/micz/ThunderAI/issues/77">#77</a>].</li>
|
||||
<li>Improve the message warning to choose the right model [<a href="https://github.com/micz/ThunderAI/issues/76">#76</a>].</li>
|
||||
<li>Added a description in the Custom Prompts page about default prompts [<a href="https://github.com/micz/ThunderAI/issues/74">#74</a>].</li>
|
||||
<li>Added a link to the <a href="https://micz.it/thunderbird-addon-thunderai/translate/">translate page</a> in the options window [<a href="https://github.com/micz/ThunderAI/issues/68">#68</a>].</li>
|
||||
</ul>
|
||||
<h2>Version 1.1.3 - 18/06/2024</h2>
|
||||
<ul>
|
||||
<li>Fixed a bug in replying to a message [<a href="https://github.com/micz/ThunderAI/issues/70">#70</a>].</li>
|
||||
</ul>
|
||||
|
|
|
|||
Loading…
Reference in a new issue