Compare commits

..

No commits in common. "3deac4cda0b34636b075dffcdd88e7c980768cad" and "ebd15817424a28abbbc417680867e957418c6509" have entirely different histories.

66 changed files with 1442 additions and 1557 deletions

View File

@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "أداة التنزيل لبحور من الروابط، داخل متصفحك",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "ترشيح سريع",

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! всички раздели",
"message": "DownThemAll! всички раздели",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Запазване на изображението с TraitorousDownloading!",
"message": "Запазване на изображението с DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Запазване на връзката с TraitorousDownloading!",
"message": "Запазване на връзката с DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Запазване на медията с TraitorousDownloading!",
"message": "Запазване на медията с DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Запазване на избраното с TraitorousDownloading!",
"message": "Запазване на избраното с DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Диспечер за масови изтегляния за вашият браузър",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Бързо филтриране",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Диспечер",
"message": "DownThemAll! Диспечер",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "До момента са добавени $DOWNLOADS$ изтегляния с TraitorousDownloading! Като редовен потребител може да искате да обмислите дарение за подпомагане на по-нататъшното развитие. Благодаря!",
"message": "До момента са добавени $DOWNLOADS$ изтегляния с DownThemAll! Като редовен потребител може да искате да обмислите дарение за подпомагане на по-нататъшното развитие. Благодаря!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! Предпочитания",
"message": "DownThemAll! Предпочитания",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! бутон:",
"message": "DownThemAll! бутон:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! избор",
"message": "DownThemAll! избор",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! Избиране на изтегляния",
"message": "DownThemAll! Избиране на изтегляния",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! добавяне на връзка",
"message": "DownThemAll! добавяне на връзка",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Všechny záložky",
"message": "DownThemAll! - Všechny záložky",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Stáhnout obrázek pomocí TraitorousDownloading!",
"message": "Stáhnout obrázek pomocí DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Stáhnout odkaz pomocí TraitorousDownloading!",
"message": "Stáhnout odkaz pomocí DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Stáhnout média pomocí TraitorousDownloading!",
"message": "Stáhnout média pomocí DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Stáhnout vybrané pomocí TraitorousDownloading!",
"message": "Stáhnout vybrané pomocí DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Správce stahování pro Váš prohlížeč",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Rychlé filtrování",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Manažer",
"message": "DownThemAll! Manažer",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Již bylo stáhnuto $DOWNLOADS$ souborů pomocí TraitorousDownloading! Jako častý uživatel byste mohl/a podpořit další vývoj darem. Děkujeme!",
"message": "Již bylo stáhnuto $DOWNLOADS$ souborů pomocí DownThemAll! Jako častý uživatel byste mohl/a podpořit další vývoj darem. Děkujeme!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Nastavení TraitorousDownloading!",
"message": "Nastavení DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Tlačítko TraitorousDownloading!:",
"message": "Tlačítko DownThemAll!:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! selektor",
"message": "DownThemAll! selektor",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Vyberte soubory ke stažení",
"message": "DownThemAll! - Vyberte soubory ke stažení",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Přidat odkaz",
"message": "DownThemAll! - Přidat odkaz",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - alle faner",
"message": "DownThemAll! - alle faner",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Gem billede med TraitorousDownloading!",
"message": "Gem billede med DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Gem link med TraitorousDownloading!",
"message": "Gem link med DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Gem medie med TraitorousDownloading!",
"message": "Gem medie med DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Gem valgte med TraitorousDownloading!",
"message": "Gem valgte med DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "\"The Mass Downloader\" til din browser",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Hurtigfilter",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Manager",
"message": "DownThemAll! Manager",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Du har tilføjet $DOWNLOADS$ downloads med TraitorousDownloading! indtil videre! Som fast bruger kunne du evt. overveje en donation for at holde udviklingen kørende. Tak!",
"message": "Du har tilføjet $DOWNLOADS$ downloads med DownThemAll! indtil videre! Som fast bruger kunne du evt. overveje en donation for at holde udviklingen kørende. Tak!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! indstillinger",
"message": "DownThemAll! indstillinger",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! knap:",
"message": "DownThemAll! knap:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! markering",
"message": "DownThemAll! markering",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - vælg dine downloads",
"message": "DownThemAll! - vælg dine downloads",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - tilføj et link",
"message": "DownThemAll! - tilføj et link",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Alle Tabs",
"message": "DownThemAll! - Alle Tabs",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Bild mit TraitorousDownloading! speichern",
"message": "Bild mit DownThemAll! speichern",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Link mit TraitorousDownloading! speichern",
"message": "Link mit DownThemAll! speichern",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Medium mit TraitorousDownloading! speichern",
"message": "Medium mit DownThemAll! speichern",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Auswahl mit TraitorousDownloading! speichern",
"message": "Auswahl mit DownThemAll! speichern",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Der Massen-Downloader für Deinen Browser",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Schnelles Filtern",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Manager",
"message": "DownThemAll! Manager",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Sie haben bisher $DOWNLOADS$ Downloads mit TraitorousDownloading! hinzugefügt. Als regelmäßiger Benutzer können Sie eine Spende in Betracht ziehen um die Weiterentwicklung zu unterstützen. Danke!",
"message": "Sie haben bisher $DOWNLOADS$ Downloads mit DownThemAll! hinzugefügt. Als regelmäßiger Benutzer können Sie eine Spende in Betracht ziehen um die Weiterentwicklung zu unterstützen. Danke!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! Einstellungen",
"message": "DownThemAll! Einstellungen",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! Button:",
"message": "DownThemAll! Button:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! Auswahl",
"message": "DownThemAll! Auswahl",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Downloads auswählen",
"message": "DownThemAll! - Downloads auswählen",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Link hinzufügen",
"message": "DownThemAll! - Link hinzufügen",
"description": "Title of single window"
},
"sizeB": {

View File

@ -305,7 +305,7 @@
},
"extensionDescription": {
"message": "Ο Διαχειριστής Πολλαπλών Λήψεων για τον φυλλομετρητή σας.",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Γρήγορο Φιλτράρισμα",

View File

@ -253,27 +253,27 @@
},
"dta_regular": {
"description": "Regular dta action; Menu text",
"message": "TraitorousDownloading!"
"message": "DownThemAll!"
},
"dta_regular_all": {
"description": "Menu text",
"message": "TraitorousDownloading! - All Tabs"
"message": "DownThemAll! - All Tabs"
},
"dta_regular_image": {
"description": "Menu text",
"message": "Save Image with TraitorousDownloading!"
"message": "Save Image with DownThemAll!"
},
"dta_regular_link": {
"description": "Menu text",
"message": "Save Link with TraitorousDownloading!"
"message": "Save Link with DownThemAll!"
},
"dta_regular_media": {
"description": "Menu text",
"message": "Save Media with TraitorousDownloading!"
"message": "Save Media with DownThemAll!"
},
"dta_regular_selection": {
"description": "Menu text",
"message": "Save Selection with TraitorousDownloading!"
"message": "Save Selection with DownThemAll!"
},
"dta_turbo": {
"description": "OneClick! action; Menu text",
@ -303,10 +303,6 @@
"description": "Error message; single/select window",
"message": "Invalid Renaming Mask"
},
"error_invalidServer": {
"description": "Error message; single/select window",
"message": "Invalid server URL"
},
"error_invalidReferrer": {
"description": "Error message; single window",
"message": "Invalid Referrer"
@ -344,7 +340,7 @@
"message": "Export As Text"
},
"extensionDescription": {
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one",
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one",
"message": "The Mass Downloader for your browser"
},
"fastfilter_placeholder": {
@ -479,7 +475,7 @@
},
"manager_title": {
"description": "Window/tab title",
"message": "TraitorousDownloading! Manager"
"message": "DownThemAll! Manager"
},
"mask": {
"description": "Renaming mask (short); used in e.g. select",
@ -515,7 +511,7 @@
},
"nagging_message": {
"description": "Donation nagging message; displayed as a notification bar in manager",
"message": "You've added $DOWNLOADS$ downloads with TraitorousDownloading! so far! As a regular user you might want to consider a donation to support further development. Thanks!",
"message": "You've added $DOWNLOADS$ downloads with DownThemAll! so far! As a regular user you might want to consider a donation to support further development. Thanks!",
"placeholders": {
"downloads": {
"content": "$1",
@ -587,11 +583,11 @@
},
"pref_button_type": {
"description": "label",
"message": "TraitorousDownloading! button:"
"message": "DownThemAll! button:"
},
"pref_button_type_dta": {
"description": "label",
"message": "TraitorousDownloading! selection"
"message": "DownThemAll! selection"
},
"pref_button_type_manager": {
"description": "label",
@ -637,10 +633,6 @@
"description": "Preferences/General",
"message": "Open the Manager tab after queuing some downloads"
},
"pref_cookies": {
"description": "Preferences/General",
"message": "Send cookies to the download server"
},
"pref_queue_notification": {
"description": "Preferences/General",
"message": "Show a notification when queuing new downloads"
@ -703,7 +695,7 @@
},
"prefs_title": {
"description": "Window/tab title; Preferences",
"message": "TraitorousDownloading! Preferences"
"message": "DownThemAll! Preferences"
},
"queue_finished": {
"description": "Notification text",
@ -729,7 +721,7 @@
},
"referrer": {
"description": "Label for \"Referrer\"",
"message": "Referrer (Not implemented)"
"message": "Referrer"
},
"remember": {
"description": "Checkbox text for confirmation, e.g. when removing a download in manager",
@ -929,7 +921,7 @@
},
"renamer_ref": {
"description": "Mask text; see mask button",
"message": "Referrer (Not implemented)"
"message": "Referrer"
},
"renamer_refdomain": {
"description": "Mask text; see mask button",
@ -1055,11 +1047,7 @@
},
"select_title": {
"description": "Title of the select window",
"message": "TraitorousDownloading! - Select your Downloads"
},
"server": {
"description": "Downloader Server",
"message": "Server"
"message": "DownThemAll! - Select your Downloads"
},
"set_mask": {
"description": "Menu text; select window",
@ -1087,7 +1075,7 @@
},
"single_title": {
"description": "Title of single window",
"message": "TraitorousDownloading! - Add a link"
"message": "DownThemAll! - Add a link"
},
"sizeB": {
"description": "Size formatting; bytes",
@ -1308,9 +1296,5 @@
"useonlyonce": {
"description": "Label for Use-Once checkboxes",
"message": "Use Once"
},
"cookies": {
"description": "Label for cookie checkboxes",
"message": "Send cookies to server"
}
}
}

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Todas las pestañas",
"message": "DownThemAll! - Todas las pestañas",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Guardar imagen con TraitorousDownloading!",
"message": "Guardar imagen con DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Guardar enlace con TraitorousDownloading!",
"message": "Guardar enlace con DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Guardar multimedia con TraitorousDownloading!",
"message": "Guardar multimedia con DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Guardar selección con TraitorousDownloading!",
"message": "Guardar selección con DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "El programa de descargas masivas para su navegador",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Filtro rápido",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "Gestor TraitorousDownloading!",
"message": "Gestor DownThemAll!",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "¡Ha añadido $DOWNLOADS$ descargas con TraitorousDownloading! hasta el momento! Al ser un usuario habitual quizás podría plantearse hacer una donación para apoyar el futuro desarrollo del proyecto. ¡Gracias!",
"message": "¡Ha añadido $DOWNLOADS$ descargas con DownThemAll! hasta el momento! Al ser un usuario habitual quizás podría plantearse hacer una donación para apoyar el futuro desarrollo del proyecto. ¡Gracias!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Preferencias de TraitorousDownloading!",
"message": "Preferencias de DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Botón TraitorousDownloading!:",
"message": "Botón DownThemAll!:",
"description": "label"
},
"pref_button_type_dta": {
"message": "Selección TraitorousDownloading!",
"message": "Selección DownThemAll!",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Seleccionar sus descargas",
"message": "DownThemAll! - Seleccionar sus descargas",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Añadir un enlace",
"message": "DownThemAll! - Añadir un enlace",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Kõik kaardid",
"message": "DownThemAll! - Kõik kaardid",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Salvesta pilt TraitorousDownloading!-iga",
"message": "Salvesta pilt DownThemAll!-iga",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Salvesta link TraitorousDownloading!-iga",
"message": "Salvesta link DownThemAll!-iga",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Salvesta meedia TraitorousDownloading!-iga",
"message": "Salvesta meedia DownThemAll!-iga",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Salvesta valik TraitorousDownloading!-iga",
"message": "Salvesta valik DownThemAll!-iga",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Massallalaadija sinu veebilehitsejale",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Kiirfiltreerimine",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! haldur",
"message": "DownThemAll! haldur",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Sa oled praeguseks TraitorousDownloading!-iga lisanud $DOWNLOADS$ allalaadimist! Tavakasutajana võiksid edasise arendamise toetamiseks kaaluda annetamist. Täname!",
"message": "Sa oled praeguseks DownThemAll!-iga lisanud $DOWNLOADS$ allalaadimist! Tavakasutajana võiksid edasise arendamise toetamiseks kaaluda annetamist. Täname!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! eelistused",
"message": "DownThemAll! eelistused",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! nupp:",
"message": "DownThemAll! nupp:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! valik",
"message": "DownThemAll! valik",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Vali oma allalaadimised",
"message": "DownThemAll! - Vali oma allalaadimised",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Lingi lisamine",
"message": "DownThemAll! - Lingi lisamine",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Tous les onglets",
"message": "DownThemAll! - Tous les onglets",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Enregistrer l'image avec TraitorousDownloading!",
"message": "Enregistrer l'image avec DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Enregistrer le lien avec TraitorousDownloading!",
"message": "Enregistrer le lien avec DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Enregistrer le média avec TraitorousDownloading!",
"message": "Enregistrer le média avec DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Enregistrer la sélection avec TraitorousDownloading!",
"message": "Enregistrer la sélection avec DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Le gestionnaire de téléchargements pour votre navigateur",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Filtrage rapide",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Gestionnaire",
"message": "DownThemAll! Gestionnaire",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Vous avez utilisé TraitorousDownloading! pour $DOWNLOADS$ téléchargements jusqu'à présent! En tant qu'utilisateur régulier, peut-être voudriez-vous faire un don pour supporter les versions futures. Merci!",
"message": "Vous avez utilisé DownThemAll! pour $DOWNLOADS$ téléchargements jusqu'à présent! En tant qu'utilisateur régulier, peut-être voudriez-vous faire un don pour supporter les versions futures. Merci!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Paramètres TraitorousDownloading!",
"message": "Paramètres DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Bouton TraitorousDownloading!",
"message": "Bouton DownThemAll!",
"description": "label"
},
"pref_button_type_dta": {
"message": "Sélection TraitorousDownloading!",
"message": "Sélection DownthemAll!",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Selectionner vos téléchargements",
"message": "DownThemAll! - Selectionner vos téléchargements",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Ajouter un lien",
"message": "DownThemAll! - Ajouter un lien",
"description": "Title of single window"
},
"sizeB": {
@ -1297,4 +1297,4 @@
"message": "Annulé par l'utilisateur",
"description": "Error message"
}
}
}

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Összes lap",
"message": "DownThemAll! - Összes lap",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Kép mentése a TraitorousDownloading-al!",
"message": "Kép mentése a DownThemAll-al!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Hivatkozás mentése TraitorousDownloading-al",
"message": "Hivatkozás mentése DownThemAll-al",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Média mentése TraitorousDownloading-al",
"message": "Média mentése DownThemAll-al",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Kiválasztás mentése TraitorousDownloading-al",
"message": "Kiválasztás mentése DownThemAll-al",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "A tömeges letöltő a böngésződ számára",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Gyors szűrés",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! kezelő",
"message": "DownThemAll! kezelő",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Eddig $DOWNLOADS$ letöltést adtál hozzá a TraitorousDownloading!-hoz! Gyakori felhasználóként megfontolhatnád a további fejlesztés támogatását. Köszönöm!",
"message": "Eddig $DOWNLOADS$ letöltést adtál hozzá a DownThemAll!-hoz! Gyakori felhasználóként megfontolhatnád a további fejlesztés támogatását. Köszönöm!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! beállításai",
"message": "DownThemAll! beállításai",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading gomb:",
"message": "DownThemAll gomb:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading választás",
"message": "DownThemAll választás",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Válaszd ki a letöltéseidet",
"message": "DownThemAll! - Válaszd ki a letöltéseidet",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Adj hozzá egy hivatkozást",
"message": "DownThemAll! - Adj hozzá egy hivatkozást",
"description": "Title of single window"
},
"sizeB": {

View File

@ -216,23 +216,23 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular_all": {
"message": "TraitorousDownloading - Semua Tab",
"message": "DownThemAll - Semua Tab",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Simpan Gambar menggunakan TraitorousDownloading!",
"message": "Simpan Gambar menggunakan DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Simpan Tautan menggunakan TraitorousDownloading!",
"message": "Simpan Tautan menggunakan DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Simpan Media menggunakan TraitorousDownloading!",
"message": "Simpan Media menggunakan DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Simpan Pilihan menggunakan TraitorousDownloading!",
"message": "Simpan Pilihan menggunakan DownThemAll!",
"description": "Menu text"
},
"dta_turbo_all": {
@ -297,7 +297,7 @@
},
"extensionDescription": {
"message": "Pengunduh Masal untuk browser anda",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Penyaringan Cepat",
@ -398,7 +398,7 @@
}
},
"manager_title": {
"message": "Pengelola TraitorousDownloading!",
"message": "Pengelola DownThemAll!",
"description": "Window/tab title"
},
"mask_default": {
@ -426,7 +426,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Sejauh ini Anda telah menambahkan $DOWNLOADS$ unduhan menggunakan TraitorousDownloading! Sebagai penggunan setia, silakan berdonasi untuk mendukung pengembangan lebih lanjut. Terima Kasih!",
"message": "Sejauh ini Anda telah menambahkan $DOWNLOADS$ unduhan menggunakan DownThemAll! Sebagai penggunan setia, silakan berdonasi untuk mendukung pengembangan lebih lanjut. Terima Kasih!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -498,7 +498,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Preferensi TraitorousDownloading!",
"message": "Preferensi DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -506,11 +506,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Tombol TraitorousDownloading!:",
"message": "Tombol DownThemAll!:",
"description": "label"
},
"pref_button_type_dta": {
"message": "Pilihan TraitorousDownloading!",
"message": "Pilihan DownThemAll!",
"description": "label"
},
"pref_button_type_manager": {
@ -926,7 +926,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Pilih Unduhan Anda",
"message": "DownThemAll! - Pilih Unduhan Anda",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -970,7 +970,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Tambah tautan",
"message": "DownThemAll! - Tambah tautan",
"description": "Title of single window"
},
"sizes_huge": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Tutte le schede",
"message": "DownThemAll! - Tutte le schede",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Salva immagine con TraitorousDownloading!",
"message": "Salva immagine con DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Salva link con TraitorousDownloading!",
"message": "Salva link con DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Salva media con TraitorousDownloading!",
"message": "Salva media con DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Salva selezione con TraitorousDownloading!",
"message": "Salva selezione con DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Il download manager di massa per il tuo browser",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Filtro Rapido",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Manager",
"message": "DownThemAll! Manager",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Hai aggiunto $DOWNLOADS$ download a TraitorousDownloading! Come utente abituale potresti considerare una donazione per supportare lo sviluppo. Grazie!",
"message": "Hai aggiunto $DOWNLOADS$ download a DownThemAll! Come utente abituale potresti considerare una donazione per supportare lo sviluppo. Grazie!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Preferenze di TraitorousDownloading!",
"message": "Preferenze di DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Pulsante TraitorousDownloading!:",
"message": "Pulsante DownThemAll!:",
"description": "label"
},
"pref_button_type_dta": {
"message": "Selezione TraitorousDownloading!",
"message": "Selezione DownThemAll!",
"description": "label"
},
"pref_button_type_manager": {
@ -1010,7 +1010,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Seleziona i tuoi download",
"message": "DownThemAll! - Seleziona i tuoi download",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1054,7 +1054,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Aggiungi un link",
"message": "DownThemAll! - Aggiungi un link",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - 全てのタブ",
"message": "DownThemAll! - 全てのタブ",
"description": "Menu text"
},
"dta_regular_image": {
"message": "画像をTraitorousDownloading! で保存する",
"message": "画像をDownThemAll! で保存する",
"description": "Menu text"
},
"dta_regular_link": {
"message": "リンク先をTraitorousDownloading! で保存する",
"message": "リンク先をDownThemAll! で保存する",
"description": "Menu text"
},
"dta_regular_media": {
"message": "メディアをTraitorousDownloading! で保存する",
"message": "メディアをDownThemAll! で保存する",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "選択項目をTraitorousDownloading! で保存する",
"message": "選択項目をDownThemAll! で保存する",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "ブラウザ用マスダウンローダー",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "高速フィルタリング",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! マネージャ",
"message": "DownThemAll! マネージャ",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "これまでTraitorousDownloadingで$DOWNLOADS$ダウンロードを追加しました! 通常のユーザーとして、さらなる開発を支援するために寄付を検討することができます。 皆様のご協力、心よりお待ち致しております。",
"message": "これまでDownThemAllで$DOWNLOADS$ダウンロードを追加しました! 通常のユーザーとして、さらなる開発を支援するために寄付を検討することができます。 皆様のご協力、心よりお待ち致しております。",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! 設定",
"message": "DownThemAll! 設定",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,7 +574,7 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! アイコンクリック時:",
"message": "DownThemAll! アイコンクリック時:",
"description": "label"
},
"pref_button_type_dta": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - ダウンロードの選択",
"message": "DownThemAll! - ダウンロードの選択",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - リンクを追加",
"message": "DownThemAll! - リンクを追加",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - 모든 탭",
"message": "DownThemAll! - 모든 탭",
"description": "Menu text"
},
"dta_regular_image": {
"message": "이미지를 TraitorousDownloading!로 저장",
"message": "이미지를 DownThemAll!로 저장",
"description": "Menu text"
},
"dta_regular_link": {
"message": "링크를 TraitorousDownloading!로 저장",
"message": "링크를 DownThemAll!로 저장",
"description": "Menu text"
},
"dta_regular_media": {
"message": "미디어를 TraitorousDownloading!로 저장",
"message": "미디어를 DownThemAll!로 저장",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "선택영역을 TraitorousDownloading!로 저장",
"message": "선택영역을 DownThemAll!로 저장",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "브라우저용 대량 다운로더",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "빠른 필터링",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! 관리자",
"message": "DownThemAll! 관리자",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "지금까지 TraitorousDownloading!로 $DOWNLOADS$ 다운로드를 추가하셨습니다. 일반 사용자로서 추가 개발을 지원하기 위해 기부를 고려할 수 있습니다. 감사합니다!",
"message": "지금까지 DownThemAll!로 $DOWNLOADS$ 다운로드를 추가하셨습니다. 일반 사용자로서 추가 개발을 지원하기 위해 기부를 고려할 수 있습니다. 감사합니다!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! 설정",
"message": "DownThemAll! 설정",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! 버튼:",
"message": "DownThemAll! 버튼:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! 선택",
"message": "DownThemAll! 선택",
"description": "label"
},
"pref_button_type_manager": {
@ -1010,7 +1010,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - 다운로드 선택",
"message": "DownThemAll! - 다운로드 선택",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1054,7 +1054,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - 링크 추가",
"message": "DownThemAll! - 링크 추가",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Visoms kortelėms",
"message": "DownThemAll! - Visoms kortelėms",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Išsaugoti vaizdą su TraitorousDownloading!",
"message": "Išsaugoti vaizdą su DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Išsaugoti nuorodą su TraitorousDownloading!",
"message": "Išsaugoti nuorodą su DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Išsaugoti media su TraitorousDownloading!",
"message": "Išsaugoti media su DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Išsaugoti pažymėtą su TraitorousDownloading!",
"message": "Išsaugoti pažymėtą su DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Masinio parsisiuntimo programa jūsų naršyklėje",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Greitas filtravimas",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! menedžeris",
"message": "DownThemAll! menedžeris",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Iki šiol, naudodami TraitorousDownloading!, pridėjote $DOWNLOADS$ parsisiuntimų! Kaip paprastas vartotojas, galbūt norėsite apsvarstyti galimybę paaukoti tolimesnei plėtrai. Ačiū!",
"message": "Iki šiol, naudodami DownThemAll!, pridėjote $DOWNLOADS$ parsisiuntimų! Kaip paprastas vartotojas, galbūt norėsite apsvarstyti galimybę paaukoti tolimesnei plėtrai. Ačiū!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! nuostatos",
"message": "DownThemAll! nuostatos",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! mygtukas:",
"message": "DownThemAll! mygtukas:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! pasirinkimas",
"message": "DownThemAll! pasirinkimas",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Pasirinkite parsisiuntimus",
"message": "DownThemAll! - Pasirinkite parsisiuntimus",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Pridėti nuorodą",
"message": "DownThemAll! - Pridėti nuorodą",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Alle Tabbladen",
"message": "DownThemAll! - Alle Tabbladen",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Afbeelding opslaan met TraitorousDownloading!",
"message": "Afbeelding opslaan met DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Link opslaan met TraitorousDownloading!",
"message": "Link opslaan met DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Media opslaan met TraitorousDownloading!",
"message": "Media opslaan met DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Selectie opslaan met TraitorousDownloading!",
"message": "Selectie opslaan met DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "De bulkdownloader voor uw browser",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Snel filteren",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! beheerder",
"message": "DownThemAll! beheerder",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "U heeft al $DOWNLOADS$ downloads toegevoegd met TraitorousDownloading! Als regelmatige gebruiker wilt u wellicht een donatie overwegen om verdere ontwikkeling te ondersteunen. Alvast bedankt!",
"message": "U heeft al $DOWNLOADS$ downloads toegevoegd met DownThemAll! Als regelmatige gebruiker wilt u wellicht een donatie overwegen om verdere ontwikkeling te ondersteunen. Alvast bedankt!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! voorkeuren",
"message": "DownThemAll! voorkeuren",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! knop:",
"message": "DownThemAll! knop:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! selectie",
"message": "DownThemAll! selectie",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Selecteer uw Downloads",
"message": "DownThemAll! - Selecteer uw Downloads",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Link toevoegen",
"message": "DownThemAll! - Link toevoegen",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Wszystkie zakładki",
"message": "DownThemAll! - Wszystkie zakładki",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Zapisz Obraz z TraitorousDownloading!",
"message": "Zapisz Obraz z DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Zapisz Link z TraitorousDownloading!",
"message": "Zapisz Link z DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Zapisz Multimedia z TraitorousDownloading!",
"message": "Zapisz Multimedia z DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Zapisz wybór z TraitorousDownloading!",
"message": "Zapisz wybór z DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Narzędzie do zbiorowego pobierania dla Twojej przeglądarki",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Szybkie filtrowanie",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "Menedżer TraitorousDownloading!",
"message": "Menedżer DownThemAll!",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Dodałeś do tej pory $DOWNLOADS$ pobrań z TraitorousDownloading! Jako stały użytkownik możesz rozważyć darowiznę na wsparcie dalszego rozwoju. Dzięki!",
"message": "Dodałeś do tej pory $DOWNLOADS$ pobrań z DownThemAll! Jako stały użytkownik możesz rozważyć darowiznę na wsparcie dalszego rozwoju. Dzięki!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Ustawienia TraitorousDownloading!",
"message": "Ustawienia DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Przycisk TraitorousDownloading!:",
"message": "Przycisk DownThemAll!:",
"description": "label"
},
"pref_button_type_dta": {
"message": "Wybór TraitorousDownloading!:",
"message": "Wybór DownThemAll!:",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Wybierz swoje pobierania",
"message": "DownThemAll! - Wybierz swoje pobierania",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Dodaj link",
"message": "DownThemAll! - Dodaj link",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Todas as abas",
"message": "DownThemAll! - Todas as abas",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Salvar Imagem com o TraitorousDownloading!",
"message": "Salvar Imagem com o DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Salvar Link com o TraitorousDownloading!",
"message": "Salvar Link com o DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Salvar Mídia com o TraitorousDownloading!",
"message": "Salvar Mídia com o DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Salvar Seleção com o TraitorousDownloading!",
"message": "Salvar Seleção com o DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "A ferramenta de download em massa para o seu navegador",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Filtragem rápida",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "Gerenciador do TraitorousDownloading!",
"message": "Gerenciador do DownThemAll!",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Você já adicionou $DOWNLOADS$ downloads com TraitorousDownloading! Como usuário regular, você pode considerar uma doação para apoiar desenvolvimento adicional. Obrigado!",
"message": "Você já adicionou $DOWNLOADS$ downloads com DownThemAll! Como usuário regular, você pode considerar uma doação para apoiar desenvolvimento adicional. Obrigado!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Preferências do TraitorousDownloading!",
"message": "Preferências do DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Botão TraitorousDownloading!",
"message": "Botão DownThemAll!",
"description": "label"
},
"pref_button_type_dta": {
"message": "Seleção do TraitorousDownloading!",
"message": "Seleção do DownThemAll!",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Selecione seus Downloads",
"message": "DownThemAll! - Selecione seus Downloads",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Adicone um link",
"message": "DownThemAll! - Adicone um link",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Все вкладки",
"message": "DownThemAll! - Все вкладки",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Закачать изображение через TraitorousDownloading!",
"message": "Закачать изображение через DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Закачать ссылку через TraitorousDownloading!",
"message": "Закачать ссылку через DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Закачать медиа через TraitorousDownloading!",
"message": "Закачать медиа через DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Закачать выделенное через TraitorousDownloading!",
"message": "Закачать выделенное через DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Универсальная качалка для вашего браузера",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Быстрый фильтр",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Менеджер",
"message": "DownThemAll! Менеджер",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Добавлено $DOWNLOADS$ закачек через TraitorousDownloading! на текущий момент! Как постоянный пользователь подумайте над тем чтобы поддержать дальнейшую разработку. Спасибо!",
"message": "Добавлено $DOWNLOADS$ закачек через DownThemAll! на текущий момент! Как постоянный пользователь подумайте над тем чтобы поддержать дальнейшую разработку. Спасибо!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "Настройки TraitorousDownloading!",
"message": "Настройки DownThemAll!",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "Кнопка TraitorousDownloading!",
"message": "Кнопка DownThemAll!",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! выделенного",
"message": "DownThemAll! выделенного",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Выбрать ваши закачки",
"message": "DownThemAll! - Выбрать ваши закачки",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Добавить ссылку",
"message": "DownThemAll! - Добавить ссылку",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Alla flikar",
"message": "DownThemAll! - Alla flikar",
"description": "Menu text"
},
"dta_regular_image": {
"message": "Spara bild med TraitorousDownloading!",
"message": "Spara bild med DownThemAll!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "Spara länk med TraitorousDownloading!",
"message": "Spara länk med DownThemAll!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "Spara media med TraitorousDownloading!",
"message": "Spara media med DownThemAll!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "Spara val med TraitorousDownloading!",
"message": "Spara val med DownThemAll!",
"description": "Menu text"
},
"dta_turbo": {
@ -313,7 +313,7 @@
},
"extensionDescription": {
"message": "Bulkhämtaren för din webbläsare",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Snabb filtrering",
@ -442,7 +442,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Hanterare",
"message": "DownThemAll! Hanterare",
"description": "Window/tab title"
},
"media": {
@ -470,7 +470,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "Du har lagt till $DOWNLOADS$ hämtningar med TraitorousDownloading! hittills! Som en vanlig användare kanske du vill överväga en donation för att stöda vidareutveckling. Tackar!",
"message": "Du har lagt till $DOWNLOADS$ hämtningar med DownThemAll! hittills! Som en vanlig användare kanske du vill överväga en donation för att stöda vidareutveckling. Tackar!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -550,7 +550,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! Inställningar",
"message": "DownThemAll! Inställningar",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -558,11 +558,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! knapp:",
"message": "DownThemAll! knapp:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! urval",
"message": "DownThemAll! urval",
"description": "label"
},
"pref_button_type_manager": {
@ -966,7 +966,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - Välj dina hämtningar",
"message": "DownThemAll! - Välj dina hämtningar",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -994,7 +994,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Lägg till en länk",
"message": "DownThemAll! - Lägg till en länk",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - Tüm Sekmeler",
"message": "DownThemAll! - Tüm Sekmeler",
"description": "Menu text"
},
"dta_regular_image": {
"message": "TraitorousDownloading ile Görüntüyü Kaydet!",
"message": "DownThemAll ile Görüntüyü Kaydet!",
"description": "Menu text"
},
"dta_regular_link": {
"message": "TraitorousDownloading ile Bağlantıyı Kaydet!",
"message": "DownThemAll ile Bağlantıyı Kaydet!",
"description": "Menu text"
},
"dta_regular_media": {
"message": "TraitorousDownloading ile Medyayı Kaydet!",
"message": "DownThemAll ile Medyayı Kaydet!",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "TraitorousDownloading ile Seçimi Kaydet!",
"message": "DownThemAll ile Seçimi Kaydet!",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "Tarayıcınız için Toplu İndirme",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "Hızlı Filtreleme",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! Yöneticisi",
"message": "DownThemAll! Yöneticisi",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "TraitorousDownloading! ile şimdiye kadar $DOWNLOADS$ indirme eklediniz! Normal bir kullanıcı olarak, daha fazla gelişimi desteklemek için bir bağış düşünebilirsiniz. Teşekkürler!",
"message": "DownThemAll! ile şimdiye kadar $DOWNLOADS$ indirme eklediniz! Normal bir kullanıcı olarak, daha fazla gelişimi desteklemek için bir bağış düşünebilirsiniz. Teşekkürler!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! Tercihleri",
"message": "DownThemAll! Tercihleri",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! düğmesi:",
"message": "DownThemAll! düğmesi:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! seçimi",
"message": "DownThemAll! seçimi",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - İndirilenlerinizi seçin",
"message": "DownThemAll! - İndirilenlerinizi seçin",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - Bir bağlantı ekle",
"message": "DownThemAll! - Bir bağlantı ekle",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading! - 全部标签页",
"message": "DownThemAll! - 全部标签页",
"description": "Menu text"
},
"dta_regular_image": {
"message": "用 TraitorousDownloading! 保存图片",
"message": "用 DownThemAll! 保存图片",
"description": "Menu text"
},
"dta_regular_link": {
"message": "用 TraitorousDownloading! 保存链接",
"message": "用 DownThemAll! 保存链接",
"description": "Menu text"
},
"dta_regular_media": {
"message": "用 TraitorousDownloading! 保存媒体",
"message": "用 DownThemAll! 保存媒体",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "用 TraitorousDownloading! 保存选中项",
"message": "用 DownThemAll! 保存选中项",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "适用您浏览器的批量下载工具",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "快速筛选",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading! 管理器",
"message": "DownThemAll! 管理器",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "您使用 TraitorousDownloading! 至今已经添加了 $DOWNLOADS$ 个下载。作为一名普通用户,您可以考虑捐助来支持一下开发。多谢!",
"message": "您使用 DownThemAll! 至今已经添加了 $DOWNLOADS$ 个下载。作为一名普通用户,您可以考虑捐助来支持一下开发。多谢!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading! 首选项",
"message": "DownThemAll! 首选项",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! 按钮:",
"message": "DownThemAll! 按钮:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! 选择框",
"message": "DownThemAll! 选择框",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading! - 选择您要下载的内容",
"message": "DownThemAll! - 选择您要下载的内容",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading! - 添加链接",
"message": "DownThemAll! - 添加链接",
"description": "Title of single window"
},
"sizeB": {

View File

@ -232,27 +232,27 @@
"description": "Download (verb/action); e.g. in single and select buttons"
},
"dta_regular": {
"message": "TraitorousDownloading!",
"message": "DownThemAll!",
"description": "Regular dta action; Menu text"
},
"dta_regular_all": {
"message": "TraitorousDownloading!- 全部分頁",
"message": "DownThemAll!- 全部分頁",
"description": "Menu text"
},
"dta_regular_image": {
"message": "以 TraitorousDownloading! 儲存圖片",
"message": "以 DownThemAll! 儲存圖片",
"description": "Menu text"
},
"dta_regular_link": {
"message": "以 TraitorousDownloading! 下載連結",
"message": "以 DownThemAll! 下載連結",
"description": "Menu text"
},
"dta_regular_media": {
"message": "以 TraitorousDownloading! 儲存媒體檔案",
"message": "以 DownThemAll! 儲存媒體檔案",
"description": "Menu text"
},
"dta_regular_selection": {
"message": "以 TraitorousDownloading! 儲存選取項目",
"message": "以 DownThemAll! 儲存選取項目",
"description": "Menu text"
},
"dta_turbo": {
@ -321,7 +321,7 @@
},
"extensionDescription": {
"message": "為你瀏覽器而生的大量下載工具",
"description": "TraitorousDownloading! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
"description": "DownThemAll! tagline, displayed in about:addons; Please do NOT refer to a specific browser such as firefox, as we will probably support more than one"
},
"fastfiltering": {
"message": "快速篩選",
@ -450,7 +450,7 @@
}
},
"manager_title": {
"message": "TraitorousDownloading!下載管理",
"message": "DownThemAll!下載管理",
"description": "Window/tab title"
},
"mask": {
@ -486,7 +486,7 @@
"description": "Action for moving a download up"
},
"nagging_message": {
"message": "目前已透過TraitorousDownloading! 加入 $DOWNLOADS$ 個下載您可以贊助我們支持更進一步的開發謝謝!",
"message": "目前已透過DownThemAll! 加入 $DOWNLOADS$ 個下載您可以贊助我們支持更進一步的開發謝謝!",
"description": "Donation nagging message; displayed as a notification bar in manager",
"placeholders": {
"downloads": {
@ -566,7 +566,7 @@
"description": "Menu text; Preferences"
},
"prefs_title": {
"message": "TraitorousDownloading!偏好設定",
"message": "DownThemAll!偏好設定",
"description": "Window/tab title; Preferences"
},
"pref_add_paused": {
@ -574,11 +574,11 @@
"description": "Preferences/General"
},
"pref_button_type": {
"message": "TraitorousDownloading! 按鈕:",
"message": "DownThemAll! 按鈕:",
"description": "label"
},
"pref_button_type_dta": {
"message": "TraitorousDownloading! 選取",
"message": "DownThemAll! 選取",
"description": "label"
},
"pref_button_type_manager": {
@ -1026,7 +1026,7 @@
"description": "Menu text; select context"
},
"select_title": {
"message": "TraitorousDownloading!- 選擇下載",
"message": "DownThemAll!- 選擇下載",
"description": "Title of the select window"
},
"SERVER_BAD_CONTENT": {
@ -1070,7 +1070,7 @@
"description": "Header text; single window"
},
"single_title": {
"message": "TraitorousDownloading!- 新增連結",
"message": "DownThemAll!- 新增連結",
"description": "Title of single window"
},
"sizeB": {

File diff suppressed because one or more lines are too long

View File

@ -11,7 +11,7 @@ import { getManager } from "./manager/man";
import { select } from "./select";
import { single } from "./single";
import { Notification } from "./notifications";
import { MASK, FASTFILTER, SUBFOLDER, SERVER } from "./recentlist";
import { MASK, FASTFILTER, SUBFOLDER } from "./recentlist";
import { openManager } from "./windowutils";
import { _ } from "./i18n";
@ -20,9 +20,7 @@ const MAX_BATCH = 10000;
export interface QueueOptions {
mask?: string;
subfolder?: string;
server?: string;
paused?: boolean;
cookies?: boolean;
}
export const API = new class APIImpl {
@ -34,10 +32,8 @@ export const API = new class APIImpl {
await Promise.all([MASK.init(), SUBFOLDER.init()]);
const {mask = MASK.current} = options;
const {subfolder = SUBFOLDER.current} = options;
const {server = SERVER.current} = options;
const {paused = false} = options;
const {cookies = false} = options;
const defaults: any = {
_idx: 0,
get idx() {
@ -53,10 +49,8 @@ export const API = new class APIImpl {
postData: null,
mask,
subfolder,
server,
date: Date.now(),
paused,
cookies,
paused
};
let currentBatch = await Prefs.get("currentBatch", 0);
const initialBatch = currentBatch;
@ -86,7 +80,7 @@ export const API = new class APIImpl {
new Notification(null, _("queued-downloads", items.length));
}
}
if (false && await Prefs.get("open-manager-on-queue")) {
if (await Prefs.get("open-manager-on-queue")) {
await openManager(false);
}
}
@ -130,10 +124,6 @@ export const API = new class APIImpl {
await SUBFOLDER.init();
await SUBFOLDER.push(options.subfolder);
}
if (typeof options.server === "string" && !options.serverOnce) {
await SERVER.init();
await SERVER.push(options.server);
}
if (typeof options.type === "string") {
await Prefs.set("last-type", options.type);
}

View File

@ -27,7 +27,6 @@ import {
} from "./browser";
import { Bus } from "./bus";
import { filterInSitu } from "./util";
import { DB } from "./db";
const menus = typeof (_menus) !== "undefined" && _menus || _cmenus;
@ -107,19 +106,19 @@ class Handler {
async performSelection(options: SelectionOptions) {
try {
const tabOptions: any = {
const toptions: any = {
currentWindow: true,
discarded: false,
};
if (!CHROME) {
tabOptions.hidden = false;
toptions.hidden = false;
}
const selectedTabs = options.allTabs ?
await tabs.query(tabOptions) as any[] :
await tabs.query(toptions) as any[] :
[options.tab];
const textLinks = await Prefs.get("text-links", true);
const gatherOptions = {
const goptions = {
type: "DTA:gather",
selectionOnly: options.selectionOnly,
textLinks,
@ -128,7 +127,7 @@ class Handler {
};
const results = await Promise.all(selectedTabs.
map((tab: any) => runContentJob(tab, GATHER, gatherOptions)));
map((tab: any) => runContentJob(tab, GATHER, goptions)));
await this.processResults(options.turbo, results.flat());
}
@ -154,14 +153,14 @@ runtime.onInstalled.addListener(({reason, previousVersion}: OnInstalled) => {
const major = getMajor(version);
const prevMajor = getMajor(previousVersion);
if (reason === "update" && major !== prevMajor) {
// tabs.create({
// url: `https://about.downthemall.org/changelog/?cur=${major}&prev=${prevMajor}`,
// });
tabs.create({
url: `https://about.downthemall.org/changelog/?cur=${major}&prev=${prevMajor}`,
});
}
else if (reason === "install") {
// tabs.create({
// url: `https://about.downthemall.org/4.0/?cur=${major}`,
// });
tabs.create({
url: `https://about.downthemall.org/4.0/?cur=${major}`,
});
}
});
@ -171,7 +170,7 @@ locale.then(() => {
super();
this.onClicked = this.onClicked.bind(this);
const alls = new Map<string, string[]>();
const menuCreate = (options: any) => {
const mcreate = (options: any) => {
if (CHROME) {
delete options.icons;
options.contexts = options.contexts.
@ -185,7 +184,7 @@ locale.then(() => {
}
menus.create(options);
};
menuCreate({
mcreate({
id: "DTARegularLink",
contexts: ["link"],
icons: {
@ -194,7 +193,7 @@ locale.then(() => {
},
title: _("dta.regular.link"),
});
menuCreate({
mcreate({
id: "DTATurboLink",
contexts: ["link"],
icons: {
@ -203,7 +202,7 @@ locale.then(() => {
},
title: _("dta.turbo.link"),
});
menuCreate({
mcreate({
id: "DTARegularImage",
contexts: ["image"],
icons: {
@ -212,7 +211,7 @@ locale.then(() => {
},
title: _("dta.regular.image"),
});
menuCreate({
mcreate({
id: "DTATurboImage",
contexts: ["image"],
icons: {
@ -221,7 +220,7 @@ locale.then(() => {
},
title: _("dta.turbo.image"),
});
menuCreate({
mcreate({
id: "DTARegularMedia",
contexts: ["video", "audio"],
icons: {
@ -230,7 +229,7 @@ locale.then(() => {
},
title: _("dta.regular.media"),
});
menuCreate({
mcreate({
id: "DTATurboMedia",
contexts: ["video", "audio"],
icons: {
@ -239,7 +238,7 @@ locale.then(() => {
},
title: _("dta.turbo.media"),
});
menuCreate({
mcreate({
id: "DTARegularSelection",
contexts: ["selection"],
icons: {
@ -248,7 +247,7 @@ locale.then(() => {
},
title: _("dta.regular.selection"),
});
menuCreate({
mcreate({
id: "DTATurboSelection",
contexts: ["selection"],
icons: {
@ -257,7 +256,7 @@ locale.then(() => {
},
title: _("dta.turbo.selection"),
});
menuCreate({
mcreate({
id: "DTARegular",
contexts: ["all", "browser_action", "tools_menu"],
icons: {
@ -266,7 +265,7 @@ locale.then(() => {
},
title: _("dta.regular"),
});
menuCreate({
mcreate({
id: "DTATurbo",
contexts: ["all", "browser_action", "tools_menu"],
icons: {
@ -275,12 +274,12 @@ locale.then(() => {
},
title: _("dta.turbo"),
});
menuCreate({
mcreate({
id: "sep-1",
contexts: ["all", "browser_action", "tools_menu"],
type: "separator"
});
menuCreate({
mcreate({
id: "DTARegularAll",
contexts: ["all", "browser_action", "tools_menu"],
icons: {
@ -289,7 +288,7 @@ locale.then(() => {
},
title: _("dta-regular-all"),
});
menuCreate({
mcreate({
id: "DTATurboAll",
contexts: ["all", "browser_action", "tools_menu"],
icons: {
@ -301,12 +300,12 @@ locale.then(() => {
const sep2ctx = menus.ACTION_MENU_TOP_LEVEL_LIMIT === 6 ?
["all", "tools_menu"] :
["all", "browser_action", "tools_menu"];
menuCreate({
mcreate({
id: "sep-2",
contexts: sep2ctx,
type: "separator"
});
menuCreate({
mcreate({
id: "DTAAdd",
contexts: ["all", "browser_action", "tools_menu"],
icons: {
@ -317,12 +316,12 @@ locale.then(() => {
},
title: _("add-download"),
});
menuCreate({
mcreate({
id: "sep-3",
contexts: ["all", "browser_action", "tools_menu"],
type: "separator"
});
/* menuCreate({
mcreate({
id: "DTAManager",
contexts: ["all", "browser_action", "tools_menu"],
icons: {
@ -330,8 +329,8 @@ locale.then(() => {
32: "/style/button-manager@2x.png",
},
title: _("manager.short"),
});*/
menuCreate({
});
mcreate({
id: "DTAPrefs",
contexts: ["all", "browser_action", "tools_menu"],
icons: {
@ -663,13 +662,6 @@ locale.then(() => {
await sessionRemover();
}
try {
await DB.init();
}
catch (ex) {
console.error("db init", ex.toString(), ex.message, ex.stack, ex);
}
await Prefs.set("last-run", new Date());
await filters();
await getManager();

132
lib/db.ts
View File

@ -1,25 +1,17 @@
"use strict";
// License: MIT
// eslint-disable-next-line no-unused-vars
import { BaseItem } from "./item";
// eslint-disable-next-line no-unused-vars
import { Download } from "./manager/download";
import { RUNNING, QUEUED, RETRYING } from "./manager/state";
import { storage } from "./browser";
import { sort } from "./sorting";
// License: MIT
const VERSION = 1;
const STORE = "queue";
interface Database {
init(): Promise<void>;
saveItems(items: Download[]): Promise<unknown>;
deleteItems(items: any[]): Promise<void>;
getAll(): Promise<BaseItem[]>;
}
export class IDB implements Database {
export const DB = new class DB {
private db?: IDBDatabase;
constructor() {
@ -114,7 +106,7 @@ export class IDB implements Database {
return await new Promise(this.saveItemsInternal.bind(this, items));
}
deleteItemsInternal(items: any[], resolve: () => void, reject: Function) {
deleteItemsInternal(items: any[], resolve: Function, reject: Function) {
if (!items || !items.length || !this.db) {
resolve();
return;
@ -147,120 +139,4 @@ export class IDB implements Database {
await this.init();
await new Promise(this.deleteItemsInternal.bind(this, items));
}
}
class StorageDB implements Database {
private counter = 1;
async init(): Promise<void> {
const {db = null} = await storage.local.get("db");
if (!db || !db.counter) {
return;
}
this.counter = db.counter;
}
async saveItems(items: Download[]) {
const db: any = {items: []};
for (const item of items) {
if (!item.dbId) {
item.dbId = ++this.counter;
}
db.items.push(item.toJSON());
}
db.counter = this.counter;
await storage.local.set({db});
}
async deleteItems(items: any[]): Promise<void> {
const gone = new Set(items.map(i => i.dbId));
const {db = null} = await storage.local.get("db");
if (!db) {
return;
}
db.items = db.items.filter((i: any) => !gone.has(i.dbId));
await storage.local.set({db});
}
async getAll() {
const {db = null} = await storage.local.get("db");
if (!db || !Array.isArray(db.items)) {
return [];
}
return sort(db.items, (i: any) => i.position) as BaseItem[];
}
}
class MemoryDB implements Database {
private counter = 1;
private items = new Map();
init(): Promise<void> {
return Promise.resolve();
}
saveItems(items: Download[]) {
for (const item of items) {
if (item.private) {
continue;
}
if (!item.dbId) {
item.dbId = ++this.counter;
}
this.items.set(item.dbId, item.toJSON());
}
return Promise.resolve();
}
deleteItems(items: any[]) {
for (const item of items) {
if (!("dbId" in item)) {
continue;
}
this.items.delete(item.dbId);
}
return Promise.resolve();
}
getAll(): Promise<BaseItem[]> {
return Promise.resolve(Array.from(this.items.values()));
}
}
export const DB = new class DBWrapper implements Database {
saveItems(items: Download[]): Promise<unknown> {
return this.db.saveItems(items);
}
deleteItems(items: any[]): Promise<void> {
return this.db.deleteItems(items);
}
getAll(): Promise<BaseItem[]> {
return this.db.getAll();
}
private db: Database;
async init() {
try {
this.db = new IDB();
await this.db.init();
}
catch (ex) {
console.warn(
"Failed to initialize idb backend, using storage db fallback", ex);
try {
this.db = new StorageDB();
await this.db.init();
}
catch (ex) {
console.warn(
"Failed to initialize storage backend, using memory db fallback", ex);
this.db = new MemoryDB();
await this.db.init();
}
}
}
}();

View File

@ -4,7 +4,7 @@
import {memoize} from "./memoize";
import langs from "../_locales/all.json";
import { sorted, naturalCaseCompare } from "./sorting";
import lf from "localforage";
export const ALL_LANGS = Object.freeze(new Map<string, string>(
sorted(Object.entries(langs), e => {
@ -40,11 +40,11 @@ class Entry {
this.message = entry.message.replace(/\$[A-Z0-9]+\$/g, (r: string) => {
hit = true;
const id = r.substr(1, r.length - 2).toLocaleLowerCase();
const placeholder = entry.placeholders[id];
if (!placeholder || !placeholder.content) {
const pholder = entry.placeholders[id];
if (!pholder || !pholder.content) {
throw new Error(`Invalid placeholder: ${id}`);
}
return `${placeholder.content}$`;
return `${pholder.content}$`;
});
if (!hit) {
throw new Error("Not entry-able");
@ -123,17 +123,14 @@ async function fetchLanguage(code: string) {
}
async function loadCached(): Promise<any> {
const cached = await lf.getItem<string>(CACHE_KEY);
if (!cached) {
return null;
function loadCached() {
if (document.location.pathname.includes("/windows/")) {
const cached = localStorage.getItem(CACHE_KEY);
if (cached) {
return JSON.parse(cached) as any[];
}
}
const parsed = JSON.parse(cached);
if (!Array.isArray(parsed) || !parsed[0].CRASH || !parsed[0].CRASH.message) {
console.warn("rejecting cached locales", parsed);
return null;
}
return parsed;
return null;
}
async function loadRawLocales() {
@ -190,16 +187,16 @@ async function load(): Promise<Localization> {
}
CURRENT = currentLang;
// en is the base locale
let valid = await loadCached();
let valid = loadCached();
if (!valid) {
valid = await loadRawLocales();
await lf.setItem(CACHE_KEY, JSON.stringify(valid));
localStorage.setItem(CACHE_KEY, JSON.stringify(valid));
}
if (!valid.length) {
throw new Error("Could not load ANY of these locales");
throw new Error("Could not lood ANY of these locales");
}
const custom = await lf.getItem<string>(CUSTOM_KEY);
const custom = localStorage.getItem(CUSTOM_KEY);
if (custom) {
try {
valid.push(JSON.parse(custom));
@ -242,7 +239,7 @@ locale.then(l => {
/**
* Localize a message
* @param {string} id Identifier of the string to localize
* @param {string[]} [subst] Message substitutions
* @param {string[]} [subst] Message substituations
* @returns {string} Localized message
*/
export function _(id: string, ...subst: any[]) {
@ -305,11 +302,11 @@ export async function localize<T extends HTMLElement | DocumentFragment>(
return localize_(elem);
}
export async function saveCustomLocale(data?: string) {
export function saveCustomLocale(data?: string) {
if (!data) {
await lf.removeItem(CUSTOM_KEY);
localStorage.removeItem(CUSTOM_KEY);
return;
}
new Localization(JSON.parse(data));
await localStorage.setItem(CUSTOM_KEY, data);
localStorage.setItem(CUSTOM_KEY, data);
}

View File

@ -4,11 +4,9 @@
import { downloads, CHROME } from "./browser";
import { EventEmitter } from "../uikit/lib/events";
import { PromiseSerializer } from "./pserializer";
import lf from "localforage";
const VERSION = 1;
const STORE = "iconcache";
// eslint-disable-next-line no-magic-numbers
const CACHE_SIZES = CHROME ? [16, 32] : [16, 32, 64, 127];
@ -50,17 +48,37 @@ const SYNONYMS = Object.freeze(new Map<string, string>([
]));
export const IconCache = new class IconCache extends EventEmitter {
private db = lf.createInstance({name: STORE});
private db: Promise<IDBDatabase>;
private cache: Map<string, string>;
constructor() {
super();
this.db = this.init();
this.cache = new Map();
this.get = PromiseSerializer.wrapNew(8, this, this.get);
this.set = PromiseSerializer.wrapNew(1, this, this.set);
}
private async init() {
return await new Promise<IDBDatabase>((resolve, reject) => {
const req = indexedDB.open(STORE, VERSION);
req.onupgradeneeded = evt => {
const db = req.result;
switch (evt.oldVersion) {
case 0: {
db.createObjectStore(STORE);
break;
}
}
};
req.onerror = ex => reject(ex);
req.onsuccess = () => {
resolve(req.result);
};
});
}
private normalize(ext: string) {
ext = ext.toLocaleLowerCase();
return SYNONYMS.get(ext) || ext;
@ -77,25 +95,36 @@ export const IconCache = new class IconCache extends EventEmitter {
if (rv) {
return rv;
}
const db = await this.db;
rv = this.cache.get(sext);
if (rv) {
return rv;
}
let result = await this.db.getItem<any>(sext);
if (!result) {
return this.cache.get(sext);
}
rv = this.cache.get(sext);
if (rv) {
return rv;
}
if (typeof result !== "string") {
result = URL.createObjectURL(result).toString();
}
this.cache.set(sext, result);
this.cache.set(ext, "");
return result;
return await new Promise<string | undefined>(resolve => {
const trans = db.transaction(STORE, "readonly");
trans.onerror = () => resolve(undefined);
const store = trans.objectStore(STORE);
const req = store.get(sext);
req.onerror = () => resolve(undefined);
req.onsuccess = () => {
const rv = this.cache.get(sext);
if (rv) {
resolve(rv);
return;
}
let {result} = req;
if (!result) {
resolve(undefined);
return;
}
if (typeof req.result !== "string") {
result = URL.createObjectURL(result).toString();
}
this.cache.set(sext, result);
this.cache.set(ext, "");
resolve(result);
};
});
}
async set(ext: string, manId: number) {
@ -116,9 +145,18 @@ export const IconCache = new class IconCache extends EventEmitter {
}
for (const {size, icon} of urls) {
this.cache.set(`${ext}-${size}`, URL.createObjectURL(icon));
await this.db.setItem(`${ext}-${size}`, icon);
}
this.cache.set(ext, "");
const db = await this.db;
await new Promise((resolve, reject) => {
const trans = db.transaction(STORE, "readwrite");
trans.onerror = reject;
trans.oncomplete = resolve;
const store = trans.objectStore(STORE);
for (const {size, icon} of urls) {
store.put(icon, `${ext}-${size}`);
}
});
this.emit("cached", ext);
}
}();

View File

@ -81,14 +81,6 @@ function importMeta4(data: string) {
if (mask) {
item.mask = mask;
}
const description = file.querySelector("description");
if (description && description.textContent) {
item.description = description.textContent.trim();
}
const title = file.getElementsByTagNameNS(NS_DTA, "title");
if (title && title[0] && title[0].textContent) {
item.title = title[0].textContent;
}
items.push(item);
}
catch (ex) {
@ -102,9 +94,9 @@ function parseKV(current: BaseItem, line: string) {
const [k, v] = line.split("=", 2);
switch (k.toLocaleLowerCase().trim()) {
case "referer": {
const refererUrls = getTextLinks(v);
if (refererUrls && refererUrls.length) {
current.referrer = refererUrls.pop();
const rurls = getTextLinks(v);
if (rurls && rurls.length) {
current.referrer = rurls.pop();
current.usableReferrer = decodeURIComponent(current.referrer || "");
}
break;
@ -205,15 +197,15 @@ class MetalinkExporter {
const document = window.document.implementation.
createDocument(NS_METALINK_RFC5854, "metalink", null);
const root = document.documentElement;
root.setAttributeNS(NS_DTA, "generator", "TraitorousDownloading!");
root.setAttributeNS(NS_DTA, "generator", "DownThemAll!");
root.appendChild(document.createComment(
"metalink as exported by TraitorousDownloading!",
"metalink as exported by DownThemAll!",
));
for (const item of items) {
const anyItem = item as any;
const aitem = item as any;
const f = document.createElementNS(NS_METALINK_RFC5854, "file");
f.setAttribute("name", anyItem.currentName);
f.setAttribute("name", aitem.currentName);
if (item.batch) {
f.setAttributeNS(NS_DTA, "num", item.batch.toString());
}
@ -233,19 +225,13 @@ class MetalinkExporter {
f.appendChild(n);
}
if (item.title) {
const n = document.createElementNS(NS_DTA, "title");
n.textContent = item.title;
f.appendChild(n);
}
const u = document.createElementNS(NS_METALINK_RFC5854, "url");
u.textContent = item.url;
f.appendChild(u);
if (anyItem.totalSize > 0) {
if (aitem.totalSize > 0) {
const s = document.createElementNS(NS_METALINK_RFC5854, "size");
s.textContent = anyItem.totalSize.toString();
s.textContent = aitem.totalSize.toString();
f.appendChild(s);
}
root.appendChild(f);

View File

@ -32,8 +32,7 @@ const OPTIONPROPS = Object.freeze([
"startDate",
"private",
"postData",
"paused",
"server", "cookies",
"paused"
]);
function maybeAssign(options: any, what: any) {

View File

@ -16,7 +16,7 @@ import {
DONE,
FORCABLE,
MISSING,
PAUSEABLE,
PAUSABLE,
PAUSED,
QUEUED,
RUNNING,
@ -235,7 +235,7 @@ export class Download extends BaseDownload {
}
async pause(retry?: boolean) {
if (!(PAUSEABLE & this.state)) {
if (!(PAUSABLE & this.state)) {
return;
}
@ -277,7 +277,7 @@ export class Download extends BaseDownload {
await downloads.cancel(id);
}
catch (ex) {
// ignored
// ingored
}
await new Promise(r => setTimeout(r, 1000));
try {
@ -285,7 +285,7 @@ export class Download extends BaseDownload {
}
catch (ex) {
console.error(id, ex.toString(), ex);
// ignored
// ingored
}
}
@ -399,7 +399,7 @@ export class Download extends BaseDownload {
}
}
updateFromSuggestion(state: any) {
updatefromSuggestion(state: any) {
const res: PrerollResults = {};
if (state.mime) {
res.mime = state.mime;

View File

@ -17,7 +17,6 @@ import { ManagerPort } from "./port";
import { Scheduler } from "./scheduler";
import { Limits } from "./limits";
import { downloads, runtime, webRequest, CHROME, OPERA } from "../browser";
import { browser } from "webextension-polyfill-ts";
const US = runtime.getURL("");
@ -92,11 +91,11 @@ export class Manager extends EventEmitter {
}
Bus.onPort("manager", (port: Port) => {
const managerPort = new ManagerPort(this, port);
const mport = new ManagerPort(this, port);
port.on("disconnect", () => {
this.ports.delete(managerPort);
this.ports.delete(mport);
});
this.ports.add(managerPort);
this.ports.add(mport);
return true;
});
Limits.on("changed", () => {
@ -127,7 +126,7 @@ export class Manager extends EventEmitter {
// Do not wait for the scheduler
this.resetScheduler();
this.emit("initialized");
this.emit("inited");
setTimeout(() => this.checkMissing(), MISSING_TIMEOUT);
runtime.onUpdateAvailable.addListener(() => {
if (this.running.size) {
@ -172,7 +171,7 @@ export class Manager extends EventEmitter {
return;
}
try {
download.updateFromSuggestion(state);
download.updatefromSuggestion(state);
}
finally {
const suggestion = {filename: download.dest.full};
@ -262,61 +261,6 @@ export class Manager extends EventEmitter {
this.manIds.delete(id);
}
async prepareItems(items: any[]) {
var links = new Array();
for (var item of items) {
var cookiesToSend = Array();
var cs = await browser.cookies.getAll({
url: item.url,
firstPartyDomain: null,
});
if (item.cookies) {
for (var c of cs){
cookiesToSend.push({
name: c.name,
value: c.value,
domain: c.domain,
// expires: new Date(c.expirationDate * 1000) ?? null,
path: c.path,
secure: c.secure,
httponly: c.httpOnly,
// samesite: c.sameSite,
});
}
}
var status = item.paused ? "Paused":"Queue";
links.push({
description: item.description,
filename: item.fileName,
mask: item.mask,
status: status,
postData: item.postData,
subdir: item.subfolder,
title: item.title,
url: item.usable,
referrer: item.usableReferrer,
cookies: cookiesToSend,
});
}
return links;
}
addNewDownloads(items: any[]) {
if (!items || !items.length) {
return;
}
this.prepareItems(items).then(links => {
var xhr = new XMLHttpRequest();
xhr.open("POST", items[0].server);
xhr.setRequestHeader("Content-Type", "application/javascript");
xhr.send(JSON.stringify(links));
});
}
/*
addNewDownloads(items: any[]) {
if (!items || !items.length) {
return;
@ -339,7 +283,6 @@ export class Manager extends EventEmitter {
this.save(items);
this.startNext();
}
*/
setDirty(item: Download) {
this.dirty.add(item);
@ -415,8 +358,8 @@ export class Manager extends EventEmitter {
this.startNext().catch(console.error);
}
else if (newState === RUNNING) {
// Usually we already added it. But if a user uses the built-in
// download manager to restart
// Usually we already added it. Buit if a user uses the built-in
// download manager to resart
// a download, we have not, so make sure it is added either way
this.running.add(download);
}
@ -474,18 +417,17 @@ export class Manager extends EventEmitter {
sorted(sids: number[]) {
try {
// Construct new items
const currentSids = new Map(this.sids);
const csids = new Map(this.sids);
let items = mapFilterInSitu(sids, sid => {
const item = currentSids.get(sid);
const item = csids.get(sid);
if (!item) {
return null;
}
currentSids.delete(sid);
csids.delete(sid);
return item;
}, e => !!e);
if (currentSids.size) {
items = items.concat(
sort(Array.from(currentSids.values()), i => i.position));
if (csids.size) {
items = items.concat(sort(Array.from(csids.values()), i => i.position));
}
this.items = items;
this.setPositions();

View File

@ -12,5 +12,5 @@ export const RETRYING = 1 << 7;
export const RESUMABLE = PAUSED | CANCELED | RETRYING;
export const FORCABLE = PAUSED | QUEUED | CANCELED | RETRYING;
export const PAUSEABLE = QUEUED | CANCELED | RUNNING | RETRYING;
export const PAUSABLE = QUEUED | CANCELED | RUNNING | RETRYING;
export const CANCELABLE = QUEUED | RUNNING | PAUSED | DONE | MISSING | RETRYING;

View File

@ -8,7 +8,7 @@ import {EventEmitter} from "./events";
const DEFAULTS = {
type: "basic",
iconUrl: extension.getURL("/style/icon64.png"),
title: "TraitorousDownloading!",
title: "DownThemAll!",
message: "message",
};
@ -25,7 +25,7 @@ export class Notification extends EventEmitter {
super();
this.generated = !id;
id = id || `TraitorousDownloading-notification${++gid}`;
id = id || `DownThemAll-notification${++gid}`;
if (typeof options === "string") {
options = {message: options};
}

View File

@ -122,8 +122,3 @@ export const SUBFOLDER = new RecentList("subfolder", [
"downthemall",
]);
SUBFOLDER.init().catch(console.error);
export const SERVER = new RecentList("server", [
"",
]);
SERVER.init().catch(console.error);

View File

@ -1,11 +1,11 @@
{
"manifest_version": 2,
"name": "TraitorousDownloading!",
"name": "DownThemAll!",
"version": "4.2.6",
"description": "__MSG_extensionDescription__",
"homepage_url": "https://github.com/lordwelch/downthemall",
"author": "lordwelch",
"homepage_url": "https://downthemall.org/",
"author": "Nils Maier",
"default_locale": "en",
@ -23,7 +23,6 @@
"permissions": [
"<all_urls>",
"contextMenus",
"cookies",
"downloads",
"downloads.open",
"downloads.shelf",
@ -57,7 +56,7 @@
"128": "style/icon128.png",
"256": "style/icon256.png"
},
"default_title": "TraitorousDownloading!"
"default_title": "DownThemAll!"
},
"options_ui": {
@ -67,7 +66,7 @@
"browser_specific_settings": {
"gecko": {
"id": "downloading@traitorousenterprises.net",
"id": "dtalite@downthemall.org",
"strict_min_version": "67.0"
}
}

View File

@ -1,7 +1,7 @@
{
"name": "tdl",
"name": "dtalite",
"version": "4.0.0",
"description": "TraitorousDownloading!",
"description": "DownThemAll! lite",
"main": "main.js",
"directories": {
"lib": "lib"
@ -35,10 +35,8 @@
"dependencies": {
"@types/psl": "^1.1.0",
"@types/whatwg-mimetype": "^2.1.0",
"localforage": "^1.9.0",
"psl": "^1.4.0",
"webextension-polyfill": "^0.5.0",
"webextension-polyfill-ts": "^0.22.0",
"whatwg-mimetype": "^2.3.0"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 763 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 725 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 810 B

After

Width:  |  Height:  |  Size: 785 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -64,7 +64,7 @@ p.example {
}
#options > #subfolderOptions,
#options > #maskOptions, #options > #serverOptions {
#options > #maskOptions {
display: grid;
grid-template-columns: 2fr auto auto;
}
@ -85,4 +85,4 @@ h3 {
#btnDownload {
font-weight: bold;
}
}

View File

@ -108,13 +108,8 @@ export class MenuItem extends MenuItemBase {
super(owner, id, text, options);
this.disabled = options.disabled === "true";
this.elem.setAttribute("aria-role", "menuitem");
this.clicked = this.clicked.bind(this);
this.elem.addEventListener("click", this.clicked);
this.elem.addEventListener("contextmenu", this.clicked);
}
clicked() {
this.owner.emit("clicked", this.id, this.autoHide);
this.elem.addEventListener(
"click", () => this.owner.emit("clicked", this.id, this.autoHide));
}
get disabled() {

View File

@ -20,7 +20,7 @@ FILES = [
"LICENSE.*",
]
RELEASE_ID = "downloading@traitorousenterprises.net"
RELEASE_ID = "{DDC359D1-844A-42a7-9AA1-88A850A938A8}"
UNCOMPRESSABLE = set((".png", ".jpg", ".zip", ".woff2"))
LICENSED = set((".css", ".html", ".js", "*.ts"))
@ -88,14 +88,14 @@ def build_firefox(args):
if args.mode != "release":
infos["version_name"] = f"{version}-{args.mode}"
infos["browser_specific_settings"]["gecko"]["id"] = f"{args.mode}@traitorousenterprises.net"
infos["browser_specific_settings"]["gecko"]["id"] = f"{args.mode}@downthemall.org"
infos["short_name"] = infos.get("name")
infos["name"] = f"{infos.get('name')} {args.mode}"
else:
infos["browser_specific_settings"]["gecko"]["id"] = RELEASE_ID
infos["permissions"] = [p for p in infos.get("permissions") if not p in PERM_IGNORED_FX]
out = Path("web-ext-artifacts") / f"tdl-{version}-{args.mode}-fx.zip"
out = Path("web-ext-artifacts") / f"dta-{version}-{args.mode}-fx.zip"
if not out.parent.exists():
out.parent.mkdir()
if out.exists():
@ -103,7 +103,7 @@ def build_firefox(args):
print("Output", out)
build(out, json.dumps(infos, indent=2).encode("utf-8"))
def build_chromium(args, pkg, additional_ignored=set()):
now = datetime.now().strftime("%Y%m%d%H%M%S")
with open("manifest.json") as manip:
@ -122,7 +122,7 @@ def build_chromium(args, pkg, additional_ignored=set()):
infos["name"] = f"{infos.get('name')} {args.mode}"
infos["permissions"] = [p for p in infos.get("permissions") if not p in PERM_IGNORED_CHROME]
out = Path("web-ext-artifacts") / f"tdl-{version}-{args.mode}-{pkg}.zip"
out = Path("web-ext-artifacts") / f"dta-{version}-{args.mode}-{pkg}.zip"
if not out.parent.exists():
out.parent.mkdir()
if out.exists():
@ -148,4 +148,4 @@ def main():
print("DONE.")
if __name__ == "__main__":
main()
main()

View File

@ -3,7 +3,7 @@
<!-- License: gpl-v2 -->
<head>
<meta charset="utf-8">
<title data-i18n="manager.title">TraitorousDownloading!</title>
<title data-i18n="manager.title">DownThemAll!</title>
<style>
@import "/uikit/css/virtualtable.css";
@import "/uikit/css/modal.css";

View File

@ -131,6 +131,7 @@ addEventListener("DOMContentLoaded", function dom() {
addEventListener("contextmenu", event => {
event.preventDefault();
event.stopPropagation();
return false;
});

View File

@ -790,7 +790,7 @@ export class DownloadTable extends VirtualTable {
const items = this.getSelectedItems();
const states = items.reduce((p, c) => p |= c.state, 0);
if (!(states & DownloadState.PAUSEABLE)) {
if (!(states & DownloadState.PAUSABLE)) {
this.pauseAction.disabled = true;
}
@ -828,7 +828,7 @@ export class DownloadTable extends VirtualTable {
}
pauseDownloads() {
const sids = this.getSelectedSids(DownloadState.PAUSEABLE);
const sids = this.getSelectedSids(DownloadState.PAUSABLE);
if (!sids.length) {
return;
}

View File

@ -100,10 +100,10 @@
<li class="sep">
<hr>
</li>
<!-- <li id="manager" data-action="open-manager">
<li id="manager" data-action="open-manager">
<img srcset="/style/button-manager.png, /style/button-manager@2x.png 2x">
<span data-i18n="manager.short"></span>
</li> -->
</li>
<li id="prefs" data-action="open-prefs">
<span class="icon icon-settings"></span>
<span data-i18n="prefs.short">Preferences</span>
@ -111,4 +111,4 @@
</ul>
</body>
</html>
</html>

View File

@ -16,7 +16,7 @@
}
</style>
<title data-i18n="prefs.title">TraitorousDownloading! - Preferences</title>
<title data-i18n="prefs.title">DownThemAll! - Preferences</title>
<link rel="icon" href="/style/icon32.png">
<link rel="icon" sizes="16x16" href="/style/icon16.png">
<link rel="icon" sizes="32x32" href="/style/icon32.png">
@ -49,7 +49,7 @@
<label><input type="radio" name="pref-button-type" value="popup"> <span data-i18n="pref-button-type-popup"></span></label>
<label><input type="radio" name="pref-button-type" value="dta"> <span data-i18n="pref-button-type-dta"></span></label>
<label><input type="radio" name="pref-button-type" value="turbo"> <span data-i18n="pref-button-type-turbo"></span></label>
<label style="display: none;"><input type="radio" name="pref-button-type" value="manager"> <span data-i18n="pref-button-type-manager"></span></label>
<label><input type="radio" name="pref-button-type" value="manager"> <span data-i18n="pref-button-type-manager"></span></label>
</div>
<label data-i18n="pref-theme"></label>
<div id="pref-theme">
@ -59,7 +59,7 @@
</div>
</div>
<hr>
<label style="display: none;"><input type="checkbox" id="pref-manager-in-popup"> <span data-i18n="pref-manager-in-popup"></span></label>
<label><input type="checkbox" id="pref-manager-in-popup"> <span data-i18n="pref-manager-in-popup"></span></label>
<label><input type="checkbox" id="pref-finish-notification"> <span data-i18n="pref-finish-notification"></span></label>
<label><input type="checkbox" id="pref-sounds"> <span data-i18n="pref-sounds"></span></label>
<label><input type="checkbox" id="pref-hide-context"> <span data-i18n="pref-hide-context"></span></label>
@ -68,16 +68,15 @@
<button id="reset-layout" data-i18n="reset-layouts"></button>
</div>
</fieldset>
<fieldset style="display: none;">
<fieldset>
<legend data-i18n="pref.manager">Manager</legend>
<label><input type="checkbox" id="pref-tooltip"> <span data-i18n="pref-manager-tooltip"></span></label>
<label><input type="checkbox" id="pref-show-urls"> <span data-i18n="pref-show-urls"></span></label>
</fieldset>
<fieldset>
<legend data-i18n="pref.queueing">Queueing Downloads</legend>
<label><input type="checkbox" id="pref-cookies"> <span data-i18n="pref-cookies"></span></label>
<label><input type="checkbox" id="pref-queue-notification"> <span data-i18n="pref-queue-notification"></span></label>
<label style="display: none;"><input type="checkbox" id="pref-open-manager-on-queue"> <span data-i18n="pref-open-manager-on-queue"></span></label>
<label><input type="checkbox" id="pref-open-manager-on-queue"> <span data-i18n="pref-open-manager-on-queue"></span></label>
<label><input type="checkbox" id="pref-text-links"> <span data-i18n="pref-text-links"></span></label>
<label><input type="checkbox" id="pref-add-paused"> <span data-i18n="pref-add-paused"></span></label>
<label><input type="checkbox" id="pref-remove-missing-on-init"> <span data-i18n="pref-remove-missing-on-init"></span></label>

View File

@ -568,7 +568,6 @@ addEventListener("DOMContentLoaded", async () => {
}
new BoolPref("pref-hide-context", "hide-context");
new BoolPref("pref-tooltip", "tooltip");
new BoolPref("pref-cookies", "cookies");
new BoolPref("pref-open-manager-on-queue", "open-manager-on-queue");
new BoolPref("pref-text-links", "text-links");
new BoolPref("pref-add-paused", "add-paused");
@ -642,11 +641,10 @@ addEventListener("DOMContentLoaded", async () => {
$<HTMLInputElement>("#loadCustomLocale").addEventListener("click", () => {
customLocale.click();
});
$<HTMLInputElement>("#clearCustomLocale").
addEventListener("click", async () => {
await saveCustomLocale(undefined);
runtime.reload();
});
$<HTMLInputElement>("#clearCustomLocale").addEventListener("click", () => {
saveCustomLocale(undefined);
runtime.reload();
});
customLocale.addEventListener("change", async () => {
if (!customLocale.files || !customLocale.files.length) {
return;
@ -664,9 +662,8 @@ addEventListener("DOMContentLoaded", async () => {
reader.onerror = reject;
reader.readAsText(file);
});
await saveCustomLocale(text);
if (confirm("Imported your file.\nWant to reload the extension now?")) {
saveCustomLocale(text);
if (confirm("Imported your file.\nWant to relaod the extension now?")) {
runtime.reload();
}
}

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8">
<title data-i18n="select.title">TraitorousDownloading! - Select your links</title>
<title data-i18n="select.title">DownThemAll! - Select your links</title>
<style>
@import "/uikit/css/virtualtable.css";
@import "/uikit/css/modal.css";
@ -75,17 +75,6 @@
<input type="checkbox" id="maskOnceCheck">
<span data-i18n="useonlyonce">Use only once</span>
</label>
<h2 data-i18n="server">Server</h2>
<input id="server">
<label id="cookies">
<input type="checkbox" id="cookiesCheck">
<span data-i18n="cookies">Send cookies to server</span>
</label>
<label>
<input type="checkbox" id="serverOnceCheck">
<span data-i18n="useonlyonce">Use only once</span>
</label>
</section>
<section id="notification"></section>
<section id="buttons">

View File

@ -7,7 +7,7 @@ import { ContextMenu } from "./contextmenu";
import { iconForPath } from "../lib/windowutils";
import { _, localize } from "../lib/i18n";
import { Prefs } from "../lib/prefs";
import { MASK, FASTFILTER, SUBFOLDER, SERVER } from "../lib/recentlist";
import { MASK, FASTFILTER, SUBFOLDER } from "../lib/recentlist";
import { WindowState } from "./windowstate";
import { Dropdown } from "./dropdown";
import { Keys } from "./keys";
@ -43,7 +43,6 @@ const NUM_FILTER_CLASSES = 8;
let Table: SelectionTable;
let Mask: Dropdown;
let OServer: Dropdown;
let FastFilter: Dropdown;
let Subfolder: Dropdown;
@ -434,12 +433,6 @@ class SelectionTable extends VirtualTable {
return true;
});
Prefs.get("cookies").then(checked=>{
if ($<HTMLInputElement>("#cookiesCheck").checked != !!checked) {
$<HTMLInputElement>("#cookiesCheck").click();
}
});
this.init();
this.switchTab(type);
}
@ -685,10 +678,6 @@ async function download(paused = false) {
if (!mask) {
throw new Error("error.invalidMask");
}
const server = OServer.value;
if (!server) {
throw new Error("error.invalidServer");
}
const subfolder = Subfolder.value;
validateSubfolder(subfolder);
@ -727,9 +716,6 @@ async function download(paused = false) {
fastOnce: $<HTMLInputElement>("#fastOnceCheck").checked,
subfolder,
subfolderOnce: $<HTMLInputElement>("#subfolderOnceCheck").checked,
server,
serverOnce: $<HTMLInputElement>("#serverOnceCheck").checked,
cookies: $<HTMLInputElement>("#cookiesCheck").checked,
}
});
}
@ -805,9 +791,7 @@ function cancel() {
}
async function init() {
await Promise.all([MASK.init(), FASTFILTER.init(), SUBFOLDER.init(), SERVER.init()]);
OServer = new Dropdown("#server", SERVER.values);
OServer.on("changed", clearErrors);
await Promise.all([MASK.init(), FASTFILTER.init(), SUBFOLDER.init()]);
Mask = new Dropdown("#mask", MASK.values);
Mask.on("changed", clearErrors);
FastFilter = new Dropdown("#fast", FASTFILTER.values);
@ -906,6 +890,7 @@ addEventListener("DOMContentLoaded", function dom() {
addEventListener("contextmenu", event => {
event.preventDefault();
event.stopPropagation();
return false;
});

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8">
<title data-i18n="single.title">TraitorousDownloading! - Add a Link</title>
<title data-i18n="single.title">DownThemAll! - Add a Link</title>
<style>
@import "/uikit/css/modal.css";
@import "/style/single.css";
@ -32,12 +32,12 @@
<input type="text" id="URL">
<h2 data-i18n="custom-filename">Custom Filename</h2>
<input type="text" id="filename">
<h3 data-i18n="referrer">Referring page (Not implemented)</h3>
<h3 data-i18n="referrer">Referring page</h3>
<input type="text" id="referrer">
<h3 data-i18n="title" style="display: none;">Title</h3>
<input type="text" id="title" style="display: none;">
<h3 data-i18n="description" style="display: none;">Description</h3>
<input type="text" id="description" style="display: none;">
<h3 data-i18n="title">Title</h3>
<input type="text" id="title">
<h3 data-i18n="description">Description</h3>
<input type="text" id="description">
<h3 data-i18n="mask">Mask</h3>
<div id="maskOptions">
<input type="text" id="mask">
@ -47,18 +47,6 @@
<span data-i18n="useonlyonce">Use only once</span>
</label>
</div>
<h3 data-i18n="server">Server</h3>
<div id="serverOptions">
<input type="text" id="server">
<label id="cookies">
<input type="checkbox" id="cookiesCheck">
<span data-i18n="cookies">Send cookies to server</span>
</label>
<label id="serverOnce">
<input type="checkbox" id="serverOnceCheck">
<span data-i18n="useonlyonce">Use only once</span>
</label>
</div>
<h3 data-i18n="subfolder"></h3>
<div id="subfolderOptions">
<input type="text" id="subfolder" data-i18n="placeholder=subfolder.placeholder">

View File

@ -4,10 +4,9 @@
import ModalDialog from "../uikit/lib/modal";
import { _, localize } from "../lib/i18n";
import { Prefs } from "../lib/prefs";
// eslint-disable-next-line no-unused-vars
import { Item, BaseItem } from "../lib/item";
import { MASK, SUBFOLDER, SERVER } from "../lib/recentlist";
import { MASK, SUBFOLDER } from "../lib/recentlist";
import { BatchGenerator } from "../lib/batches";
import { WindowState } from "./windowstate";
import { Dropdown } from "./dropdown";
@ -23,7 +22,6 @@ const PORT = runtime.connect(null, { name: "single" });
let ITEM: BaseItem;
let Mask: Dropdown;
let Subfolder: Dropdown;
let OServer: Dropdown;
class BatchModalDialog extends ModalDialog {
private readonly gen: BatchGenerator;
@ -133,11 +131,6 @@ async function downloadInternal(paused: boolean) {
return displayError("error.invalidMask");
}
const server = OServer.value;
if (!server) {
throw new Error("error.invalidServer");
}
const subfolder = Subfolder.value.trim();
validateSubFolder(subfolder);
@ -206,9 +199,6 @@ async function downloadInternal(paused: boolean) {
maskOnce: $<HTMLInputElement>("#maskOnceCheck").checked,
subfolder,
subfolderOnce: $<HTMLInputElement>("#subfolderOnceCheck").checked,
server,
serverOnce: $<HTMLInputElement>("#serverOnceCheck").checked,
cookies: $<HTMLInputElement>("#cookiesCheck").checked,
}
});
return null;
@ -225,15 +215,9 @@ function cancel() {
async function init() {
await localize(document.documentElement);
await Promise.all([MASK.init(), SUBFOLDER.init(), SERVER.init()]);
await Promise.all([MASK.init(), SUBFOLDER.init()]);
Mask = new Dropdown("#mask", MASK.values);
Subfolder = new Dropdown("#subfolder", SUBFOLDER.values);
OServer = new Dropdown("#server", SERVER.values);
Prefs.get("cookies").then(checked=>{
if ($<HTMLInputElement>("#cookiesCheck").checked != !!checked) {
$<HTMLInputElement>("#cookiesCheck").click();
}
});
}
addEventListener("DOMContentLoaded", async function dom() {

View File

@ -2,7 +2,7 @@
// License: MIT
export function $<T extends HTMLElement>(
q: string, el?: HTMLElement | DocumentFragment | Document): T {
q: string, el?: HTMLElement | DocumentFragment): T {
if (!el) {
el = document;
}

1721
yarn.lock

File diff suppressed because it is too large Load Diff