Compare commits
No commits in common. "3deac4cda0b34636b075dffcdd88e7c980768cad" and "ebd15817424a28abbbc417680867e957418c6509" have entirely different histories.
3deac4cda0
...
ebd1581742
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "أداة التنزيل لبحور من الروابط، داخل متصفحك",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "ترشيح سريع",
|
"message": "ترشيح سريع",
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! – всички раздели",
|
"message": "DownThemAll! – всички раздели",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Запазване на изображението с TraitorousDownloading!",
|
"message": "Запазване на изображението с DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Запазване на връзката с TraitorousDownloading!",
|
"message": "Запазване на връзката с DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Запазване на медията с TraitorousDownloading!",
|
"message": "Запазване на медията с DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Запазване на избраното с TraitorousDownloading!",
|
"message": "Запазване на избраното с DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Диспечер за масови изтегляния за вашият браузър",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Бързо филтриране",
|
"message": "Бързо филтриране",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Диспечер",
|
"message": "DownThemAll! Диспечер",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"nagging_message": {
|
||||||
"message": "До момента са добавени $DOWNLOADS$ изтегляния с TraitorousDownloading! Като редовен потребител може да искате да обмислите дарение за подпомагане на по-нататъшното развитие. Благодаря!",
|
"message": "До момента са добавени $DOWNLOADS$ изтегляния с DownThemAll! Като редовен потребител може да искате да обмислите дарение за подпомагане на по-нататъшното развитие. Благодаря!",
|
||||||
"description": "Donation nagging message; displayed as a notification bar in manager",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! Предпочитания",
|
"message": "DownThemAll! Предпочитания",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! бутон:",
|
"message": "DownThemAll! бутон:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! избор",
|
"message": "DownThemAll! избор",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! – Избиране на изтегляния",
|
"message": "DownThemAll! – Избиране на изтегляния",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! – добавяне на връзка",
|
"message": "DownThemAll! – добавяне на връзка",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Všechny záložky",
|
"message": "DownThemAll! - Všechny záložky",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Stáhnout obrázek pomocí TraitorousDownloading!",
|
"message": "Stáhnout obrázek pomocí DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Stáhnout odkaz pomocí TraitorousDownloading!",
|
"message": "Stáhnout odkaz pomocí DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Stáhnout média pomocí TraitorousDownloading!",
|
"message": "Stáhnout média pomocí DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Stáhnout vybrané pomocí TraitorousDownloading!",
|
"message": "Stáhnout vybrané pomocí DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Správce stahování pro Váš prohlížeč",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Rychlé filtrování",
|
"message": "Rychlé filtrování",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Manažer",
|
"message": "DownThemAll! Manažer",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Nastavení TraitorousDownloading!",
|
"message": "Nastavení DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Tlačítko TraitorousDownloading!:",
|
"message": "Tlačítko DownThemAll!:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! selektor",
|
"message": "DownThemAll! selektor",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Vyberte soubory ke stažení",
|
"message": "DownThemAll! - Vyberte soubory ke stažení",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Přidat odkaz",
|
"message": "DownThemAll! - Přidat odkaz",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - alle faner",
|
"message": "DownThemAll! - alle faner",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Gem billede med TraitorousDownloading!",
|
"message": "Gem billede med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Gem link med TraitorousDownloading!",
|
"message": "Gem link med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Gem medie med TraitorousDownloading!",
|
"message": "Gem medie med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Gem valgte med TraitorousDownloading!",
|
"message": "Gem valgte med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "\"The Mass Downloader\" til din browser",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Hurtigfilter",
|
"message": "Hurtigfilter",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Manager",
|
"message": "DownThemAll! Manager",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! indstillinger",
|
"message": "DownThemAll! indstillinger",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! knap:",
|
"message": "DownThemAll! knap:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! markering",
|
"message": "DownThemAll! markering",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - vælg dine downloads",
|
"message": "DownThemAll! - vælg dine downloads",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - tilføj et link",
|
"message": "DownThemAll! - tilføj et link",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Alle Tabs",
|
"message": "DownThemAll! - Alle Tabs",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Bild mit TraitorousDownloading! speichern",
|
"message": "Bild mit DownThemAll! speichern",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Link mit TraitorousDownloading! speichern",
|
"message": "Link mit DownThemAll! speichern",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Medium mit TraitorousDownloading! speichern",
|
"message": "Medium mit DownThemAll! speichern",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Auswahl mit TraitorousDownloading! speichern",
|
"message": "Auswahl mit DownThemAll! speichern",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Der Massen-Downloader für Deinen Browser",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Schnelles Filtern",
|
"message": "Schnelles Filtern",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Manager",
|
"message": "DownThemAll! Manager",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! Einstellungen",
|
"message": "DownThemAll! Einstellungen",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! Button:",
|
"message": "DownThemAll! Button:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! Auswahl",
|
"message": "DownThemAll! Auswahl",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Downloads auswählen",
|
"message": "DownThemAll! - Downloads auswählen",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Link hinzufügen",
|
"message": "DownThemAll! - Link hinzufügen",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -305,7 +305,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Ο Διαχειριστής Πολλαπλών Λήψεων για τον φυλλομετρητή σας.",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Γρήγορο Φιλτράρισμα",
|
"message": "Γρήγορο Φιλτράρισμα",
|
||||||
|
@ -253,27 +253,27 @@
|
|||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"description": "Regular dta action; Menu text",
|
"description": "Regular dta action; Menu text",
|
||||||
"message": "TraitorousDownloading!"
|
"message": "DownThemAll!"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"description": "Menu text",
|
"description": "Menu text",
|
||||||
"message": "TraitorousDownloading! - All Tabs"
|
"message": "DownThemAll! - All Tabs"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"description": "Menu text",
|
"description": "Menu text",
|
||||||
"message": "Save Image with TraitorousDownloading!"
|
"message": "Save Image with DownThemAll!"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"description": "Menu text",
|
"description": "Menu text",
|
||||||
"message": "Save Link with TraitorousDownloading!"
|
"message": "Save Link with DownThemAll!"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"description": "Menu text",
|
"description": "Menu text",
|
||||||
"message": "Save Media with TraitorousDownloading!"
|
"message": "Save Media with DownThemAll!"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"description": "Menu text",
|
"description": "Menu text",
|
||||||
"message": "Save Selection with TraitorousDownloading!"
|
"message": "Save Selection with DownThemAll!"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
"description": "OneClick! action; Menu text",
|
"description": "OneClick! action; Menu text",
|
||||||
@ -303,10 +303,6 @@
|
|||||||
"description": "Error message; single/select window",
|
"description": "Error message; single/select window",
|
||||||
"message": "Invalid Renaming Mask"
|
"message": "Invalid Renaming Mask"
|
||||||
},
|
},
|
||||||
"error_invalidServer": {
|
|
||||||
"description": "Error message; single/select window",
|
|
||||||
"message": "Invalid server URL"
|
|
||||||
},
|
|
||||||
"error_invalidReferrer": {
|
"error_invalidReferrer": {
|
||||||
"description": "Error message; single window",
|
"description": "Error message; single window",
|
||||||
"message": "Invalid Referrer"
|
"message": "Invalid Referrer"
|
||||||
@ -344,7 +340,7 @@
|
|||||||
"message": "Export As Text"
|
"message": "Export As Text"
|
||||||
},
|
},
|
||||||
"extensionDescription": {
|
"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"
|
"message": "The Mass Downloader for your browser"
|
||||||
},
|
},
|
||||||
"fastfilter_placeholder": {
|
"fastfilter_placeholder": {
|
||||||
@ -479,7 +475,7 @@
|
|||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"description": "Window/tab title",
|
"description": "Window/tab title",
|
||||||
"message": "TraitorousDownloading! Manager"
|
"message": "DownThemAll! Manager"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
"description": "Renaming mask (short); used in e.g. select",
|
"description": "Renaming mask (short); used in e.g. select",
|
||||||
@ -515,7 +511,7 @@
|
|||||||
},
|
},
|
||||||
"nagging_message": {
|
"nagging_message": {
|
||||||
"description": "Donation nagging message; displayed as a notification bar in manager",
|
"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": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
"content": "$1",
|
"content": "$1",
|
||||||
@ -587,11 +583,11 @@
|
|||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"description": "label",
|
"description": "label",
|
||||||
"message": "TraitorousDownloading! button:"
|
"message": "DownThemAll! button:"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"description": "label",
|
"description": "label",
|
||||||
"message": "TraitorousDownloading! selection"
|
"message": "DownThemAll! selection"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
"description": "label",
|
"description": "label",
|
||||||
@ -637,10 +633,6 @@
|
|||||||
"description": "Preferences/General",
|
"description": "Preferences/General",
|
||||||
"message": "Open the Manager tab after queuing some downloads"
|
"message": "Open the Manager tab after queuing some downloads"
|
||||||
},
|
},
|
||||||
"pref_cookies": {
|
|
||||||
"description": "Preferences/General",
|
|
||||||
"message": "Send cookies to the download server"
|
|
||||||
},
|
|
||||||
"pref_queue_notification": {
|
"pref_queue_notification": {
|
||||||
"description": "Preferences/General",
|
"description": "Preferences/General",
|
||||||
"message": "Show a notification when queuing new downloads"
|
"message": "Show a notification when queuing new downloads"
|
||||||
@ -703,7 +695,7 @@
|
|||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"description": "Window/tab title; Preferences",
|
"description": "Window/tab title; Preferences",
|
||||||
"message": "TraitorousDownloading! Preferences"
|
"message": "DownThemAll! Preferences"
|
||||||
},
|
},
|
||||||
"queue_finished": {
|
"queue_finished": {
|
||||||
"description": "Notification text",
|
"description": "Notification text",
|
||||||
@ -729,7 +721,7 @@
|
|||||||
},
|
},
|
||||||
"referrer": {
|
"referrer": {
|
||||||
"description": "Label for \"Referrer\"",
|
"description": "Label for \"Referrer\"",
|
||||||
"message": "Referrer (Not implemented)"
|
"message": "Referrer"
|
||||||
},
|
},
|
||||||
"remember": {
|
"remember": {
|
||||||
"description": "Checkbox text for confirmation, e.g. when removing a download in manager",
|
"description": "Checkbox text for confirmation, e.g. when removing a download in manager",
|
||||||
@ -929,7 +921,7 @@
|
|||||||
},
|
},
|
||||||
"renamer_ref": {
|
"renamer_ref": {
|
||||||
"description": "Mask text; see mask button",
|
"description": "Mask text; see mask button",
|
||||||
"message": "Referrer (Not implemented)"
|
"message": "Referrer"
|
||||||
},
|
},
|
||||||
"renamer_refdomain": {
|
"renamer_refdomain": {
|
||||||
"description": "Mask text; see mask button",
|
"description": "Mask text; see mask button",
|
||||||
@ -1055,11 +1047,7 @@
|
|||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"description": "Title of the select window",
|
"description": "Title of the select window",
|
||||||
"message": "TraitorousDownloading! - Select your Downloads"
|
"message": "DownThemAll! - Select your Downloads"
|
||||||
},
|
|
||||||
"server": {
|
|
||||||
"description": "Downloader Server",
|
|
||||||
"message": "Server"
|
|
||||||
},
|
},
|
||||||
"set_mask": {
|
"set_mask": {
|
||||||
"description": "Menu text; select window",
|
"description": "Menu text; select window",
|
||||||
@ -1087,7 +1075,7 @@
|
|||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"description": "Title of single window",
|
"description": "Title of single window",
|
||||||
"message": "TraitorousDownloading! - Add a link"
|
"message": "DownThemAll! - Add a link"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
"description": "Size formatting; bytes",
|
"description": "Size formatting; bytes",
|
||||||
@ -1308,9 +1296,5 @@
|
|||||||
"useonlyonce": {
|
"useonlyonce": {
|
||||||
"description": "Label for Use-Once checkboxes",
|
"description": "Label for Use-Once checkboxes",
|
||||||
"message": "Use Once"
|
"message": "Use Once"
|
||||||
},
|
|
||||||
"cookies": {
|
|
||||||
"description": "Label for cookie checkboxes",
|
|
||||||
"message": "Send cookies to server"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Todas las pestañas",
|
"message": "DownThemAll! - Todas las pestañas",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Guardar imagen con TraitorousDownloading!",
|
"message": "Guardar imagen con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Guardar enlace con TraitorousDownloading!",
|
"message": "Guardar enlace con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Guardar multimedia con TraitorousDownloading!",
|
"message": "Guardar multimedia con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Guardar selección con TraitorousDownloading!",
|
"message": "Guardar selección con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "El programa de descargas masivas para su navegador",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Filtro rápido",
|
"message": "Filtro rápido",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "Gestor TraitorousDownloading!",
|
"message": "Gestor DownThemAll!",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Preferencias de TraitorousDownloading!",
|
"message": "Preferencias de DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Botón TraitorousDownloading!:",
|
"message": "Botón DownThemAll!:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "Selección TraitorousDownloading!",
|
"message": "Selección DownThemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Seleccionar sus descargas",
|
"message": "DownThemAll! - Seleccionar sus descargas",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Añadir un enlace",
|
"message": "DownThemAll! - Añadir un enlace",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Kõik kaardid",
|
"message": "DownThemAll! - Kõik kaardid",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Salvesta pilt TraitorousDownloading!-iga",
|
"message": "Salvesta pilt DownThemAll!-iga",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Salvesta link TraitorousDownloading!-iga",
|
"message": "Salvesta link DownThemAll!-iga",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Salvesta meedia TraitorousDownloading!-iga",
|
"message": "Salvesta meedia DownThemAll!-iga",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Salvesta valik TraitorousDownloading!-iga",
|
"message": "Salvesta valik DownThemAll!-iga",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Massallalaadija sinu veebilehitsejale",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Kiirfiltreerimine",
|
"message": "Kiirfiltreerimine",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! haldur",
|
"message": "DownThemAll! haldur",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! eelistused",
|
"message": "DownThemAll! eelistused",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! nupp:",
|
"message": "DownThemAll! nupp:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! valik",
|
"message": "DownThemAll! valik",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Vali oma allalaadimised",
|
"message": "DownThemAll! - Vali oma allalaadimised",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Lingi lisamine",
|
"message": "DownThemAll! - Lingi lisamine",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Tous les onglets",
|
"message": "DownThemAll! - Tous les onglets",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Enregistrer l'image avec TraitorousDownloading!",
|
"message": "Enregistrer l'image avec DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Enregistrer le lien avec TraitorousDownloading!",
|
"message": "Enregistrer le lien avec DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Enregistrer le média avec TraitorousDownloading!",
|
"message": "Enregistrer le média avec DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Enregistrer la sélection avec TraitorousDownloading!",
|
"message": "Enregistrer la sélection avec DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Le gestionnaire de téléchargements pour votre navigateur",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Filtrage rapide",
|
"message": "Filtrage rapide",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Gestionnaire",
|
"message": "DownThemAll! Gestionnaire",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Paramètres TraitorousDownloading!",
|
"message": "Paramètres DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Bouton TraitorousDownloading!",
|
"message": "Bouton DownThemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "Sélection TraitorousDownloading!",
|
"message": "Sélection DownthemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Selectionner vos téléchargements",
|
"message": "DownThemAll! - Selectionner vos téléchargements",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Ajouter un lien",
|
"message": "DownThemAll! - Ajouter un lien",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Összes lap",
|
"message": "DownThemAll! - Összes lap",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Kép mentése a TraitorousDownloading-al!",
|
"message": "Kép mentése a DownThemAll-al!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Hivatkozás mentése TraitorousDownloading-al",
|
"message": "Hivatkozás mentése DownThemAll-al",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Média mentése TraitorousDownloading-al",
|
"message": "Média mentése DownThemAll-al",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Kiválasztás mentése TraitorousDownloading-al",
|
"message": "Kiválasztás mentése DownThemAll-al",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "A tömeges letöltő a böngésződ számára",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Gyors szűrés",
|
"message": "Gyors szűrés",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! kezelő",
|
"message": "DownThemAll! kezelő",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! beállításai",
|
"message": "DownThemAll! beállításai",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading gomb:",
|
"message": "DownThemAll gomb:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading választás",
|
"message": "DownThemAll választás",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"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"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Adj hozzá egy hivatkozást",
|
"message": "DownThemAll! - Adj hozzá egy hivatkozást",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -216,23 +216,23 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading - Semua Tab",
|
"message": "DownThemAll - Semua Tab",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Simpan Gambar menggunakan TraitorousDownloading!",
|
"message": "Simpan Gambar menggunakan DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Simpan Tautan menggunakan TraitorousDownloading!",
|
"message": "Simpan Tautan menggunakan DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Simpan Media menggunakan TraitorousDownloading!",
|
"message": "Simpan Media menggunakan DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Simpan Pilihan menggunakan TraitorousDownloading!",
|
"message": "Simpan Pilihan menggunakan DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo_all": {
|
"dta_turbo_all": {
|
||||||
@ -297,7 +297,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Pengunduh Masal untuk browser anda",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Penyaringan Cepat",
|
"message": "Penyaringan Cepat",
|
||||||
@ -398,7 +398,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "Pengelola TraitorousDownloading!",
|
"message": "Pengelola DownThemAll!",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask_default": {
|
"mask_default": {
|
||||||
@ -426,7 +426,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -498,7 +498,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Preferensi TraitorousDownloading!",
|
"message": "Preferensi DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -506,11 +506,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Tombol TraitorousDownloading!:",
|
"message": "Tombol DownThemAll!:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "Pilihan TraitorousDownloading!",
|
"message": "Pilihan DownThemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -926,7 +926,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Pilih Unduhan Anda",
|
"message": "DownThemAll! - Pilih Unduhan Anda",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -970,7 +970,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Tambah tautan",
|
"message": "DownThemAll! - Tambah tautan",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizes_huge": {
|
"sizes_huge": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Tutte le schede",
|
"message": "DownThemAll! - Tutte le schede",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Salva immagine con TraitorousDownloading!",
|
"message": "Salva immagine con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Salva link con TraitorousDownloading!",
|
"message": "Salva link con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Salva media con TraitorousDownloading!",
|
"message": "Salva media con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Salva selezione con TraitorousDownloading!",
|
"message": "Salva selezione con DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Il download manager di massa per il tuo browser",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Filtro Rapido",
|
"message": "Filtro Rapido",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Manager",
|
"message": "DownThemAll! Manager",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Preferenze di TraitorousDownloading!",
|
"message": "Preferenze di DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Pulsante TraitorousDownloading!:",
|
"message": "Pulsante DownThemAll!:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "Selezione TraitorousDownloading!",
|
"message": "Selezione DownThemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1010,7 +1010,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Seleziona i tuoi download",
|
"message": "DownThemAll! - Seleziona i tuoi download",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1054,7 +1054,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Aggiungi un link",
|
"message": "DownThemAll! - Aggiungi un link",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - 全てのタブ",
|
"message": "DownThemAll! - 全てのタブ",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "画像をTraitorousDownloading! で保存する",
|
"message": "画像をDownThemAll! で保存する",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "リンク先をTraitorousDownloading! で保存する",
|
"message": "リンク先をDownThemAll! で保存する",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "メディアをTraitorousDownloading! で保存する",
|
"message": "メディアをDownThemAll! で保存する",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "選択項目をTraitorousDownloading! で保存する",
|
"message": "選択項目をDownThemAll! で保存する",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "ブラウザ用マスダウンローダー",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "高速フィルタリング",
|
"message": "高速フィルタリング",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! マネージャ",
|
"message": "DownThemAll! マネージャ",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"nagging_message": {
|
||||||
"message": "これまでTraitorousDownloadingで$DOWNLOADS$ダウンロードを追加しました! 通常のユーザーとして、さらなる開発を支援するために寄付を検討することができます。 皆様のご協力、心よりお待ち致しております。",
|
"message": "これまでDownThemAllで$DOWNLOADS$ダウンロードを追加しました! 通常のユーザーとして、さらなる開発を支援するために寄付を検討することができます。 皆様のご協力、心よりお待ち致しております。",
|
||||||
"description": "Donation nagging message; displayed as a notification bar in manager",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! 設定",
|
"message": "DownThemAll! 設定",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,7 +574,7 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! アイコンクリック時:",
|
"message": "DownThemAll! アイコンクリック時:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - ダウンロードの選択",
|
"message": "DownThemAll! - ダウンロードの選択",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - リンクを追加",
|
"message": "DownThemAll! - リンクを追加",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - 모든 탭",
|
"message": "DownThemAll! - 모든 탭",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "이미지를 TraitorousDownloading!로 저장",
|
"message": "이미지를 DownThemAll!로 저장",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "링크를 TraitorousDownloading!로 저장",
|
"message": "링크를 DownThemAll!로 저장",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "미디어를 TraitorousDownloading!로 저장",
|
"message": "미디어를 DownThemAll!로 저장",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "선택영역을 TraitorousDownloading!로 저장",
|
"message": "선택영역을 DownThemAll!로 저장",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "브라우저용 대량 다운로더",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "빠른 필터링",
|
"message": "빠른 필터링",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! 관리자",
|
"message": "DownThemAll! 관리자",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"nagging_message": {
|
||||||
"message": "지금까지 TraitorousDownloading!로 $DOWNLOADS$ 다운로드를 추가하셨습니다. 일반 사용자로서 추가 개발을 지원하기 위해 기부를 고려할 수 있습니다. 감사합니다!",
|
"message": "지금까지 DownThemAll!로 $DOWNLOADS$ 다운로드를 추가하셨습니다. 일반 사용자로서 추가 개발을 지원하기 위해 기부를 고려할 수 있습니다. 감사합니다!",
|
||||||
"description": "Donation nagging message; displayed as a notification bar in manager",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! 설정",
|
"message": "DownThemAll! 설정",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! 버튼:",
|
"message": "DownThemAll! 버튼:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! 선택",
|
"message": "DownThemAll! 선택",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1010,7 +1010,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - 다운로드 선택",
|
"message": "DownThemAll! - 다운로드 선택",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1054,7 +1054,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - 링크 추가",
|
"message": "DownThemAll! - 링크 추가",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Visoms kortelėms",
|
"message": "DownThemAll! - Visoms kortelėms",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Išsaugoti vaizdą su TraitorousDownloading!",
|
"message": "Išsaugoti vaizdą su DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Išsaugoti nuorodą su TraitorousDownloading!",
|
"message": "Išsaugoti nuorodą su DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Išsaugoti media su TraitorousDownloading!",
|
"message": "Išsaugoti media su DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Išsaugoti pažymėtą su TraitorousDownloading!",
|
"message": "Išsaugoti pažymėtą su DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Masinio parsisiuntimo programa jūsų naršyklėje",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Greitas filtravimas",
|
"message": "Greitas filtravimas",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! menedžeris",
|
"message": "DownThemAll! menedžeris",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! nuostatos",
|
"message": "DownThemAll! nuostatos",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! mygtukas:",
|
"message": "DownThemAll! mygtukas:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! pasirinkimas",
|
"message": "DownThemAll! pasirinkimas",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Pasirinkite parsisiuntimus",
|
"message": "DownThemAll! - Pasirinkite parsisiuntimus",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Pridėti nuorodą",
|
"message": "DownThemAll! - Pridėti nuorodą",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Alle Tabbladen",
|
"message": "DownThemAll! - Alle Tabbladen",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Afbeelding opslaan met TraitorousDownloading!",
|
"message": "Afbeelding opslaan met DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Link opslaan met TraitorousDownloading!",
|
"message": "Link opslaan met DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Media opslaan met TraitorousDownloading!",
|
"message": "Media opslaan met DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Selectie opslaan met TraitorousDownloading!",
|
"message": "Selectie opslaan met DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "De bulkdownloader voor uw browser",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Snel filteren",
|
"message": "Snel filteren",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! beheerder",
|
"message": "DownThemAll! beheerder",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! voorkeuren",
|
"message": "DownThemAll! voorkeuren",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! knop:",
|
"message": "DownThemAll! knop:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! selectie",
|
"message": "DownThemAll! selectie",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Selecteer uw Downloads",
|
"message": "DownThemAll! - Selecteer uw Downloads",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Link toevoegen",
|
"message": "DownThemAll! - Link toevoegen",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Wszystkie zakładki",
|
"message": "DownThemAll! - Wszystkie zakładki",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Zapisz Obraz z TraitorousDownloading!",
|
"message": "Zapisz Obraz z DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Zapisz Link z TraitorousDownloading!",
|
"message": "Zapisz Link z DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Zapisz Multimedia z TraitorousDownloading!",
|
"message": "Zapisz Multimedia z DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Zapisz wybór z TraitorousDownloading!",
|
"message": "Zapisz wybór z DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Narzędzie do zbiorowego pobierania dla Twojej przeglądarki",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Szybkie filtrowanie",
|
"message": "Szybkie filtrowanie",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "Menedżer TraitorousDownloading!",
|
"message": "Menedżer DownThemAll!",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Ustawienia TraitorousDownloading!",
|
"message": "Ustawienia DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Przycisk TraitorousDownloading!:",
|
"message": "Przycisk DownThemAll!:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "Wybór TraitorousDownloading!:",
|
"message": "Wybór DownThemAll!:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Wybierz swoje pobierania",
|
"message": "DownThemAll! - Wybierz swoje pobierania",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Dodaj link",
|
"message": "DownThemAll! - Dodaj link",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Todas as abas",
|
"message": "DownThemAll! - Todas as abas",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Salvar Imagem com o TraitorousDownloading!",
|
"message": "Salvar Imagem com o DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Salvar Link com o TraitorousDownloading!",
|
"message": "Salvar Link com o DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Salvar Mídia com o TraitorousDownloading!",
|
"message": "Salvar Mídia com o DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Salvar Seleção com o TraitorousDownloading!",
|
"message": "Salvar Seleção com o DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "A ferramenta de download em massa para o seu navegador",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Filtragem rápida",
|
"message": "Filtragem rápida",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "Gerenciador do TraitorousDownloading!",
|
"message": "Gerenciador do DownThemAll!",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Preferências do TraitorousDownloading!",
|
"message": "Preferências do DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Botão TraitorousDownloading!",
|
"message": "Botão DownThemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "Seleção do TraitorousDownloading!",
|
"message": "Seleção do DownThemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Selecione seus Downloads",
|
"message": "DownThemAll! - Selecione seus Downloads",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Adicone um link",
|
"message": "DownThemAll! - Adicone um link",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Все вкладки",
|
"message": "DownThemAll! - Все вкладки",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Закачать изображение через TraitorousDownloading!",
|
"message": "Закачать изображение через DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Закачать ссылку через TraitorousDownloading!",
|
"message": "Закачать ссылку через DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Закачать медиа через TraitorousDownloading!",
|
"message": "Закачать медиа через DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Закачать выделенное через TraitorousDownloading!",
|
"message": "Закачать выделенное через DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Универсальная качалка для вашего браузера",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Быстрый фильтр",
|
"message": "Быстрый фильтр",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Менеджер",
|
"message": "DownThemAll! Менеджер",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"nagging_message": {
|
||||||
"message": "Добавлено $DOWNLOADS$ закачек через TraitorousDownloading! на текущий момент! Как постоянный пользователь подумайте над тем чтобы поддержать дальнейшую разработку. Спасибо!",
|
"message": "Добавлено $DOWNLOADS$ закачек через DownThemAll! на текущий момент! Как постоянный пользователь подумайте над тем чтобы поддержать дальнейшую разработку. Спасибо!",
|
||||||
"description": "Donation nagging message; displayed as a notification bar in manager",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "Настройки TraitorousDownloading!",
|
"message": "Настройки DownThemAll!",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "Кнопка TraitorousDownloading!",
|
"message": "Кнопка DownThemAll!",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! выделенного",
|
"message": "DownThemAll! выделенного",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Выбрать ваши закачки",
|
"message": "DownThemAll! - Выбрать ваши закачки",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Добавить ссылку",
|
"message": "DownThemAll! - Добавить ссылку",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Alla flikar",
|
"message": "DownThemAll! - Alla flikar",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "Spara bild med TraitorousDownloading!",
|
"message": "Spara bild med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "Spara länk med TraitorousDownloading!",
|
"message": "Spara länk med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "Spara media med TraitorousDownloading!",
|
"message": "Spara media med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "Spara val med TraitorousDownloading!",
|
"message": "Spara val med DownThemAll!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -313,7 +313,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Bulkhämtaren för din webbläsare",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Snabb filtrering",
|
"message": "Snabb filtrering",
|
||||||
@ -442,7 +442,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Hanterare",
|
"message": "DownThemAll! Hanterare",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"media": {
|
"media": {
|
||||||
@ -470,7 +470,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -550,7 +550,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! Inställningar",
|
"message": "DownThemAll! Inställningar",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -558,11 +558,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! knapp:",
|
"message": "DownThemAll! knapp:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! urval",
|
"message": "DownThemAll! urval",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -966,7 +966,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - Välj dina hämtningar",
|
"message": "DownThemAll! - Välj dina hämtningar",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -994,7 +994,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Lägg till en länk",
|
"message": "DownThemAll! - Lägg till en länk",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - Tüm Sekmeler",
|
"message": "DownThemAll! - Tüm Sekmeler",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "TraitorousDownloading ile Görüntüyü Kaydet!",
|
"message": "DownThemAll ile Görüntüyü Kaydet!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "TraitorousDownloading ile Bağlantıyı Kaydet!",
|
"message": "DownThemAll ile Bağlantıyı Kaydet!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "TraitorousDownloading ile Medyayı Kaydet!",
|
"message": "DownThemAll ile Medyayı Kaydet!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "TraitorousDownloading ile Seçimi Kaydet!",
|
"message": "DownThemAll ile Seçimi Kaydet!",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "Tarayıcınız için Toplu İndirme",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "Hızlı Filtreleme",
|
"message": "Hızlı Filtreleme",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! Yöneticisi",
|
"message": "DownThemAll! Yöneticisi",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"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",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! Tercihleri",
|
"message": "DownThemAll! Tercihleri",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! düğmesi:",
|
"message": "DownThemAll! düğmesi:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! seçimi",
|
"message": "DownThemAll! seçimi",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - İndirilenlerinizi seçin",
|
"message": "DownThemAll! - İndirilenlerinizi seçin",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - Bir bağlantı ekle",
|
"message": "DownThemAll! - Bir bağlantı ekle",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading! - 全部标签页",
|
"message": "DownThemAll! - 全部标签页",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "用 TraitorousDownloading! 保存图片",
|
"message": "用 DownThemAll! 保存图片",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "用 TraitorousDownloading! 保存链接",
|
"message": "用 DownThemAll! 保存链接",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "用 TraitorousDownloading! 保存媒体",
|
"message": "用 DownThemAll! 保存媒体",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "用 TraitorousDownloading! 保存选中项",
|
"message": "用 DownThemAll! 保存选中项",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "适用您浏览器的批量下载工具",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "快速筛选",
|
"message": "快速筛选",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading! 管理器",
|
"message": "DownThemAll! 管理器",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"nagging_message": {
|
||||||
"message": "您使用 TraitorousDownloading! 至今已经添加了 $DOWNLOADS$ 个下载。作为一名普通用户,您可以考虑捐助来支持一下开发。多谢!",
|
"message": "您使用 DownThemAll! 至今已经添加了 $DOWNLOADS$ 个下载。作为一名普通用户,您可以考虑捐助来支持一下开发。多谢!",
|
||||||
"description": "Donation nagging message; displayed as a notification bar in manager",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading! 首选项",
|
"message": "DownThemAll! 首选项",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! 按钮:",
|
"message": "DownThemAll! 按钮:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! 选择框",
|
"message": "DownThemAll! 选择框",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading! - 选择您要下载的内容",
|
"message": "DownThemAll! - 选择您要下载的内容",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading! - 添加链接",
|
"message": "DownThemAll! - 添加链接",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
@ -232,27 +232,27 @@
|
|||||||
"description": "Download (verb/action); e.g. in single and select buttons"
|
"description": "Download (verb/action); e.g. in single and select buttons"
|
||||||
},
|
},
|
||||||
"dta_regular": {
|
"dta_regular": {
|
||||||
"message": "TraitorousDownloading!",
|
"message": "DownThemAll!",
|
||||||
"description": "Regular dta action; Menu text"
|
"description": "Regular dta action; Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_all": {
|
"dta_regular_all": {
|
||||||
"message": "TraitorousDownloading!- 全部分頁",
|
"message": "DownThemAll!- 全部分頁",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_image": {
|
"dta_regular_image": {
|
||||||
"message": "以 TraitorousDownloading! 儲存圖片",
|
"message": "以 DownThemAll! 儲存圖片",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_link": {
|
"dta_regular_link": {
|
||||||
"message": "以 TraitorousDownloading! 下載連結",
|
"message": "以 DownThemAll! 下載連結",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_media": {
|
"dta_regular_media": {
|
||||||
"message": "以 TraitorousDownloading! 儲存媒體檔案",
|
"message": "以 DownThemAll! 儲存媒體檔案",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_regular_selection": {
|
"dta_regular_selection": {
|
||||||
"message": "以 TraitorousDownloading! 儲存選取項目",
|
"message": "以 DownThemAll! 儲存選取項目",
|
||||||
"description": "Menu text"
|
"description": "Menu text"
|
||||||
},
|
},
|
||||||
"dta_turbo": {
|
"dta_turbo": {
|
||||||
@ -321,7 +321,7 @@
|
|||||||
},
|
},
|
||||||
"extensionDescription": {
|
"extensionDescription": {
|
||||||
"message": "為你瀏覽器而生的大量下載工具",
|
"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": {
|
"fastfiltering": {
|
||||||
"message": "快速篩選",
|
"message": "快速篩選",
|
||||||
@ -450,7 +450,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"manager_title": {
|
"manager_title": {
|
||||||
"message": "TraitorousDownloading!下載管理",
|
"message": "DownThemAll!下載管理",
|
||||||
"description": "Window/tab title"
|
"description": "Window/tab title"
|
||||||
},
|
},
|
||||||
"mask": {
|
"mask": {
|
||||||
@ -486,7 +486,7 @@
|
|||||||
"description": "Action for moving a download up"
|
"description": "Action for moving a download up"
|
||||||
},
|
},
|
||||||
"nagging_message": {
|
"nagging_message": {
|
||||||
"message": "目前已透過TraitorousDownloading! 加入 $DOWNLOADS$ 個下載您可以贊助我們支持更進一步的開發謝謝!",
|
"message": "目前已透過DownThemAll! 加入 $DOWNLOADS$ 個下載您可以贊助我們支持更進一步的開發謝謝!",
|
||||||
"description": "Donation nagging message; displayed as a notification bar in manager",
|
"description": "Donation nagging message; displayed as a notification bar in manager",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@ -566,7 +566,7 @@
|
|||||||
"description": "Menu text; Preferences"
|
"description": "Menu text; Preferences"
|
||||||
},
|
},
|
||||||
"prefs_title": {
|
"prefs_title": {
|
||||||
"message": "TraitorousDownloading!偏好設定",
|
"message": "DownThemAll!偏好設定",
|
||||||
"description": "Window/tab title; Preferences"
|
"description": "Window/tab title; Preferences"
|
||||||
},
|
},
|
||||||
"pref_add_paused": {
|
"pref_add_paused": {
|
||||||
@ -574,11 +574,11 @@
|
|||||||
"description": "Preferences/General"
|
"description": "Preferences/General"
|
||||||
},
|
},
|
||||||
"pref_button_type": {
|
"pref_button_type": {
|
||||||
"message": "TraitorousDownloading! 按鈕:",
|
"message": "DownThemAll! 按鈕:",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_dta": {
|
"pref_button_type_dta": {
|
||||||
"message": "TraitorousDownloading! 選取",
|
"message": "DownThemAll! 選取",
|
||||||
"description": "label"
|
"description": "label"
|
||||||
},
|
},
|
||||||
"pref_button_type_manager": {
|
"pref_button_type_manager": {
|
||||||
@ -1026,7 +1026,7 @@
|
|||||||
"description": "Menu text; select context"
|
"description": "Menu text; select context"
|
||||||
},
|
},
|
||||||
"select_title": {
|
"select_title": {
|
||||||
"message": "TraitorousDownloading!- 選擇下載",
|
"message": "DownThemAll!- 選擇下載",
|
||||||
"description": "Title of the select window"
|
"description": "Title of the select window"
|
||||||
},
|
},
|
||||||
"SERVER_BAD_CONTENT": {
|
"SERVER_BAD_CONTENT": {
|
||||||
@ -1070,7 +1070,7 @@
|
|||||||
"description": "Header text; single window"
|
"description": "Header text; single window"
|
||||||
},
|
},
|
||||||
"single_title": {
|
"single_title": {
|
||||||
"message": "TraitorousDownloading!- 新增連結",
|
"message": "DownThemAll!- 新增連結",
|
||||||
"description": "Title of single window"
|
"description": "Title of single window"
|
||||||
},
|
},
|
||||||
"sizeB": {
|
"sizeB": {
|
||||||
|
16
lib/api.ts
@ -11,7 +11,7 @@ import { getManager } from "./manager/man";
|
|||||||
import { select } from "./select";
|
import { select } from "./select";
|
||||||
import { single } from "./single";
|
import { single } from "./single";
|
||||||
import { Notification } from "./notifications";
|
import { Notification } from "./notifications";
|
||||||
import { MASK, FASTFILTER, SUBFOLDER, SERVER } from "./recentlist";
|
import { MASK, FASTFILTER, SUBFOLDER } from "./recentlist";
|
||||||
import { openManager } from "./windowutils";
|
import { openManager } from "./windowutils";
|
||||||
import { _ } from "./i18n";
|
import { _ } from "./i18n";
|
||||||
|
|
||||||
@ -20,9 +20,7 @@ const MAX_BATCH = 10000;
|
|||||||
export interface QueueOptions {
|
export interface QueueOptions {
|
||||||
mask?: string;
|
mask?: string;
|
||||||
subfolder?: string;
|
subfolder?: string;
|
||||||
server?: string;
|
|
||||||
paused?: boolean;
|
paused?: boolean;
|
||||||
cookies?: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const API = new class APIImpl {
|
export const API = new class APIImpl {
|
||||||
@ -34,10 +32,8 @@ export const API = new class APIImpl {
|
|||||||
await Promise.all([MASK.init(), SUBFOLDER.init()]);
|
await Promise.all([MASK.init(), SUBFOLDER.init()]);
|
||||||
const {mask = MASK.current} = options;
|
const {mask = MASK.current} = options;
|
||||||
const {subfolder = SUBFOLDER.current} = options;
|
const {subfolder = SUBFOLDER.current} = options;
|
||||||
const {server = SERVER.current} = options;
|
|
||||||
|
|
||||||
const {paused = false} = options;
|
const {paused = false} = options;
|
||||||
const {cookies = false} = options;
|
|
||||||
const defaults: any = {
|
const defaults: any = {
|
||||||
_idx: 0,
|
_idx: 0,
|
||||||
get idx() {
|
get idx() {
|
||||||
@ -53,10 +49,8 @@ export const API = new class APIImpl {
|
|||||||
postData: null,
|
postData: null,
|
||||||
mask,
|
mask,
|
||||||
subfolder,
|
subfolder,
|
||||||
server,
|
|
||||||
date: Date.now(),
|
date: Date.now(),
|
||||||
paused,
|
paused
|
||||||
cookies,
|
|
||||||
};
|
};
|
||||||
let currentBatch = await Prefs.get("currentBatch", 0);
|
let currentBatch = await Prefs.get("currentBatch", 0);
|
||||||
const initialBatch = currentBatch;
|
const initialBatch = currentBatch;
|
||||||
@ -86,7 +80,7 @@ export const API = new class APIImpl {
|
|||||||
new Notification(null, _("queued-downloads", items.length));
|
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);
|
await openManager(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -130,10 +124,6 @@ export const API = new class APIImpl {
|
|||||||
await SUBFOLDER.init();
|
await SUBFOLDER.init();
|
||||||
await SUBFOLDER.push(options.subfolder);
|
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") {
|
if (typeof options.type === "string") {
|
||||||
await Prefs.set("last-type", options.type);
|
await Prefs.set("last-type", options.type);
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import {
|
|||||||
} from "./browser";
|
} from "./browser";
|
||||||
import { Bus } from "./bus";
|
import { Bus } from "./bus";
|
||||||
import { filterInSitu } from "./util";
|
import { filterInSitu } from "./util";
|
||||||
import { DB } from "./db";
|
|
||||||
|
|
||||||
|
|
||||||
const menus = typeof (_menus) !== "undefined" && _menus || _cmenus;
|
const menus = typeof (_menus) !== "undefined" && _menus || _cmenus;
|
||||||
@ -107,19 +106,19 @@ class Handler {
|
|||||||
|
|
||||||
async performSelection(options: SelectionOptions) {
|
async performSelection(options: SelectionOptions) {
|
||||||
try {
|
try {
|
||||||
const tabOptions: any = {
|
const toptions: any = {
|
||||||
currentWindow: true,
|
currentWindow: true,
|
||||||
discarded: false,
|
discarded: false,
|
||||||
};
|
};
|
||||||
if (!CHROME) {
|
if (!CHROME) {
|
||||||
tabOptions.hidden = false;
|
toptions.hidden = false;
|
||||||
}
|
}
|
||||||
const selectedTabs = options.allTabs ?
|
const selectedTabs = options.allTabs ?
|
||||||
await tabs.query(tabOptions) as any[] :
|
await tabs.query(toptions) as any[] :
|
||||||
[options.tab];
|
[options.tab];
|
||||||
|
|
||||||
const textLinks = await Prefs.get("text-links", true);
|
const textLinks = await Prefs.get("text-links", true);
|
||||||
const gatherOptions = {
|
const goptions = {
|
||||||
type: "DTA:gather",
|
type: "DTA:gather",
|
||||||
selectionOnly: options.selectionOnly,
|
selectionOnly: options.selectionOnly,
|
||||||
textLinks,
|
textLinks,
|
||||||
@ -128,7 +127,7 @@ class Handler {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const results = await Promise.all(selectedTabs.
|
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());
|
await this.processResults(options.turbo, results.flat());
|
||||||
}
|
}
|
||||||
@ -154,14 +153,14 @@ runtime.onInstalled.addListener(({reason, previousVersion}: OnInstalled) => {
|
|||||||
const major = getMajor(version);
|
const major = getMajor(version);
|
||||||
const prevMajor = getMajor(previousVersion);
|
const prevMajor = getMajor(previousVersion);
|
||||||
if (reason === "update" && major !== prevMajor) {
|
if (reason === "update" && major !== prevMajor) {
|
||||||
// tabs.create({
|
tabs.create({
|
||||||
// url: `https://about.downthemall.org/changelog/?cur=${major}&prev=${prevMajor}`,
|
url: `https://about.downthemall.org/changelog/?cur=${major}&prev=${prevMajor}`,
|
||||||
// });
|
});
|
||||||
}
|
}
|
||||||
else if (reason === "install") {
|
else if (reason === "install") {
|
||||||
// tabs.create({
|
tabs.create({
|
||||||
// url: `https://about.downthemall.org/4.0/?cur=${major}`,
|
url: `https://about.downthemall.org/4.0/?cur=${major}`,
|
||||||
// });
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -171,7 +170,7 @@ locale.then(() => {
|
|||||||
super();
|
super();
|
||||||
this.onClicked = this.onClicked.bind(this);
|
this.onClicked = this.onClicked.bind(this);
|
||||||
const alls = new Map<string, string[]>();
|
const alls = new Map<string, string[]>();
|
||||||
const menuCreate = (options: any) => {
|
const mcreate = (options: any) => {
|
||||||
if (CHROME) {
|
if (CHROME) {
|
||||||
delete options.icons;
|
delete options.icons;
|
||||||
options.contexts = options.contexts.
|
options.contexts = options.contexts.
|
||||||
@ -185,7 +184,7 @@ locale.then(() => {
|
|||||||
}
|
}
|
||||||
menus.create(options);
|
menus.create(options);
|
||||||
};
|
};
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTARegularLink",
|
id: "DTARegularLink",
|
||||||
contexts: ["link"],
|
contexts: ["link"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -194,7 +193,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.regular.link"),
|
title: _("dta.regular.link"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTATurboLink",
|
id: "DTATurboLink",
|
||||||
contexts: ["link"],
|
contexts: ["link"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -203,7 +202,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.turbo.link"),
|
title: _("dta.turbo.link"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTARegularImage",
|
id: "DTARegularImage",
|
||||||
contexts: ["image"],
|
contexts: ["image"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -212,7 +211,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.regular.image"),
|
title: _("dta.regular.image"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTATurboImage",
|
id: "DTATurboImage",
|
||||||
contexts: ["image"],
|
contexts: ["image"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -221,7 +220,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.turbo.image"),
|
title: _("dta.turbo.image"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTARegularMedia",
|
id: "DTARegularMedia",
|
||||||
contexts: ["video", "audio"],
|
contexts: ["video", "audio"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -230,7 +229,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.regular.media"),
|
title: _("dta.regular.media"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTATurboMedia",
|
id: "DTATurboMedia",
|
||||||
contexts: ["video", "audio"],
|
contexts: ["video", "audio"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -239,7 +238,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.turbo.media"),
|
title: _("dta.turbo.media"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTARegularSelection",
|
id: "DTARegularSelection",
|
||||||
contexts: ["selection"],
|
contexts: ["selection"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -248,7 +247,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.regular.selection"),
|
title: _("dta.regular.selection"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTATurboSelection",
|
id: "DTATurboSelection",
|
||||||
contexts: ["selection"],
|
contexts: ["selection"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -257,7 +256,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.turbo.selection"),
|
title: _("dta.turbo.selection"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTARegular",
|
id: "DTARegular",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -266,7 +265,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.regular"),
|
title: _("dta.regular"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTATurbo",
|
id: "DTATurbo",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -275,12 +274,12 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta.turbo"),
|
title: _("dta.turbo"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "sep-1",
|
id: "sep-1",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
type: "separator"
|
type: "separator"
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTARegularAll",
|
id: "DTARegularAll",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -289,7 +288,7 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("dta-regular-all"),
|
title: _("dta-regular-all"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTATurboAll",
|
id: "DTATurboAll",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -301,12 +300,12 @@ locale.then(() => {
|
|||||||
const sep2ctx = menus.ACTION_MENU_TOP_LEVEL_LIMIT === 6 ?
|
const sep2ctx = menus.ACTION_MENU_TOP_LEVEL_LIMIT === 6 ?
|
||||||
["all", "tools_menu"] :
|
["all", "tools_menu"] :
|
||||||
["all", "browser_action", "tools_menu"];
|
["all", "browser_action", "tools_menu"];
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "sep-2",
|
id: "sep-2",
|
||||||
contexts: sep2ctx,
|
contexts: sep2ctx,
|
||||||
type: "separator"
|
type: "separator"
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTAAdd",
|
id: "DTAAdd",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -317,12 +316,12 @@ locale.then(() => {
|
|||||||
},
|
},
|
||||||
title: _("add-download"),
|
title: _("add-download"),
|
||||||
});
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "sep-3",
|
id: "sep-3",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
type: "separator"
|
type: "separator"
|
||||||
});
|
});
|
||||||
/* menuCreate({
|
mcreate({
|
||||||
id: "DTAManager",
|
id: "DTAManager",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -330,8 +329,8 @@ locale.then(() => {
|
|||||||
32: "/style/button-manager@2x.png",
|
32: "/style/button-manager@2x.png",
|
||||||
},
|
},
|
||||||
title: _("manager.short"),
|
title: _("manager.short"),
|
||||||
});*/
|
});
|
||||||
menuCreate({
|
mcreate({
|
||||||
id: "DTAPrefs",
|
id: "DTAPrefs",
|
||||||
contexts: ["all", "browser_action", "tools_menu"],
|
contexts: ["all", "browser_action", "tools_menu"],
|
||||||
icons: {
|
icons: {
|
||||||
@ -663,13 +662,6 @@ locale.then(() => {
|
|||||||
await sessionRemover();
|
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 Prefs.set("last-run", new Date());
|
||||||
await filters();
|
await filters();
|
||||||
await getManager();
|
await getManager();
|
||||||
|
132
lib/db.ts
@ -1,25 +1,17 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
// License: MIT
|
|
||||||
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
import { BaseItem } from "./item";
|
import { BaseItem } from "./item";
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
import { Download } from "./manager/download";
|
import { Download } from "./manager/download";
|
||||||
import { RUNNING, QUEUED, RETRYING } from "./manager/state";
|
import { RUNNING, QUEUED, RETRYING } from "./manager/state";
|
||||||
import { storage } from "./browser";
|
|
||||||
import { sort } from "./sorting";
|
// License: MIT
|
||||||
|
|
||||||
const VERSION = 1;
|
const VERSION = 1;
|
||||||
const STORE = "queue";
|
const STORE = "queue";
|
||||||
|
|
||||||
interface Database {
|
export const DB = new class DB {
|
||||||
init(): Promise<void>;
|
|
||||||
saveItems(items: Download[]): Promise<unknown>;
|
|
||||||
deleteItems(items: any[]): Promise<void>;
|
|
||||||
getAll(): Promise<BaseItem[]>;
|
|
||||||
}
|
|
||||||
|
|
||||||
export class IDB implements Database {
|
|
||||||
private db?: IDBDatabase;
|
private db?: IDBDatabase;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@ -114,7 +106,7 @@ export class IDB implements Database {
|
|||||||
return await new Promise(this.saveItemsInternal.bind(this, items));
|
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) {
|
if (!items || !items.length || !this.db) {
|
||||||
resolve();
|
resolve();
|
||||||
return;
|
return;
|
||||||
@ -147,120 +139,4 @@ export class IDB implements Database {
|
|||||||
await this.init();
|
await this.init();
|
||||||
await new Promise(this.deleteItemsInternal.bind(this, items));
|
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}();
|
}();
|
||||||
|
39
lib/i18n.ts
@ -4,7 +4,7 @@
|
|||||||
import {memoize} from "./memoize";
|
import {memoize} from "./memoize";
|
||||||
import langs from "../_locales/all.json";
|
import langs from "../_locales/all.json";
|
||||||
import { sorted, naturalCaseCompare } from "./sorting";
|
import { sorted, naturalCaseCompare } from "./sorting";
|
||||||
import lf from "localforage";
|
|
||||||
|
|
||||||
export const ALL_LANGS = Object.freeze(new Map<string, string>(
|
export const ALL_LANGS = Object.freeze(new Map<string, string>(
|
||||||
sorted(Object.entries(langs), e => {
|
sorted(Object.entries(langs), e => {
|
||||||
@ -40,11 +40,11 @@ class Entry {
|
|||||||
this.message = entry.message.replace(/\$[A-Z0-9]+\$/g, (r: string) => {
|
this.message = entry.message.replace(/\$[A-Z0-9]+\$/g, (r: string) => {
|
||||||
hit = true;
|
hit = true;
|
||||||
const id = r.substr(1, r.length - 2).toLocaleLowerCase();
|
const id = r.substr(1, r.length - 2).toLocaleLowerCase();
|
||||||
const placeholder = entry.placeholders[id];
|
const pholder = entry.placeholders[id];
|
||||||
if (!placeholder || !placeholder.content) {
|
if (!pholder || !pholder.content) {
|
||||||
throw new Error(`Invalid placeholder: ${id}`);
|
throw new Error(`Invalid placeholder: ${id}`);
|
||||||
}
|
}
|
||||||
return `${placeholder.content}$`;
|
return `${pholder.content}$`;
|
||||||
});
|
});
|
||||||
if (!hit) {
|
if (!hit) {
|
||||||
throw new Error("Not entry-able");
|
throw new Error("Not entry-able");
|
||||||
@ -123,17 +123,14 @@ async function fetchLanguage(code: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function loadCached(): Promise<any> {
|
function loadCached() {
|
||||||
const cached = await lf.getItem<string>(CACHE_KEY);
|
if (document.location.pathname.includes("/windows/")) {
|
||||||
if (!cached) {
|
const cached = localStorage.getItem(CACHE_KEY);
|
||||||
return null;
|
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() {
|
async function loadRawLocales() {
|
||||||
@ -190,16 +187,16 @@ async function load(): Promise<Localization> {
|
|||||||
}
|
}
|
||||||
CURRENT = currentLang;
|
CURRENT = currentLang;
|
||||||
// en is the base locale
|
// en is the base locale
|
||||||
let valid = await loadCached();
|
let valid = loadCached();
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
valid = await loadRawLocales();
|
valid = await loadRawLocales();
|
||||||
await lf.setItem(CACHE_KEY, JSON.stringify(valid));
|
localStorage.setItem(CACHE_KEY, JSON.stringify(valid));
|
||||||
}
|
}
|
||||||
if (!valid.length) {
|
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) {
|
if (custom) {
|
||||||
try {
|
try {
|
||||||
valid.push(JSON.parse(custom));
|
valid.push(JSON.parse(custom));
|
||||||
@ -242,7 +239,7 @@ locale.then(l => {
|
|||||||
/**
|
/**
|
||||||
* Localize a message
|
* Localize a message
|
||||||
* @param {string} id Identifier of the string to localize
|
* @param {string} id Identifier of the string to localize
|
||||||
* @param {string[]} [subst] Message substitutions
|
* @param {string[]} [subst] Message substituations
|
||||||
* @returns {string} Localized message
|
* @returns {string} Localized message
|
||||||
*/
|
*/
|
||||||
export function _(id: string, ...subst: any[]) {
|
export function _(id: string, ...subst: any[]) {
|
||||||
@ -305,11 +302,11 @@ export async function localize<T extends HTMLElement | DocumentFragment>(
|
|||||||
return localize_(elem);
|
return localize_(elem);
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function saveCustomLocale(data?: string) {
|
export function saveCustomLocale(data?: string) {
|
||||||
if (!data) {
|
if (!data) {
|
||||||
await lf.removeItem(CUSTOM_KEY);
|
localStorage.removeItem(CUSTOM_KEY);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
new Localization(JSON.parse(data));
|
new Localization(JSON.parse(data));
|
||||||
await localStorage.setItem(CUSTOM_KEY, data);
|
localStorage.setItem(CUSTOM_KEY, data);
|
||||||
}
|
}
|
||||||
|
@ -4,11 +4,9 @@
|
|||||||
import { downloads, CHROME } from "./browser";
|
import { downloads, CHROME } from "./browser";
|
||||||
import { EventEmitter } from "../uikit/lib/events";
|
import { EventEmitter } from "../uikit/lib/events";
|
||||||
import { PromiseSerializer } from "./pserializer";
|
import { PromiseSerializer } from "./pserializer";
|
||||||
import lf from "localforage";
|
|
||||||
|
|
||||||
|
|
||||||
|
const VERSION = 1;
|
||||||
const STORE = "iconcache";
|
const STORE = "iconcache";
|
||||||
|
|
||||||
// eslint-disable-next-line no-magic-numbers
|
// eslint-disable-next-line no-magic-numbers
|
||||||
const CACHE_SIZES = CHROME ? [16, 32] : [16, 32, 64, 127];
|
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 {
|
export const IconCache = new class IconCache extends EventEmitter {
|
||||||
private db = lf.createInstance({name: STORE});
|
private db: Promise<IDBDatabase>;
|
||||||
|
|
||||||
private cache: Map<string, string>;
|
private cache: Map<string, string>;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
this.db = this.init();
|
||||||
this.cache = new Map();
|
this.cache = new Map();
|
||||||
this.get = PromiseSerializer.wrapNew(8, this, this.get);
|
this.get = PromiseSerializer.wrapNew(8, this, this.get);
|
||||||
this.set = PromiseSerializer.wrapNew(1, this, this.set);
|
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) {
|
private normalize(ext: string) {
|
||||||
ext = ext.toLocaleLowerCase();
|
ext = ext.toLocaleLowerCase();
|
||||||
return SYNONYMS.get(ext) || ext;
|
return SYNONYMS.get(ext) || ext;
|
||||||
@ -77,25 +95,36 @@ export const IconCache = new class IconCache extends EventEmitter {
|
|||||||
if (rv) {
|
if (rv) {
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
const db = await this.db;
|
||||||
rv = this.cache.get(sext);
|
rv = this.cache.get(sext);
|
||||||
if (rv) {
|
if (rv) {
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
let result = await this.db.getItem<any>(sext);
|
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) {
|
if (!result) {
|
||||||
return this.cache.get(sext);
|
resolve(undefined);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
rv = this.cache.get(sext);
|
if (typeof req.result !== "string") {
|
||||||
if (rv) {
|
|
||||||
return rv;
|
|
||||||
}
|
|
||||||
if (typeof result !== "string") {
|
|
||||||
result = URL.createObjectURL(result).toString();
|
result = URL.createObjectURL(result).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.cache.set(sext, result);
|
this.cache.set(sext, result);
|
||||||
this.cache.set(ext, "");
|
this.cache.set(ext, "");
|
||||||
return result;
|
resolve(result);
|
||||||
|
};
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async set(ext: string, manId: number) {
|
async set(ext: string, manId: number) {
|
||||||
@ -116,9 +145,18 @@ export const IconCache = new class IconCache extends EventEmitter {
|
|||||||
}
|
}
|
||||||
for (const {size, icon} of urls) {
|
for (const {size, icon} of urls) {
|
||||||
this.cache.set(`${ext}-${size}`, URL.createObjectURL(icon));
|
this.cache.set(`${ext}-${size}`, URL.createObjectURL(icon));
|
||||||
await this.db.setItem(`${ext}-${size}`, icon);
|
|
||||||
}
|
}
|
||||||
this.cache.set(ext, "");
|
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);
|
this.emit("cached", ext);
|
||||||
}
|
}
|
||||||
}();
|
}();
|
||||||
|
32
lib/imex.ts
@ -81,14 +81,6 @@ function importMeta4(data: string) {
|
|||||||
if (mask) {
|
if (mask) {
|
||||||
item.mask = 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);
|
items.push(item);
|
||||||
}
|
}
|
||||||
catch (ex) {
|
catch (ex) {
|
||||||
@ -102,9 +94,9 @@ function parseKV(current: BaseItem, line: string) {
|
|||||||
const [k, v] = line.split("=", 2);
|
const [k, v] = line.split("=", 2);
|
||||||
switch (k.toLocaleLowerCase().trim()) {
|
switch (k.toLocaleLowerCase().trim()) {
|
||||||
case "referer": {
|
case "referer": {
|
||||||
const refererUrls = getTextLinks(v);
|
const rurls = getTextLinks(v);
|
||||||
if (refererUrls && refererUrls.length) {
|
if (rurls && rurls.length) {
|
||||||
current.referrer = refererUrls.pop();
|
current.referrer = rurls.pop();
|
||||||
current.usableReferrer = decodeURIComponent(current.referrer || "");
|
current.usableReferrer = decodeURIComponent(current.referrer || "");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -205,15 +197,15 @@ class MetalinkExporter {
|
|||||||
const document = window.document.implementation.
|
const document = window.document.implementation.
|
||||||
createDocument(NS_METALINK_RFC5854, "metalink", null);
|
createDocument(NS_METALINK_RFC5854, "metalink", null);
|
||||||
const root = document.documentElement;
|
const root = document.documentElement;
|
||||||
root.setAttributeNS(NS_DTA, "generator", "TraitorousDownloading!");
|
root.setAttributeNS(NS_DTA, "generator", "DownThemAll!");
|
||||||
root.appendChild(document.createComment(
|
root.appendChild(document.createComment(
|
||||||
"metalink as exported by TraitorousDownloading!",
|
"metalink as exported by DownThemAll!",
|
||||||
));
|
));
|
||||||
|
|
||||||
for (const item of items) {
|
for (const item of items) {
|
||||||
const anyItem = item as any;
|
const aitem = item as any;
|
||||||
const f = document.createElementNS(NS_METALINK_RFC5854, "file");
|
const f = document.createElementNS(NS_METALINK_RFC5854, "file");
|
||||||
f.setAttribute("name", anyItem.currentName);
|
f.setAttribute("name", aitem.currentName);
|
||||||
if (item.batch) {
|
if (item.batch) {
|
||||||
f.setAttributeNS(NS_DTA, "num", item.batch.toString());
|
f.setAttributeNS(NS_DTA, "num", item.batch.toString());
|
||||||
}
|
}
|
||||||
@ -233,19 +225,13 @@ class MetalinkExporter {
|
|||||||
f.appendChild(n);
|
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");
|
const u = document.createElementNS(NS_METALINK_RFC5854, "url");
|
||||||
u.textContent = item.url;
|
u.textContent = item.url;
|
||||||
f.appendChild(u);
|
f.appendChild(u);
|
||||||
|
|
||||||
if (anyItem.totalSize > 0) {
|
if (aitem.totalSize > 0) {
|
||||||
const s = document.createElementNS(NS_METALINK_RFC5854, "size");
|
const s = document.createElementNS(NS_METALINK_RFC5854, "size");
|
||||||
s.textContent = anyItem.totalSize.toString();
|
s.textContent = aitem.totalSize.toString();
|
||||||
f.appendChild(s);
|
f.appendChild(s);
|
||||||
}
|
}
|
||||||
root.appendChild(f);
|
root.appendChild(f);
|
||||||
|
@ -32,8 +32,7 @@ const OPTIONPROPS = Object.freeze([
|
|||||||
"startDate",
|
"startDate",
|
||||||
"private",
|
"private",
|
||||||
"postData",
|
"postData",
|
||||||
"paused",
|
"paused"
|
||||||
"server", "cookies",
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function maybeAssign(options: any, what: any) {
|
function maybeAssign(options: any, what: any) {
|
||||||
|
@ -16,7 +16,7 @@ import {
|
|||||||
DONE,
|
DONE,
|
||||||
FORCABLE,
|
FORCABLE,
|
||||||
MISSING,
|
MISSING,
|
||||||
PAUSEABLE,
|
PAUSABLE,
|
||||||
PAUSED,
|
PAUSED,
|
||||||
QUEUED,
|
QUEUED,
|
||||||
RUNNING,
|
RUNNING,
|
||||||
@ -235,7 +235,7 @@ export class Download extends BaseDownload {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async pause(retry?: boolean) {
|
async pause(retry?: boolean) {
|
||||||
if (!(PAUSEABLE & this.state)) {
|
if (!(PAUSABLE & this.state)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ export class Download extends BaseDownload {
|
|||||||
await downloads.cancel(id);
|
await downloads.cancel(id);
|
||||||
}
|
}
|
||||||
catch (ex) {
|
catch (ex) {
|
||||||
// ignored
|
// ingored
|
||||||
}
|
}
|
||||||
await new Promise(r => setTimeout(r, 1000));
|
await new Promise(r => setTimeout(r, 1000));
|
||||||
try {
|
try {
|
||||||
@ -285,7 +285,7 @@ export class Download extends BaseDownload {
|
|||||||
}
|
}
|
||||||
catch (ex) {
|
catch (ex) {
|
||||||
console.error(id, ex.toString(), 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 = {};
|
const res: PrerollResults = {};
|
||||||
if (state.mime) {
|
if (state.mime) {
|
||||||
res.mime = state.mime;
|
res.mime = state.mime;
|
||||||
|
@ -17,7 +17,6 @@ import { ManagerPort } from "./port";
|
|||||||
import { Scheduler } from "./scheduler";
|
import { Scheduler } from "./scheduler";
|
||||||
import { Limits } from "./limits";
|
import { Limits } from "./limits";
|
||||||
import { downloads, runtime, webRequest, CHROME, OPERA } from "../browser";
|
import { downloads, runtime, webRequest, CHROME, OPERA } from "../browser";
|
||||||
import { browser } from "webextension-polyfill-ts";
|
|
||||||
|
|
||||||
const US = runtime.getURL("");
|
const US = runtime.getURL("");
|
||||||
|
|
||||||
@ -92,11 +91,11 @@ export class Manager extends EventEmitter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Bus.onPort("manager", (port: Port) => {
|
Bus.onPort("manager", (port: Port) => {
|
||||||
const managerPort = new ManagerPort(this, port);
|
const mport = new ManagerPort(this, port);
|
||||||
port.on("disconnect", () => {
|
port.on("disconnect", () => {
|
||||||
this.ports.delete(managerPort);
|
this.ports.delete(mport);
|
||||||
});
|
});
|
||||||
this.ports.add(managerPort);
|
this.ports.add(mport);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
Limits.on("changed", () => {
|
Limits.on("changed", () => {
|
||||||
@ -127,7 +126,7 @@ export class Manager extends EventEmitter {
|
|||||||
// Do not wait for the scheduler
|
// Do not wait for the scheduler
|
||||||
this.resetScheduler();
|
this.resetScheduler();
|
||||||
|
|
||||||
this.emit("initialized");
|
this.emit("inited");
|
||||||
setTimeout(() => this.checkMissing(), MISSING_TIMEOUT);
|
setTimeout(() => this.checkMissing(), MISSING_TIMEOUT);
|
||||||
runtime.onUpdateAvailable.addListener(() => {
|
runtime.onUpdateAvailable.addListener(() => {
|
||||||
if (this.running.size) {
|
if (this.running.size) {
|
||||||
@ -172,7 +171,7 @@ export class Manager extends EventEmitter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
download.updateFromSuggestion(state);
|
download.updatefromSuggestion(state);
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
const suggestion = {filename: download.dest.full};
|
const suggestion = {filename: download.dest.full};
|
||||||
@ -262,61 +261,6 @@ export class Manager extends EventEmitter {
|
|||||||
this.manIds.delete(id);
|
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[]) {
|
addNewDownloads(items: any[]) {
|
||||||
if (!items || !items.length) {
|
if (!items || !items.length) {
|
||||||
return;
|
return;
|
||||||
@ -339,7 +283,6 @@ export class Manager extends EventEmitter {
|
|||||||
this.save(items);
|
this.save(items);
|
||||||
this.startNext();
|
this.startNext();
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
setDirty(item: Download) {
|
setDirty(item: Download) {
|
||||||
this.dirty.add(item);
|
this.dirty.add(item);
|
||||||
@ -415,8 +358,8 @@ export class Manager extends EventEmitter {
|
|||||||
this.startNext().catch(console.error);
|
this.startNext().catch(console.error);
|
||||||
}
|
}
|
||||||
else if (newState === RUNNING) {
|
else if (newState === RUNNING) {
|
||||||
// Usually we already added it. But if a user uses the built-in
|
// Usually we already added it. Buit if a user uses the built-in
|
||||||
// download manager to restart
|
// download manager to resart
|
||||||
// a download, we have not, so make sure it is added either way
|
// a download, we have not, so make sure it is added either way
|
||||||
this.running.add(download);
|
this.running.add(download);
|
||||||
}
|
}
|
||||||
@ -474,18 +417,17 @@ export class Manager extends EventEmitter {
|
|||||||
sorted(sids: number[]) {
|
sorted(sids: number[]) {
|
||||||
try {
|
try {
|
||||||
// Construct new items
|
// Construct new items
|
||||||
const currentSids = new Map(this.sids);
|
const csids = new Map(this.sids);
|
||||||
let items = mapFilterInSitu(sids, sid => {
|
let items = mapFilterInSitu(sids, sid => {
|
||||||
const item = currentSids.get(sid);
|
const item = csids.get(sid);
|
||||||
if (!item) {
|
if (!item) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
currentSids.delete(sid);
|
csids.delete(sid);
|
||||||
return item;
|
return item;
|
||||||
}, e => !!e);
|
}, e => !!e);
|
||||||
if (currentSids.size) {
|
if (csids.size) {
|
||||||
items = items.concat(
|
items = items.concat(sort(Array.from(csids.values()), i => i.position));
|
||||||
sort(Array.from(currentSids.values()), i => i.position));
|
|
||||||
}
|
}
|
||||||
this.items = items;
|
this.items = items;
|
||||||
this.setPositions();
|
this.setPositions();
|
||||||
|
@ -12,5 +12,5 @@ export const RETRYING = 1 << 7;
|
|||||||
|
|
||||||
export const RESUMABLE = PAUSED | CANCELED | RETRYING;
|
export const RESUMABLE = PAUSED | CANCELED | RETRYING;
|
||||||
export const FORCABLE = PAUSED | QUEUED | 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;
|
export const CANCELABLE = QUEUED | RUNNING | PAUSED | DONE | MISSING | RETRYING;
|
||||||
|
@ -8,7 +8,7 @@ import {EventEmitter} from "./events";
|
|||||||
const DEFAULTS = {
|
const DEFAULTS = {
|
||||||
type: "basic",
|
type: "basic",
|
||||||
iconUrl: extension.getURL("/style/icon64.png"),
|
iconUrl: extension.getURL("/style/icon64.png"),
|
||||||
title: "TraitorousDownloading!",
|
title: "DownThemAll!",
|
||||||
message: "message",
|
message: "message",
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ export class Notification extends EventEmitter {
|
|||||||
super();
|
super();
|
||||||
|
|
||||||
this.generated = !id;
|
this.generated = !id;
|
||||||
id = id || `TraitorousDownloading-notification${++gid}`;
|
id = id || `DownThemAll-notification${++gid}`;
|
||||||
if (typeof options === "string") {
|
if (typeof options === "string") {
|
||||||
options = {message: options};
|
options = {message: options};
|
||||||
}
|
}
|
||||||
|
@ -122,8 +122,3 @@ export const SUBFOLDER = new RecentList("subfolder", [
|
|||||||
"downthemall",
|
"downthemall",
|
||||||
]);
|
]);
|
||||||
SUBFOLDER.init().catch(console.error);
|
SUBFOLDER.init().catch(console.error);
|
||||||
|
|
||||||
export const SERVER = new RecentList("server", [
|
|
||||||
"",
|
|
||||||
]);
|
|
||||||
SERVER.init().catch(console.error);
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"name": "TraitorousDownloading!",
|
"name": "DownThemAll!",
|
||||||
"version": "4.2.6",
|
"version": "4.2.6",
|
||||||
|
|
||||||
"description": "__MSG_extensionDescription__",
|
"description": "__MSG_extensionDescription__",
|
||||||
"homepage_url": "https://github.com/lordwelch/downthemall",
|
"homepage_url": "https://downthemall.org/",
|
||||||
"author": "lordwelch",
|
"author": "Nils Maier",
|
||||||
|
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
|
|
||||||
@ -23,7 +23,6 @@
|
|||||||
"permissions": [
|
"permissions": [
|
||||||
"<all_urls>",
|
"<all_urls>",
|
||||||
"contextMenus",
|
"contextMenus",
|
||||||
"cookies",
|
|
||||||
"downloads",
|
"downloads",
|
||||||
"downloads.open",
|
"downloads.open",
|
||||||
"downloads.shelf",
|
"downloads.shelf",
|
||||||
@ -57,7 +56,7 @@
|
|||||||
"128": "style/icon128.png",
|
"128": "style/icon128.png",
|
||||||
"256": "style/icon256.png"
|
"256": "style/icon256.png"
|
||||||
},
|
},
|
||||||
"default_title": "TraitorousDownloading!"
|
"default_title": "DownThemAll!"
|
||||||
},
|
},
|
||||||
|
|
||||||
"options_ui": {
|
"options_ui": {
|
||||||
@ -67,7 +66,7 @@
|
|||||||
|
|
||||||
"browser_specific_settings": {
|
"browser_specific_settings": {
|
||||||
"gecko": {
|
"gecko": {
|
||||||
"id": "downloading@traitorousenterprises.net",
|
"id": "dtalite@downthemall.org",
|
||||||
"strict_min_version": "67.0"
|
"strict_min_version": "67.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "tdl",
|
"name": "dtalite",
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"description": "TraitorousDownloading!",
|
"description": "DownThemAll! lite",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
"lib": "lib"
|
"lib": "lib"
|
||||||
@ -35,10 +35,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/psl": "^1.1.0",
|
"@types/psl": "^1.1.0",
|
||||||
"@types/whatwg-mimetype": "^2.1.0",
|
"@types/whatwg-mimetype": "^2.1.0",
|
||||||
"localforage": "^1.9.0",
|
|
||||||
"psl": "^1.4.0",
|
"psl": "^1.4.0",
|
||||||
"webextension-polyfill": "^0.5.0",
|
"webextension-polyfill": "^0.5.0",
|
||||||
"webextension-polyfill-ts": "^0.22.0",
|
|
||||||
"whatwg-mimetype": "^2.3.0"
|
"whatwg-mimetype": "^2.3.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 747 B After Width: | Height: | Size: 763 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 725 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.6 KiB |
BIN
style/icon.ico
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 12 KiB |
BIN
style/icon16.png
Before Width: | Height: | Size: 810 B After Width: | Height: | Size: 785 B |
BIN
style/icon24.png
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 30 KiB |
BIN
style/icon32.png
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
BIN
style/icon48.png
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
style/icon64.png
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.3 KiB |
@ -64,7 +64,7 @@ p.example {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#options > #subfolderOptions,
|
#options > #subfolderOptions,
|
||||||
#options > #maskOptions, #options > #serverOptions {
|
#options > #maskOptions {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 2fr auto auto;
|
grid-template-columns: 2fr auto auto;
|
||||||
}
|
}
|
||||||
|
@ -108,13 +108,8 @@ export class MenuItem extends MenuItemBase {
|
|||||||
super(owner, id, text, options);
|
super(owner, id, text, options);
|
||||||
this.disabled = options.disabled === "true";
|
this.disabled = options.disabled === "true";
|
||||||
this.elem.setAttribute("aria-role", "menuitem");
|
this.elem.setAttribute("aria-role", "menuitem");
|
||||||
this.clicked = this.clicked.bind(this);
|
this.elem.addEventListener(
|
||||||
this.elem.addEventListener("click", this.clicked);
|
"click", () => this.owner.emit("clicked", this.id, this.autoHide));
|
||||||
this.elem.addEventListener("contextmenu", this.clicked);
|
|
||||||
}
|
|
||||||
|
|
||||||
clicked() {
|
|
||||||
this.owner.emit("clicked", this.id, this.autoHide);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
get disabled() {
|
get disabled() {
|
||||||
|
@ -20,7 +20,7 @@ FILES = [
|
|||||||
"LICENSE.*",
|
"LICENSE.*",
|
||||||
]
|
]
|
||||||
|
|
||||||
RELEASE_ID = "downloading@traitorousenterprises.net"
|
RELEASE_ID = "{DDC359D1-844A-42a7-9AA1-88A850A938A8}"
|
||||||
|
|
||||||
UNCOMPRESSABLE = set((".png", ".jpg", ".zip", ".woff2"))
|
UNCOMPRESSABLE = set((".png", ".jpg", ".zip", ".woff2"))
|
||||||
LICENSED = set((".css", ".html", ".js", "*.ts"))
|
LICENSED = set((".css", ".html", ".js", "*.ts"))
|
||||||
@ -88,14 +88,14 @@ def build_firefox(args):
|
|||||||
|
|
||||||
if args.mode != "release":
|
if args.mode != "release":
|
||||||
infos["version_name"] = f"{version}-{args.mode}"
|
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["short_name"] = infos.get("name")
|
||||||
infos["name"] = f"{infos.get('name')} {args.mode}"
|
infos["name"] = f"{infos.get('name')} {args.mode}"
|
||||||
else:
|
else:
|
||||||
infos["browser_specific_settings"]["gecko"]["id"] = RELEASE_ID
|
infos["browser_specific_settings"]["gecko"]["id"] = RELEASE_ID
|
||||||
|
|
||||||
infos["permissions"] = [p for p in infos.get("permissions") if not p in PERM_IGNORED_FX]
|
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():
|
if not out.parent.exists():
|
||||||
out.parent.mkdir()
|
out.parent.mkdir()
|
||||||
if out.exists():
|
if out.exists():
|
||||||
@ -122,7 +122,7 @@ def build_chromium(args, pkg, additional_ignored=set()):
|
|||||||
infos["name"] = f"{infos.get('name')} {args.mode}"
|
infos["name"] = f"{infos.get('name')} {args.mode}"
|
||||||
|
|
||||||
infos["permissions"] = [p for p in infos.get("permissions") if not p in PERM_IGNORED_CHROME]
|
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():
|
if not out.parent.exists():
|
||||||
out.parent.mkdir()
|
out.parent.mkdir()
|
||||||
if out.exists():
|
if out.exists():
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<!-- License: gpl-v2 -->
|
<!-- License: gpl-v2 -->
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<title data-i18n="manager.title">TraitorousDownloading!</title>
|
<title data-i18n="manager.title">DownThemAll!</title>
|
||||||
<style>
|
<style>
|
||||||
@import "/uikit/css/virtualtable.css";
|
@import "/uikit/css/virtualtable.css";
|
||||||
@import "/uikit/css/modal.css";
|
@import "/uikit/css/modal.css";
|
||||||
|
@ -131,6 +131,7 @@ addEventListener("DOMContentLoaded", function dom() {
|
|||||||
|
|
||||||
addEventListener("contextmenu", event => {
|
addEventListener("contextmenu", event => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -790,7 +790,7 @@ export class DownloadTable extends VirtualTable {
|
|||||||
const items = this.getSelectedItems();
|
const items = this.getSelectedItems();
|
||||||
const states = items.reduce((p, c) => p |= c.state, 0);
|
const states = items.reduce((p, c) => p |= c.state, 0);
|
||||||
|
|
||||||
if (!(states & DownloadState.PAUSEABLE)) {
|
if (!(states & DownloadState.PAUSABLE)) {
|
||||||
this.pauseAction.disabled = true;
|
this.pauseAction.disabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -828,7 +828,7 @@ export class DownloadTable extends VirtualTable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pauseDownloads() {
|
pauseDownloads() {
|
||||||
const sids = this.getSelectedSids(DownloadState.PAUSEABLE);
|
const sids = this.getSelectedSids(DownloadState.PAUSABLE);
|
||||||
if (!sids.length) {
|
if (!sids.length) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -100,10 +100,10 @@
|
|||||||
<li class="sep">
|
<li class="sep">
|
||||||
<hr>
|
<hr>
|
||||||
</li>
|
</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">
|
<img srcset="/style/button-manager.png, /style/button-manager@2x.png 2x">
|
||||||
<span data-i18n="manager.short"></span>
|
<span data-i18n="manager.short"></span>
|
||||||
</li> -->
|
</li>
|
||||||
<li id="prefs" data-action="open-prefs">
|
<li id="prefs" data-action="open-prefs">
|
||||||
<span class="icon icon-settings"></span>
|
<span class="icon icon-settings"></span>
|
||||||
<span data-i18n="prefs.short">Preferences</span>
|
<span data-i18n="prefs.short">Preferences</span>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</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" href="/style/icon32.png">
|
||||||
<link rel="icon" sizes="16x16" href="/style/icon16.png">
|
<link rel="icon" sizes="16x16" href="/style/icon16.png">
|
||||||
<link rel="icon" sizes="32x32" href="/style/icon32.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="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="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><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>
|
</div>
|
||||||
<label data-i18n="pref-theme"></label>
|
<label data-i18n="pref-theme"></label>
|
||||||
<div id="pref-theme">
|
<div id="pref-theme">
|
||||||
@ -59,7 +59,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<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-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-sounds"> <span data-i18n="pref-sounds"></span></label>
|
||||||
<label><input type="checkbox" id="pref-hide-context"> <span data-i18n="pref-hide-context"></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>
|
<button id="reset-layout" data-i18n="reset-layouts"></button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset style="display: none;">
|
<fieldset>
|
||||||
<legend data-i18n="pref.manager">Manager</legend>
|
<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-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>
|
<label><input type="checkbox" id="pref-show-urls"> <span data-i18n="pref-show-urls"></span></label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend data-i18n="pref.queueing">Queueing Downloads</legend>
|
<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><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-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-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>
|
<label><input type="checkbox" id="pref-remove-missing-on-init"> <span data-i18n="pref-remove-missing-on-init"></span></label>
|
||||||
|
@ -568,7 +568,6 @@ addEventListener("DOMContentLoaded", async () => {
|
|||||||
}
|
}
|
||||||
new BoolPref("pref-hide-context", "hide-context");
|
new BoolPref("pref-hide-context", "hide-context");
|
||||||
new BoolPref("pref-tooltip", "tooltip");
|
new BoolPref("pref-tooltip", "tooltip");
|
||||||
new BoolPref("pref-cookies", "cookies");
|
|
||||||
new BoolPref("pref-open-manager-on-queue", "open-manager-on-queue");
|
new BoolPref("pref-open-manager-on-queue", "open-manager-on-queue");
|
||||||
new BoolPref("pref-text-links", "text-links");
|
new BoolPref("pref-text-links", "text-links");
|
||||||
new BoolPref("pref-add-paused", "add-paused");
|
new BoolPref("pref-add-paused", "add-paused");
|
||||||
@ -642,9 +641,8 @@ addEventListener("DOMContentLoaded", async () => {
|
|||||||
$<HTMLInputElement>("#loadCustomLocale").addEventListener("click", () => {
|
$<HTMLInputElement>("#loadCustomLocale").addEventListener("click", () => {
|
||||||
customLocale.click();
|
customLocale.click();
|
||||||
});
|
});
|
||||||
$<HTMLInputElement>("#clearCustomLocale").
|
$<HTMLInputElement>("#clearCustomLocale").addEventListener("click", () => {
|
||||||
addEventListener("click", async () => {
|
saveCustomLocale(undefined);
|
||||||
await saveCustomLocale(undefined);
|
|
||||||
runtime.reload();
|
runtime.reload();
|
||||||
});
|
});
|
||||||
customLocale.addEventListener("change", async () => {
|
customLocale.addEventListener("change", async () => {
|
||||||
@ -664,9 +662,8 @@ addEventListener("DOMContentLoaded", async () => {
|
|||||||
reader.onerror = reject;
|
reader.onerror = reject;
|
||||||
reader.readAsText(file);
|
reader.readAsText(file);
|
||||||
});
|
});
|
||||||
await saveCustomLocale(text);
|
saveCustomLocale(text);
|
||||||
|
if (confirm("Imported your file.\nWant to relaod the extension now?")) {
|
||||||
if (confirm("Imported your file.\nWant to reload the extension now?")) {
|
|
||||||
runtime.reload();
|
runtime.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<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>
|
<style>
|
||||||
@import "/uikit/css/virtualtable.css";
|
@import "/uikit/css/virtualtable.css";
|
||||||
@import "/uikit/css/modal.css";
|
@import "/uikit/css/modal.css";
|
||||||
@ -75,17 +75,6 @@
|
|||||||
<input type="checkbox" id="maskOnceCheck">
|
<input type="checkbox" id="maskOnceCheck">
|
||||||
<span data-i18n="useonlyonce">Use only once</span>
|
<span data-i18n="useonlyonce">Use only once</span>
|
||||||
</label>
|
</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>
|
||||||
<section id="notification"></section>
|
<section id="notification"></section>
|
||||||
<section id="buttons">
|
<section id="buttons">
|
||||||
|
@ -7,7 +7,7 @@ import { ContextMenu } from "./contextmenu";
|
|||||||
import { iconForPath } from "../lib/windowutils";
|
import { iconForPath } from "../lib/windowutils";
|
||||||
import { _, localize } from "../lib/i18n";
|
import { _, localize } from "../lib/i18n";
|
||||||
import { Prefs } from "../lib/prefs";
|
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 { WindowState } from "./windowstate";
|
||||||
import { Dropdown } from "./dropdown";
|
import { Dropdown } from "./dropdown";
|
||||||
import { Keys } from "./keys";
|
import { Keys } from "./keys";
|
||||||
@ -43,7 +43,6 @@ const NUM_FILTER_CLASSES = 8;
|
|||||||
|
|
||||||
let Table: SelectionTable;
|
let Table: SelectionTable;
|
||||||
let Mask: Dropdown;
|
let Mask: Dropdown;
|
||||||
let OServer: Dropdown;
|
|
||||||
let FastFilter: Dropdown;
|
let FastFilter: Dropdown;
|
||||||
let Subfolder: Dropdown;
|
let Subfolder: Dropdown;
|
||||||
|
|
||||||
@ -434,12 +433,6 @@ class SelectionTable extends VirtualTable {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
Prefs.get("cookies").then(checked=>{
|
|
||||||
if ($<HTMLInputElement>("#cookiesCheck").checked != !!checked) {
|
|
||||||
$<HTMLInputElement>("#cookiesCheck").click();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
this.init();
|
this.init();
|
||||||
this.switchTab(type);
|
this.switchTab(type);
|
||||||
}
|
}
|
||||||
@ -685,10 +678,6 @@ async function download(paused = false) {
|
|||||||
if (!mask) {
|
if (!mask) {
|
||||||
throw new Error("error.invalidMask");
|
throw new Error("error.invalidMask");
|
||||||
}
|
}
|
||||||
const server = OServer.value;
|
|
||||||
if (!server) {
|
|
||||||
throw new Error("error.invalidServer");
|
|
||||||
}
|
|
||||||
const subfolder = Subfolder.value;
|
const subfolder = Subfolder.value;
|
||||||
validateSubfolder(subfolder);
|
validateSubfolder(subfolder);
|
||||||
|
|
||||||
@ -727,9 +716,6 @@ async function download(paused = false) {
|
|||||||
fastOnce: $<HTMLInputElement>("#fastOnceCheck").checked,
|
fastOnce: $<HTMLInputElement>("#fastOnceCheck").checked,
|
||||||
subfolder,
|
subfolder,
|
||||||
subfolderOnce: $<HTMLInputElement>("#subfolderOnceCheck").checked,
|
subfolderOnce: $<HTMLInputElement>("#subfolderOnceCheck").checked,
|
||||||
server,
|
|
||||||
serverOnce: $<HTMLInputElement>("#serverOnceCheck").checked,
|
|
||||||
cookies: $<HTMLInputElement>("#cookiesCheck").checked,
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -805,9 +791,7 @@ function cancel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
await Promise.all([MASK.init(), FASTFILTER.init(), SUBFOLDER.init(), SERVER.init()]);
|
await Promise.all([MASK.init(), FASTFILTER.init(), SUBFOLDER.init()]);
|
||||||
OServer = new Dropdown("#server", SERVER.values);
|
|
||||||
OServer.on("changed", clearErrors);
|
|
||||||
Mask = new Dropdown("#mask", MASK.values);
|
Mask = new Dropdown("#mask", MASK.values);
|
||||||
Mask.on("changed", clearErrors);
|
Mask.on("changed", clearErrors);
|
||||||
FastFilter = new Dropdown("#fast", FASTFILTER.values);
|
FastFilter = new Dropdown("#fast", FASTFILTER.values);
|
||||||
@ -906,6 +890,7 @@ addEventListener("DOMContentLoaded", function dom() {
|
|||||||
|
|
||||||
addEventListener("contextmenu", event => {
|
addEventListener("contextmenu", event => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<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>
|
<style>
|
||||||
@import "/uikit/css/modal.css";
|
@import "/uikit/css/modal.css";
|
||||||
@import "/style/single.css";
|
@import "/style/single.css";
|
||||||
@ -32,12 +32,12 @@
|
|||||||
<input type="text" id="URL">
|
<input type="text" id="URL">
|
||||||
<h2 data-i18n="custom-filename">Custom Filename</h2>
|
<h2 data-i18n="custom-filename">Custom Filename</h2>
|
||||||
<input type="text" id="filename">
|
<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">
|
<input type="text" id="referrer">
|
||||||
<h3 data-i18n="title" style="display: none;">Title</h3>
|
<h3 data-i18n="title">Title</h3>
|
||||||
<input type="text" id="title" style="display: none;">
|
<input type="text" id="title">
|
||||||
<h3 data-i18n="description" style="display: none;">Description</h3>
|
<h3 data-i18n="description">Description</h3>
|
||||||
<input type="text" id="description" style="display: none;">
|
<input type="text" id="description">
|
||||||
<h3 data-i18n="mask">Mask</h3>
|
<h3 data-i18n="mask">Mask</h3>
|
||||||
<div id="maskOptions">
|
<div id="maskOptions">
|
||||||
<input type="text" id="mask">
|
<input type="text" id="mask">
|
||||||
@ -47,18 +47,6 @@
|
|||||||
<span data-i18n="useonlyonce">Use only once</span>
|
<span data-i18n="useonlyonce">Use only once</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</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>
|
<h3 data-i18n="subfolder"></h3>
|
||||||
<div id="subfolderOptions">
|
<div id="subfolderOptions">
|
||||||
<input type="text" id="subfolder" data-i18n="placeholder=subfolder.placeholder">
|
<input type="text" id="subfolder" data-i18n="placeholder=subfolder.placeholder">
|
||||||
|
@ -4,10 +4,9 @@
|
|||||||
|
|
||||||
import ModalDialog from "../uikit/lib/modal";
|
import ModalDialog from "../uikit/lib/modal";
|
||||||
import { _, localize } from "../lib/i18n";
|
import { _, localize } from "../lib/i18n";
|
||||||
import { Prefs } from "../lib/prefs";
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
// eslint-disable-next-line no-unused-vars
|
||||||
import { Item, BaseItem } from "../lib/item";
|
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 { BatchGenerator } from "../lib/batches";
|
||||||
import { WindowState } from "./windowstate";
|
import { WindowState } from "./windowstate";
|
||||||
import { Dropdown } from "./dropdown";
|
import { Dropdown } from "./dropdown";
|
||||||
@ -23,7 +22,6 @@ const PORT = runtime.connect(null, { name: "single" });
|
|||||||
let ITEM: BaseItem;
|
let ITEM: BaseItem;
|
||||||
let Mask: Dropdown;
|
let Mask: Dropdown;
|
||||||
let Subfolder: Dropdown;
|
let Subfolder: Dropdown;
|
||||||
let OServer: Dropdown;
|
|
||||||
|
|
||||||
class BatchModalDialog extends ModalDialog {
|
class BatchModalDialog extends ModalDialog {
|
||||||
private readonly gen: BatchGenerator;
|
private readonly gen: BatchGenerator;
|
||||||
@ -133,11 +131,6 @@ async function downloadInternal(paused: boolean) {
|
|||||||
return displayError("error.invalidMask");
|
return displayError("error.invalidMask");
|
||||||
}
|
}
|
||||||
|
|
||||||
const server = OServer.value;
|
|
||||||
if (!server) {
|
|
||||||
throw new Error("error.invalidServer");
|
|
||||||
}
|
|
||||||
|
|
||||||
const subfolder = Subfolder.value.trim();
|
const subfolder = Subfolder.value.trim();
|
||||||
validateSubFolder(subfolder);
|
validateSubFolder(subfolder);
|
||||||
|
|
||||||
@ -206,9 +199,6 @@ async function downloadInternal(paused: boolean) {
|
|||||||
maskOnce: $<HTMLInputElement>("#maskOnceCheck").checked,
|
maskOnce: $<HTMLInputElement>("#maskOnceCheck").checked,
|
||||||
subfolder,
|
subfolder,
|
||||||
subfolderOnce: $<HTMLInputElement>("#subfolderOnceCheck").checked,
|
subfolderOnce: $<HTMLInputElement>("#subfolderOnceCheck").checked,
|
||||||
server,
|
|
||||||
serverOnce: $<HTMLInputElement>("#serverOnceCheck").checked,
|
|
||||||
cookies: $<HTMLInputElement>("#cookiesCheck").checked,
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return null;
|
return null;
|
||||||
@ -225,15 +215,9 @@ function cancel() {
|
|||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
await localize(document.documentElement);
|
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);
|
Mask = new Dropdown("#mask", MASK.values);
|
||||||
Subfolder = new Dropdown("#subfolder", SUBFOLDER.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() {
|
addEventListener("DOMContentLoaded", async function dom() {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
// License: MIT
|
// License: MIT
|
||||||
|
|
||||||
export function $<T extends HTMLElement>(
|
export function $<T extends HTMLElement>(
|
||||||
q: string, el?: HTMLElement | DocumentFragment | Document): T {
|
q: string, el?: HTMLElement | DocumentFragment): T {
|
||||||
if (!el) {
|
if (!el) {
|
||||||
el = document;
|
el = document;
|
||||||
}
|
}
|
||||||
|