This commit is contained in:
Mirco Wittrien 2023-03-30 16:45:02 +02:00
parent eb667f7f01
commit 1cee261bce
3 changed files with 59 additions and 55 deletions

View File

@ -3886,50 +3886,50 @@
},
"el": {
"add_to": "Προσθήκη στο {{var0}}",
"ascending": "Ανερχόμενος",
"ascending": "Αύξουσα",
"center": "Στο κέντρο",
"changelog_added": "Νέα χαρακτηριστικά",
"changelog_fixed": "Αντιμετώπιση προβλημάτων",
"changelog_fixed": "Διορθώσεις σφαλμάτων",
"changelog_improved": "Βελτιώσεις",
"changelog_progress": "Πρόοδος",
"check_for_updates": "Ελεγχος για ενημερώσεις",
"clipboard_success": "Αντιγράφηκε το {{var0}} στο Πρόχειρο",
"confirm": "Είσαι σίγουρος?",
"clipboard_success": "Αντιγραφή του {{var0}} στο Πρόχειρο",
"confirm": "Σίγουρα;",
"copy": "Αντιγραφή {{var0}}",
"delete_fail": "Δεν είναι δυνατή η διαγραφή του {{var0}}",
"delete_success": "Το {{var0}} διαγράφηκε με επιτυχία",
"descending": "Φθίνων",
"descending": "Φθίνουσα",
"developer": "Προγραμματιστής",
"donate_message": "Υποστηρίξτε με για περισσότερες ενημερώσεις!",
"download": "Κατεβάστε",
"download_fail": "Δεν είναι δυνατή η λήψη του {{var0}}",
"download": "Λήψη",
"download_fail": "Αδυνατή η λήψη του {{var0}}",
"download_success": "Η λήψη του {{var0}} ολοκληρώθηκε με επιτυχία",
"file_navigator_text": "Αναζήτηση αρχείου",
"first": "Πρώτα",
"from": "Από",
"gradient": "Βαθμίδα",
"guildbanner": "Πανό",
"guildicon": "Εικόνισμα",
"installed": "Εγκατασταθεί",
"guildbanner": "Διαφημιστικό",
"guildicon": "Εικονίδιο",
"installed": "Εγκατεστημένο",
"last": "Τελευταίος",
"left": "Αριστερά",
"loading": "Φόρτωση {{var0}}",
"location": "Τοποθεσία",
"order": "Αλληλουχία",
"outdated": "Απαρχαιωμένος",
"please_wait": "Ευχάριστη αναμονή",
"right": "Σωστά",
"save_fail": "Δεν είναι δυνατή η αποθήκευση του {{var0}}",
"order": "Ταξινόμηση",
"outdated": "Παλαιό",
"please_wait": "Αναμείνατε...",
"right": "Δεξιά",
"save_fail": "Αδυνατή η αποθήκευση του {{var0}}",
"save_success": "Το {{var0}} αποθηκεύτηκε με επιτυχία",
"send": "Αποστολή {{var0}}",
"server": "Υπηρέτης",
"settings_shareData_description": "Συγχρονίζει τις ρυθμίσεις παραμέτρων της προσθήκης μεταξύ λογαριασμών Discord",
"settings_showSupportBadges_description": "Εμφανίζει μικρά σήματα για χρήστες που υποστηρίζουν το Patreon μου",
"settings_showToasts_description": "Δείχνει τις προσθήκης έναρξης και διακοπής τοστ",
"settings_showToasts_note": "Απενεργοποιήστε τη γενική ρύθμιση '{{var0}}' των BD πριν απενεργοποιήσετε",
"settings_toastPosition_description": "Προεπιλεγμένη θέση τοστ",
"settings_toastPosition_note": "Αλλάζει μόνο τη θέση των Τοστ που δημιουργήθηκαν από τις προσθήκες μου",
"settings_useChromium_description": "Ανοίξτε τους συνδέσμους στο Discord αντί για το πρόγραμμα περιήγησής σας",
"server": "Διακομιστής",
"settings_shareData_description": "Συγχρονίζει τις ρυθμίσεις παραμέτρων Προσθέτου μεταξύ λογαριασμών Discord",
"settings_showSupportBadges_description": "Εμφανίζει μικρά παράσημα για χρήστες που υποστηρίζουν το Patreon μου",
"settings_showToasts_description": "Εμφανίζει επισημάνσεις έναρξης και τερματισμού Προσθέτου",
"settings_showToasts_note": "Απενεργοποιεί τη γενική ρύθμιση «{{var0}}» του BD πριν απενεργοποιηθεί",
"settings_toastPosition_description": "Προεπιλεγμένη Θέση Επεξήγησης",
"settings_toastPosition_note": "Αλλάζει μόνο τη Θέση των Επεξηγήσεων που δημιουργήθηκαν από τις προσθήκες μου",
"settings_useChromium_description": "Ανοίξτε τους Συνδέσμους στο Discord αντί για τον φυλλομετρητή σας",
"sort_by": "Ταξινόμηση κατά",
"status": "Κατάσταση",
"time": "Χρόνος",
@ -3937,18 +3937,18 @@
"to": "Προς το",
"toast_plugin_loaded": "Το {{var0}} έχει φορτωθεί",
"toast_plugin_started": "Το {{var0}} έχει ξεκινήσει",
"toast_plugin_stopped": "Το {{var0}} έχει σταματήσει",
"toast_plugin_stopped": "Το {{var0}} έχει τερματιστεί",
"toast_plugin_translated": "μεταφράστηκε σε {{var0}}",
"toast_plugin_unloaded": "Το {{var0}} έχει εκφορτωθεί",
"toast_plugin_update_failed": "Δεν είναι δυνατή η λήψη της ενημέρωσης για το {{var0}}",
"toast_plugin_updated": "Το {{var0}} {{var1}} αντικαταστάθηκε από το {{var2}} {{var3}}",
"update_check_complete": "Ο έλεγχος ενημέρωσης προσθήκης ολοκληρώθηκε",
"update_check_complete_outdated": "Ο έλεγχος ενημέρωσης προσθήκης ολοκληρώθηκε - {{var0}} δεν είναι ενημερωμένος!",
"update_check_info": "Έλεγχος προσθήκες που υποστηρίζουν τον έλεγχο ενημέρωσης",
"update_notice_click": "Κάντε κλικ για ενημέρωση!",
"update_notice_reload": "Επαναλάβετε τη φόρτωση για να ολοκληρώσετε την ενημέρωση",
"update_notice_update": "Οι ακόλουθες προσθήκες πρέπει να ενημερωθούν: ",
"updated": "ΕΠΙΚΑΙΡΟΠΟΙΗΜΕΝΟ"
"update_check_complete": "Ο Έλεγχος Ενημέρωσης Πρόσθετου ολοκληρώθηκε",
"update_check_complete_outdated": "Ο Έλεγχος Ενημέρωσης Πρόσθετου ολοκληρώθηκε - {{var0}} δεν είναι ενημερωμένο!",
"update_check_info": "Έλεγχος Προσθέτων που υποστηρίζουν τον έλεγχο ενημέρωσης",
"update_notice_click": "Πατήστε για ενημέρωση!",
"update_notice_reload": "Επαναφορτώστε για ολοκλήρωση της ενημέρωσης",
"update_notice_update": "Τα ακόλουθα Πρόσθετα πρέπει να ενημερωθούν: ",
"updated": "Ενημερωμένο"
},
"es": {
"add_to": "Agregar a {{var0}}",

View File

@ -2,7 +2,7 @@
* @name ImageUtilities
* @author DevilBro
* @authorId 278543574059057154
* @version 5.1.9
* @version 5.2.0
* @description Adds several Utilities for Images/Videos (Gallery, Download, Reverse Search, Zoom, Copy, etc.)
* @invite Jx3TjNS
* @donate https://www.paypal.me/MircoWittrien
@ -280,6 +280,9 @@ module.exports = (_ => {
};
this.css = `
${BDFDB.dotCN._imageutilitiesimagedetailsadded} {
max-height: unset !important;
}
${BDFDB.dotCNS._imageutilitiesimagedetailsadded + BDFDB.dotCN.imagewrapper} {
border-radius: 8px !important;
height: calc(100% - 1rem - 16px) !important;
@ -826,7 +829,7 @@ module.exports = (_ => {
label: BDFDB.LanguageUtils.LanguageStrings.COPY_LINK,
id: BDFDB.ContextMenuUtils.createItemId(this.name, "copy-link"),
action: _ => {
let url = urlData.original.split("?width")[0].split("?height")[0].split("?size")[0];
let url = urlData.original.split("?width=")[0].split("?height=")[0].split("?size=")[0];
url = url.indexOf("discordapp.com/avatars/") > 0 || url.indexOf("discordapp.com/icons/") > 0 ? `${url}?size=4096` : url;
BDFDB.LibraryModules.WindowUtils.copy(url);
BDFDB.NotificationUtils.toast(BDFDB.LanguageUtils.LanguageStrings.LINK_COPIED, {type: "success"});
@ -836,7 +839,7 @@ module.exports = (_ => {
label: BDFDB.LanguageUtils.LanguageStrings.COPY_MEDIA_LINK,
id: BDFDB.ContextMenuUtils.createItemId(this.name, "copy-media-link"),
action: _ => {
let url = urlData.file.split("?width")[0].split("?height")[0].split("?size")[0];
let url = urlData.file.split("?width=")[0].split("?height=")[0].split("?size=")[0];
url = url.indexOf("discordapp.com/avatars/") > 0 || url.indexOf("discordapp.com/icons/") > 0 ? `${url}?size=4096` : url;
BDFDB.LibraryModules.WindowUtils.copy(url);
BDFDB.NotificationUtils.toast(BDFDB.LanguageUtils.LanguageStrings.LINK_COPIED, {type: "success"});
@ -850,7 +853,7 @@ module.exports = (_ => {
!this.isValid(urlData.file, "copyable") ? null : BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
label: this.labels.context_copy.replace("{{var0}}", type),
id: BDFDB.ContextMenuUtils.createItemId(this.name, "copy-file"),
action: _ => this.copyFile({url: urlData.src, fallbackUrl: urlData.file || urlData.original})
action: _ => this.copyFile({url: urlData.original, fallbackUrl: urlData.src})
}),
!document.querySelector(BDFDB.dotCN.imagemodal) && BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
label: this.labels.context_view.replace("{{var0}}", type),
@ -890,12 +893,12 @@ module.exports = (_ => {
BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
label: this.labels.context_saveas.replace("{{var0}}", type),
id: BDFDB.ContextMenuUtils.createItemId(this.name, "download-file-as"),
action: _ => this.downloadFile({url: urlData.src, fallbackUrl: urlData.file || urlData.original}, null, urlData.alternativeName),
action: _ => this.downloadFile({url: urlData.original, fallbackUrl: urlData.src}, null, urlData.alternativeName),
children: locations.length && BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, {
children: locations.map((name, i) => BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuItem, {
id: BDFDB.ContextMenuUtils.createItemId(this.name, "download", name, i),
label: name,
action: _ => this.downloadFile({url: urlData.src, fallbackUrl: urlData.file || urlData.original}, ownLocations[name].location, urlData.alternativeName)
action: _ => console.log(urlData) || this.downloadFile({url: urlData.original, fallbackUrl: urlData.src}, ownLocations[name].location, urlData.alternativeName)
}))
})
}),
@ -1088,7 +1091,7 @@ module.exports = (_ => {
className: BDFDB.disCN._imageutilitiesdetailswrapper,
children: [
e.instance.props.alt && {label: "Alt", text: e.instance.props.alt},
{label: "Source", text: url.split("?width")[0].split("?height")[0].split("?size")[0]},
{label: "Source", text: url.split("?width=")[0].split("?height=")[0].split("?size=")[0]},
{label: "Size", text: `${e.instance.props.width}x${e.instance.props.height}px`},
cachedImages && cachedImages.amount && cachedImages.amount > 1 && {label: filterForVideos ? "Video" : "Image", text: `${cachedImages.index + 1 || 1} of ${cachedImages.amount}`}
].filter(n => n).map(data => BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TextElement, {
@ -1201,7 +1204,7 @@ module.exports = (_ => {
ele.style.setProperty("height", e.instance.props.height + "px");
ele.style.setProperty("max-height", e.instance.props.height + "px");
}
for (let ele of [e.node.src && e.node, ...e.node.querySelectorAll("[src]")].filter(n => n)) ele.src = ele.src.split("?width")[0].split("?height")[0].split("?size")[0];
for (let ele of [e.node.src && e.node, ...e.node.querySelectorAll("[src]")].filter(n => n)) ele.src = ele.src.split("?width=")[0].split("?height=")[0].split("?size=")[0];
if (e.instance.state.readyState != BDFDB.LibraryComponents.ImageComponents.ImageReadyStates.READY) {
e.instance.state.readyState = BDFDB.LibraryComponents.ImageComponents.ImageReadyStates.READY;
BDFDB.ReactUtils.forceUpdate(e.instance);
@ -1480,7 +1483,9 @@ module.exports = (_ => {
if (!urls || typeof onLoad != "function") return typeof onError == "function" && onError();
let url = urls.url.startsWith("/assets") ? (window.location.origin + urls.url) : urls.url;
let isResized = !config.orignalSizeChecked && (url.indexOf("?width=") > -1 || url.indexOf("?height=") > -1 || url.indexOf("?size=") > -1);
if (!config.fallbackToRequest) BDFDB.DiscordUtils.requestFileData(isResized ? url.split("?width")[0].split("?height")[0].split("?size")[0] : url, {timeout: 3000}, (error, buffer) => {
url = isResized ? url.split("?width=")[0].split("?height=")[0].split("?size=")[0] : url;
url = url.indexOf("discordapp.com/avatars/") > 0 || url.indexOf("discordapp.com/icons/") > 0 ? `${url}?size=4096` : url;
if (!config.fallbackToRequest) BDFDB.DiscordUtils.requestFileData(url, (error, buffer) => {
if (error || !buffer) {
if (isResized) this.requestFile(urls, onLoad, onError, {orignalSizeChecked: true});
else if (urls.fallbackUrl && urls.url != urls.fallbackUrl) this.requestFile({url: urls.fallbackUrl, oldUrl: urls.url}, onLoad, onError);
@ -1488,7 +1493,7 @@ module.exports = (_ => {
}
else onLoad(url, buffer);
});
else BDFDB.LibraryRequires.request(isResized ? url.split("?width")[0].split("?height")[0].split("?size")[0] : url, {agentOptions: {rejectUnauthorized: false}, headers: {"Content-Type": "application/json"}}, (error, response, buffer) => {
else BDFDB.LibraryRequires.request(url, {agentOptions: {rejectUnauthorized: false}, headers: {"Content-Type": "application/json"}}, (error, response, buffer) => {
if (error || response.statusCode != 200 || response.headers["content-type"].indexOf("text/html") > -1) {
if (isResized) this.requestFile(urls, onLoad, onError, {orignalSizeChecked: true, fallbackToRequest: true});
else if (urls.fallbackUrl && urls.url != urls.fallbackUrl) this.requestFile({url: urls.fallbackUrl}, onLoad, onError, {fallbackToRequest: true});
@ -1524,7 +1529,6 @@ module.exports = (_ => {
copyFile (urls) {
this.requestFile(urls, (url, buffer) => {
let type = this.isValid(url, "video") ? BDFDB.LanguageUtils.LanguageStrings.VIDEO : BDFDB.LanguageUtils.LanguageStrings.IMAGE;
BDFDB.LibraryModules.WindowUtils.copyImage(url);
BDFDB.NotificationUtils.toast(this.labels.toast_copy_success.replace("{{var0}}", type), {type: "success"});
}, _ => {

View File

@ -1499,35 +1499,35 @@ module.exports = (_ => {
};
case "el": // Greek
return {
backup_engine: "Backup-Μεταφράστης",
backup_engine_warning: "Θα χρησιμοποιήσει Backup-Μεταφράστης",
backup_engine: "Μεταφράστης-Αντίγραφο ασφαλείας",
backup_engine_warning: "Θα χρησιμοποιηθεί Μεταφράστης-Αντίγραφο ασφαλείας",
context_messagetranslateoption: "Μετάφραση μηνύματος",
context_messageuntranslateoption: "Μη μετάφραση μηνύματος",
context_messageuntranslateoption: "Αναίρεση μετάφρασης μηνύματος",
context_translator: "Αναζήτηση μετάφρασης",
detect_language: "Εντοπισμός γλώσσας",
error_dailylimit: "Συμπληρώθηκε το ημερήσιο όριο αιτημάτων.",
error_hourlylimit: "Συμπληρώθηκε το ωριαίο όριο αιτήματος.",
error_hourlylimit: "Συμπληρώθηκε το ωριαίο όριο αιτημάτων.",
error_keyoutdated: "Το κλειδί API δεν είναι ενημερωμένο.",
error_monthlylimit: "Συμπληρώθηκε το μηνιαίο όριο αιτημάτων.",
error_serverdown: "Ο διακομιστής μετάφρασης ενδέχεται να είναι εκτός σύνδεσης.",
exception_text: "Οι λέξεις που ξεκινούν με {{var0}} θα αγνοηθούν",
general_addTranslateButton: "Προσθέτει ένα κουμπί μετάφρασης στο Channel Textarea",
general_sendOriginalMessage: "Επίσης στέλνει το αρχικό Μήνυμα κατά τη μετάφραση του απεσταλμένου μηνύματός σας",
general_showOriginalMessage: "Εμφανίζει επίσης το αρχικό Μήνυμα κατά τη μετάφραση ενός ληφθέντος μηνύματος",
general_addTranslateButton: "Προσθήκη ένός κουμπιού μετάφρασης στην Περιοχή κειμένου του Καναλιού",
general_sendOriginalMessage: "Επίσης αποστολή του αρχικού Μηνύματος κατά τη μετάφραση του απεσταλμένου μηνύματος",
general_showOriginalMessage: "Επίσης εμφάνιση του αρχικού Μηνύματος κατά τη μετάφραση ενός ληφθέντος μηνύματος",
general_usePerChatTranslation: "Ενεργοποιεί/απενεργοποιεί την κατάσταση του κουμπιού μεταφραστή ανά κανάλι και όχι καθολικά",
language_choice_input_received: "Γλώσσα εισαγωγής στα ληφθέντα μηνύματα",
language_choice_input_sent: "Εισαγάγετε τη γλώσσα στα απεσταλμένα μηνύματά σας",
language_choice_output_received: "Γλώσσα εξόδου στα ληφθέντα μηνύματα",
language_choice_output_sent: "Γλώσσα εξόδου στα απεσταλμένα μηνύματά σας",
language_choice_input_sent: "Γλώσσα εισαγωγής στα απεσταλμένα μηνύματά σας",
language_choice_output_received: "Γλώσσα εξαγωγής στα ληφθέντα μηνύματα",
language_choice_output_sent: "Γλώσσα εξαγωγής στα απεσταλμένα μηνύματά σας",
language_selection_channel: "Η επιλογή γλώσσας θα αλλάξει ειδικά για αυτό το κανάλι",
language_selection_global: "Η Επιλογή Γλώσσας θα αλλάξει για όλους τους Διακομιστές",
language_selection_server: "Η επιλογή γλώσσας θα αλλάξει ειδικά για αυτόν τον διακομιστή",
popout_translateoption: "Μεταφράζω",
popout_untranslateoption: "Μη μετάφραση",
popout_translateoption: "Μετάφραση",
popout_untranslateoption: "Αναίρεση μετάφρασης",
toast_translating: "Μετάφραση",
toast_translating_failed: "Αποτυχία μετάφρασης",
toast_translating_tryanother: "Δοκιμάστε έναν άλλο Μεταφραστή",
translate_your_message: "Μεταφράστε τα Μηνύματά σας πριν τα στείλετε",
translate_your_message: "Μεταφράστε τα Μηνύματά σας πριν την αποστολή",
translated_watermark: "μεταφρασμένο",
translator_engine: "Μεταφράστης"
};