diff --git a/CHANGELOG.txt b/CHANGELOG.txt index fc7e841..ea636be 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,14 @@ ------------------------------------------------------------------------------- -0.5.1 RC1 by The SABnzbd-Team + 0.5.2 RC2 by The SABnzbd-Team +------------------------------------------------------------------------------- +- Accept comma-separated email address in "email_to" option. +- Allow manual retry of URL-based NZB fetches when a bad NZB is received +- Add INI-file option "size_limit" that sets any oversized job + to paused and low priority. +- Added French translation of email template +- Add Danish translation +------------------------------------------------------------------------------- + 0.5.1 RC1 by The SABnzbd-Team ------------------------------------------------------------------------------- - Add 'size_limit' option. Any job bigger than this limit will be set to low priority and be paused. diff --git a/interfaces/Mobile/language/dk-da.txt b/interfaces/Mobile/language/dk-da.txt new file mode 100644 index 0000000..c6f5b65 --- /dev/null +++ b/interfaces/Mobile/language/dk-da.txt @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# Dansk # Danmark +# Translation by "René (Jarhead) Larsen" +# Mobile + +# misc +button-prev ForegÃ¥ende +button-next Næste +button-refresh Opdatere +button-close Luk +button-options Alternativ +page Side +confirm-delete Er du sikker pÃ¥ at du vil slette +warnings Advarsler +button-purgeQ Tom kø +confirm-purgeQ Vil du virkelig tømme køen? +button-purgeH Tøm historik +confirm-purgeH Vil du virkelig tømme historiken? +left Venster + +# pause interval +button-pauseInterval Sæt pauseinterval +pauseInterval Pauseinterval +pause5m Pause 5 minutter +pause15m Pause 15 minutter +pause30m Pause 30 minutter +pause1h Pause 1 time +pause3h Pause 3 timer +pause6h Pause 6 timer +pause12h Pause 12 timer +pause24h Pause 24 timer + +# queue sort +sort Sortere +sortAgeAsc Sortere efter alder Ældst→Nyeste +sortAgeDesc Sortere efter alder Nyeste→Ældst +sortNameAsc Sortere efter navn A→Z +sortNameDesc Sortere efter navn Z→A +sortSizeAsc Sortere efter størrelse Mindst→Størst +sortSizeDesc Sortere efter størrelse Størst→Mindst diff --git a/interfaces/Plush/language/dk-da.txt b/interfaces/Plush/language/dk-da.txt new file mode 100644 index 0000000..da13423 --- /dev/null +++ b/interfaces/Plush/language/dk-da.txt @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +# Dansk # Danmark +# Translation by "René (Jarhead) Larsen" +# Plush + +# Menu +maxSpeed Max hastighed +options Plush Instillninger +refreshRate Opdateringsinterval +confirmDeleteQueue Bekræft Kø-fjernelse +confirmDeleteHistory Bekræft Historik-fjernelse +blockRefresh Block Refreshes on Hover +explain-blockRefresh Dette vil forhindre indhold i at blive opdateret nÃ¥r musens markør kører hen over køen +disabled Deaktiveret +addnzb Tilføj NZB +fetch Hente +uploadTip Upload: .nzb .rar .zip .gz +sort Sortere +sortAgeAsc Sortere efter Alder (Ældst→Nyeste) +sortAgeDesc Sortera efter Alder (Nyeste→Ældst) +sortNameAsc Sortere efter Navn (A→Z) +sortNameDesc Sortere efter Navn (Z→A) +sortSizeAsc Sortere efter Størrelse (Mindst→Størst) +sortSizeDesc Sortere efter Størrelse (Størst→Mindst) +pause5m Pause 5 minutter +pause15m Pause 15 minutter +pause30m Pause 30 minutter +pause1h Pause 1 time +pause3h Pause 3 timer +pause6h Pause 6 timer +pauseFor Pause i... +pauseForPrompt Pause i hvor mange minutter? +purge Slet +onQueueFinish Ved afslutning +warnings Advarsler +updateAvailable Opdatering tilgængelig +cmenu-scheduling Skabalon + +# General +button-refresh Opdatere +left tilbage +page side +everything Alt +prev ForegÃ¥ende +next Næste +confirm Er du sikker? +confirmWithoutSavingPrompt Ændringerne er ikke gemt og vil blive mistet. +nzo-range Omfang +progress Fremgang + +# Queue +idle Venter +remaining Resterende +notEnoughSpace Ikke nok diskplads til at fuldføre downloads. +freeSpace Ledig diskplas +freeSpaceTemp Ledig tempdiskplads +confirmPurgeQ Tøm køen? + +# History +total Totalt +thisWeek Denne uge +thisMonth Denne mÃ¥ned +openSourceURL Ã…bn kildekode URL +openInfoURL Ã…bn informations URL +path Genvej +storage Opbevaring +viewScriptLog Vis scriptlogg +confirmPurgeH Tøm historiken? diff --git a/interfaces/smpl/language/dk-da.txt b/interfaces/smpl/language/dk-da.txt new file mode 100644 index 0000000..b57dc65 --- /dev/null +++ b/interfaces/smpl/language/dk-da.txt @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# Dansk # Danmark +# Translation by "René (Jarhead) Larsen" + +thisWeek Denne uge +thisMonth Denne mÃ¥ned +size Størrelse +links Links +first Førsta +previous ForegÃ¥ende +next Næste +last Sidste +edit Rediger +editDetails Rediger detaljer +showEdit Vis Redigeringsalternativ +hideEdit Skjul Redigeringsalternativ +timeleft Resterende tid +purgeQueue Fjern alle +progress Arbejder +delete Slet +downloading Downloader +idle Venter +paused Pauset +emailsent Sendt E-mail! +saving Gemmer.. +saved Gemt +failed Mislykkedes +speed Hastighed +toggleadd Vis/Skjul Tilføj NZB +refresr Opdateringsfrekvens +restartOK? Er du sikker pÃ¥ at du vil genstarte SABnzbd? +warnings Advarsler +getbookmarks Hent bogmærker +purgefailhistOK? Slet alle mislykkedes emner fra historiken? +purgehist Fjern alle +purgefailhist Fjern alle mislykket emner +path Genvej +age Alder +speed Hastighed +numresults@3 Viser %s til %s af %s resultat +oneresult Viser 1 resultat +noresult Ingen resultater +custom Tilpasse +dualView1 Flerskærme1 +dualView2 Flerskærme2 +eta ETA +refreshr Opdateringsfrekvens diff --git a/interfaces/wizard/language/dk-da.txt b/interfaces/wizard/language/dk-da.txt new file mode 100644 index 0000000..4484fab --- /dev/null +++ b/interfaces/wizard/language/dk-da.txt @@ -0,0 +1,54 @@ +# -*- coding: utf-8 -*- +# Dansk # Danmark +# Translation by "René (Jarhead) Larsen" + +quickstart SABnzbd Hurtigstart’s Guide +version SABnzbd Version + +previous ForegÃ¥ende +next Næste +zoom Zoome + +skin Udseende +explain-skin Hvilket udseende vil du anvende til SABnzbd? + +access Adgang +access-anypc Jeg ønsker at SABnzbd skal være synlige fra enhver pc pÃ¥ netværket. +access-mypc Jeg ønsker kun at SABnzbd skal være synlige fra min computer. +access-pass Password beskytte adgangen til SABnzbd (anbefales) +access-https Aktiver HTTPS-adgang til SABnzbd. + +misc Diverse +misc-browser Start webbrowseren med SABnzbd's siden nÃ¥r programmet startes. + +server Serverdetaljer +explain-server Angiv detaljerne fra din primære usenet udbyder. +server-help Hjælp +server-help1 For at hente fra usenet kræves der adgang fra en udbyder. Din internetudbyder kan give dig adgang, men en præmie udbyder anbefales. +server-help2@1 Har du ingen usenet leverandør? Vi anbefaler at prøve %s. +server-con-explain Antallet af forbindelser tilladt af din udbyder +server-ssl-explain Vælg kun hvis din udbyder tillader SSL-forbindelser. +server-text Klik for at teste de indtastede informationer. +server-required Dette fælt kræves. +server-number Angiv et helt tal. + +index-explain Hvis du er medlem af newzbin eller nzbmatrix, kan du indtaste dit brugernavn og password her, sÃ¥ du kan hente deres nzb's. Denne fase kan springes over, hvis du ikke bruger nogen af disse tjenester. +index-bookmark Hent automatisk bogmærket poster. +optional Valgfrit +example Eks. +button-testServer Test Server + +restarting Genstarter SABnzbd... +complete Installationen er nu fuldført! +tip1 SABnzbd vil nu køre i baggrunden. +tip2 Lukning af alle browservinduer / faneblade vil ikke lukke SABnzbd. +tip3@1 Efter SABnzbd er færdig med genstart vil du kunne fÃ¥ adgang til det pÃ¥ følgende placering: %s +tip4 Det anbefales, at du højreklikker og bogmærker denne placering, og bruger dette bogmærke for at fÃ¥ adgang SABnzbd, nÃ¥r det kører i baggrunden. +tip-wiki Øvrig hjælp kan du finde pÃ¥ vores +goto GÃ¥ til SABnzbd + +step-one Trin et +step-two Trin to +step-three Trin tre +step-four Trin fire +step-five Trin fem diff --git a/interfaces/wizard/static/images/flags/dk-da.png b/interfaces/wizard/static/images/flags/dk-da.png new file mode 100644 index 0000000..76b842d Binary files /dev/null and b/interfaces/wizard/static/images/flags/dk-da.png differ diff --git a/language/de-de.txt b/language/de-de.txt index 501ce80..c41a739 100644 --- a/language/de-de.txt +++ b/language/de-de.txt @@ -624,7 +624,7 @@ warn-apikeyBad API-Schlüssel ungültig. Bitte API-Schlüssel aus\ eingeben: error-noSecUI Fehler: Keine sekundäre Oberfläche angegeben. -his-badArchive Fehlgeschlagen. Unültige Archiv-Datei. +his-badArchive Ungültige NZB-Datei. his-cannotGetReport Abrufen des Newzbin-Berichts fehlgeschlagen his-failedURL Hinzufügen der URL fehlgeschlagen his-retryURL1@1 Abrufen der URL fehlgeschlagen; %s diff --git a/language/dk-da.txt b/language/dk-da.txt new file mode 100644 index 0000000..5f7fd22 --- /dev/null +++ b/language/dk-da.txt @@ -0,0 +1,824 @@ +# -*- coding: utf-8 -*- +# Dansk # Danmark +# Translation by "René (Jarhead) Larsen" +# Jeg modtager gerne rettelser/forbedringer af oversættelsen til SABnzbd. + +special-decimal . +special-1000 , + +# General texts +yes Ja +no Nej +default Standard +none Ingen +KBs KB/s +MB MB +GB GB +hour time +hours timer +minute minut +minutes minutter +second sekund +seconds sekunder +month MÃ¥ned +year Ã…r +day Dag +days Dage +daily Daglig +monday Mandag +tuesday Tirsdag +wednesday Onsdag +thursday Torsdag +friday Fredag +saturday Lørdag +sunday Søndag +day-of-month MÃ¥nedsdag +filename Filnavn + +# General template elements +signOn Det automatiske usenet downloads værktøj +button-save Gem +queued I Kø +button-back Tilbage +button-x X + +# Header +menu-home Hjem +menu-queue Kø +menu-history Historik +menu-config Konfiguration +menu-cons Forbindelser +menu-help Hjælp +menu-wiki Wiki +menu-forums Forum +menu-irc IRC +cmenu-general Generelt +cmenu-folders Mapper +cmenu-switches Switchar +cmenu-servers Server +cmenu-scheduling Planlægning +cmenu-rss RSS +cmenu-email E-mail +cmenu-newzbin Index-sider +cmenu-cat Kategorier +cmenu-sorting Sortering + +# Footer +ft-download Midlertidig download mappe +ft-complete Færdige download mappe +ft-speed Download hastighed +ft-queued I Køen +ft-paused PAUSET +ft-buffer@2 Cached %s artikler (%s) +ft-sysload Sysload +ft-warning ADVARSLER +ft-newRelease@1 Ny version %s tilgængelig + +# Main page +addNewJobs Tilføj nye downloads +shutdownOK? Er du sikker pÃ¥ du vil lukke SABnzbd? +link-shutdown Luk ned +link-pause Pause +link-resume Genoptag +button-add Tilføj +reportId Rapport-id +addFile Tilføj fil +category Kategori +pp Forløb +script Script +priority Prioritet +pp-none Download +pp-repair +Reparere +pp-unpack +Udpakke +pp-delete +Slette +pp-n +pp-r R +pp-u P +pp-d T +pr-force Tvinge +pr-normal Normal +pr-high Høj +pr-low Lav +enterURL URL +enterID  eller Report ID + +# Queue page +link-sortByName Sortere efter navn +link-sortByAge Sortere efter alder +link-sortBySize Sortere efter størrelse +link-hideFiles Skjul filer +link-showFiles Vis filer +onQueueFinish NÃ¥r køen er færdig +shutdownPc Luk computer +standbyPc Sæt computer i standby +hibernatePc Sæt computer I dvale +shutdownSab Afslut SABnzbd +speedLimit Hastighedsbrgrænsning +pauseFor Pause for +mode Forløb +order Sortering +name Navn +remainTotal Tilbage/Totalt +eta ETA +age Ã…r +button-del Fjern +button-resume Genoptag +button-pause Pause +unknown Ukendt +fetchingNewzbin@1 henter msgid %s fra www.newzbin.com +error-fetchNewzbin@1 Fejl ved hentning af msgid %s fra www.newzbin.com -\ + Sørg for at dit brugernavn og kodeord er fastsat +fetchNZB@1 Forsøger at hente NZB fra %s +eoq-actions Actions +eoq-scripts Scripts +purgeQueue Fjern køen +purgeQueueConf Fjern alt fra køen? + +# History page +purgeHist Slet Historik +purgeHistConf Fjern alt fra historiken? +hideDetails Gem detaljer +showDetails Vis detaljer +sizeHist Størrelse af Historik +completed Færdig +size Størrelse +status Status +msg-reAdded@1 Job "%s" er genoptaget i køen + +# Connections page +link-forceDisc Gennemtving afbrydelse +askTestEmail Dette vil sende en test E-mail til din konto. +link-showLog Vis log +link-showWeblog Vis webblog +link-testEmail Test E-mail +logging Logging +log-errWarn Fejl/Advarsel +log-info + Info +log-debug + Fejl +connections Forbindelser +thread TrÃ¥d +emailResult E-mail testresultat +lastWarnings Seneste advarsler +clearWarnings Slet +server-blocked Ophæv blokering +warning ADVARSEL: +error FEJL: +server-resolving   Server løsning + +# Configuration +configuration Konfiguration +confgFile Konfigurations fil +explain-Restart Knappen nedenfor vil genstarte SABnzbd..\n\ + Andvend den hvis du oplever stabilitets problem.\n\ + Downlodning vil blive sat pÃ¥ pause før genstart og genoptages automatisk igen efter genstart. +button-restart Genstart +version Version +uptime Oppetid +error Fejl +badParm Fejl parameter +error-badValue@2 Fejl værdi før %s: %s +error-noFolder@1 Mappen "%s" findes ikke +error-QnotEmpty Fejl: Køen er ikke tom, kan ikke skifte mappe. +error-noUNC@1 UNC søgning "%s" er ikke tilladt her +error-notOctal@1 %s er ikke et korrekt ciffer værdi + +# Config->General +generalConfig Generel konfiguration +restartRequired Ændringer kræver genstart af SABnzbd! +webServer SABnzbd Webserver +opt-host SABnzbd Adresse +explain-host Adresse som SABnzbd ska lytte pÃ¥. +opt-port SABnzbd Port +explain-port Port som SABnzbd ska lytte pÃ¥. +opt-web_dir Web-grænseflade udseende +explain-web_dir Vælg et Web-grænseflade udseende. +opt-web_dir2 Andet udseende +explain-web_dir2 Aktivere et alternativ udseende. +webAuth Webserver godkendelse +opt-web_username SABnzbd brugernavn +explain-web_username Valgfri godkendelse brugernavn. +opt-web_password SABnzbd password +explain-web_password Valgfri godkendelses password. +httpsSupport HTTPS Support +opt-enable_https HTTPS Aktivering +opt-notInstalled (ikke installeret) +explain-enable_https Aktiver adgang til interface fra en HTTPS-adresse. +opt-https_port HTTPS Port +explain-https_port Port som SABnzbd ska lytte til pÃ¥ for HTTPS kommunikation. +opt-https_cert HTTPS Certifikat +explain-https_cert Filnavn eller sti til HTTPS Certifikat. +opt-https_key HTTPS Nøgle +explain-https_key Filnavn eller sti til HTTPS Nøgle. +tuning Justeringer +opt-refresh_rate Automatisk opdaterings interval af kø: +explain-refresh_rate opdaterings interval af kø-siden (sek, 0= ingen). +opt-rss_rate RSS Opdaterings interval +explain-rss_rate Opdaterings interval (i minutter, mindst 15). +opt-bandwidth_limit Hastighedsbegrænsning for Download +explain-bandwidth_limit Hastighedsbegrænsning for Download (i KB/s - kilobyte per sekund). +opt-cache_limitstr Cache størrelse af artikler +explain-cache_limitstr Cache artikler i hukommelsen for at reducere diskadgang.\n\ + I bytes, efterfulgt af K,M,G. For eksempel: "64M" eller "128M" +opt-cleanup_list Rens listen +explain-cleanup_list Liste over filtypenavne, der skal slettes efter download.\n\ + . For eksempel: .nfo or .nfo, .sfv +button-saveChanges Gem ændringer +opt-language Sprog +explain-language Vælg et web-grænseflade sprog. +opt-apikey API-nøgle +explain-apikey Denne nøgle giver tredjepartsprogrammer adgang til SABnzbd. +button-apikey Generere Ny Nøgle +opt-disableApikey Deaktivere API-nøgle +explain-disableApikey Kræver ingen API-nøgle. +explain-disableApikeyWarn ANDVEND PÃ… EGEN RISIKO! +restart1 Forbereder genstart...\n +restart2  \n\ + SABnzbd genstart færdig.\n\ + Vent i ca 5 sekunder og klik derefter pÃ¥ knappen nedenunder..\n\n\ + Opdater\n + +# Config->Folders +folderConfig Mappe konfiguration +explain-folderConfig OBS: Mapper vil blive oprettet automatisk, nÃ¥r du gemmer. Du kan bruge absolutte stier til at gemme uden for standardmapperne. +userFolders Brugermapper +in I +opt-download_dir Midlertidig download mappe +explain-download_dir Beliggenhed at gemme uforarbejdede downloads.\n\ + Kan kun ændres, nÃ¥r køen er tom. +opt-download_free Minimum fri plads til midlertidige download mappe +explain-download_ Auto pause, nÃ¥r den ledige plads er under denne værdi.\n\ + I bytes, efterfulgt af K,M,G,T. For eksempel: "800M" or "8G" +opt-complete_dir Færdig download mappe +explain-complete_dir Beliggenhed at opbevare færdigt, fuldt forarbejdede downloads.\n\ + Kan tilsidesættes af bruger definerede kategorier. +opt-permissions Tilladelser til fuldførte overførsler +explain-permissions Angive tilladelses mønster for afsluttede filer.\n\ + Anvend ciffer. For eksempel: "755" eller "777" +opt-dirscan_dir OvervÃ¥get Mappe +explain-dirscan_dir Mappe til at gennemsøge for. Nzb filer.\n\ + Skanner ogsÃ¥ for .zip .rar og .tar.gz arkiver efter .nzb filer. +opt-dirscan_speed Skannings interval for overvÃ¥get mappe +explain-dirscan_speed Sekunder mellem skanninger for .nzb filer. +opt-script_dir Efterbehandlings scripts mappe +explain-script_dir Mappe, der indeholder bruger scripts til efterbehandling. +opt-email_dir E-mail-mappe skabeloner +explain-email_dir Mappe, der indeholder brugerdefinerede e-mail-skabeloner. +systemFolders Systemmapper +opt-cache_dir Midlertidig-mappe +explain-cache_dir Placering til midlertidig lagring.\n\ + Kan kun ændres, nÃ¥r køen er tom.\n\ + Kræver genstart af SABnzbd! +opt-log_dir Log mappe +explain-log_dir Placering af logfiler for SABnzbd.\n\ + Kræver genstart af SABnzbd! +opt-nzb_backup_dir .nzb Backup mappe +explain-nzb_backup_dir Sted hvor .nzb filer gemmes. + +# Config->Switches +switchesConfig Parameterkonfiguration +processingSwitches Forløbs parameter +opt-quick_check Aktiver hurtig tjek +explain-quick_check Spring par2 kontrol over, nÃ¥r filerne er 100% gyldige. +opt-enable_unrar Aktivere Unrar +explain-enable_unrar Aktivere indbygget Unrar funktion. +opt-enable_unzip Aktivere Unzip +explain-enable_unzip Aktivere indbygget Unzip funktion. +opt-enable_filejoin Aktiver Fil Sammenføjning (Filejoin) +explain-enable_filejoin Sammenføjer filer, der ender med .001, ,002 osv. i én fil.001, .002 osv. til en fil. +opt-enable_tsjoin Aktivere TS Sammenføjning (TS Joining) +explain-ts_join Sammenføjer filer, der ender med, 001.ts, .002.ts etc. til en fil. +opt-enable_par_cleanup Aktiver Par rensning (Par Cleanup) +explain-enable_par_cleanup Oprydning af par filer (hvis kontrollerede / reparation lykkedes). +opt-fail_on_crc Ved fejl pÃ¥ yEnc CRC +explain-fail_on_crc Anvend backup-server ved yEnc CRC fejl. +opt-top_only Kun artiklerne fra starten af køen +explain-top_only Aktiver til mindre brug af hukommelse. Deaktiver for at forhindre langsom job fra at blokerer køen +opt-safe_postproc Efterbehandling kun verificerede jobs +explain-safe_postproc Kun udføre efterbehandling af jobs som har bestÃ¥et PAR2 kontrollen. +opt-no_dupes Forhindre downloadnings dubletter +explain-no_dupes Spring et job over hvis .nzb med samme navn allerede findes. +opt-dirscan_opts Standard efterbehandling +explain-dirscan_opts Anvedes nÃ¥r efterbehandlingen er bestemt efter kategori. +opt-dirscan_script Standard bruger scripts +explain-dirscan_script Anvendes nÃ¥r bruger scripts er bestemt efter kategori. +opt-dirscan_priority Standard prioritet +explain-dirscan_priority Anvendes nÃ¥r ingen prioritet er bestemt af kategori. +opt-par_option Ekstra PAR2 parameter +explain-par_option Læs mere om dette pÃ¥ Wiki Help! +opt-par2_multicore Aktivere MultiCore Par2 +explain-par2_multicore Læs mere om dette pÃ¥ Wiki Help! +opt-nice God parameter +explain-nice Læs mere om dette pÃ¥ Wiki Help! +opt-ionice IONice parametrar +explain-ionice Læs mere om dette pÃ¥ Wiki Help! +otherSwitches Andre parameter +opt-auto_disconnect Afbryd nÃ¥r køen er tom +explain-auto_disconnect Afbryd fra usenet serverne nÃ¥r køn er tom eller pauset. +opt-send_group Send gruppe +explain-send_group Send gruppe kommandoen, før du anmoder om artikler. +opt-auto_sort Sortere efter alder +explain-auto_sort Sortere automatisk efter (gennemsnits) alder. +opt-check_new_rel Kontroller for ny version +explain-check_new_rel Kontroller for ny version af SABnzbd hver uge. +opt-replace_spaces Erstat mellemrum i mappenavn +explain-replace_spaces Erstat mellemrum med understreg i mappenavn. +opt-replace_illegal Erstat ugyldige tegn i mappenavn. +explain-replace_illegal Erstat ugyldige tegn i mappenavn med modsvarende tegn (ellers fjern). +opt-auto_browser Start web browser ved opstart +explain-auto_browser Starter standard web browser nÃ¥r SABnzbd starter. +opt-pause_on_post_processing Pause downloading under efterbehandling +explain-pause_on_post_processing Pauser downloadet i begyndelsen af efterbehandling og igen nÃ¥r den er færdig. +opt-ignore_samples Ignorer Sample-filer +explain-ignore_samples Filtrerer prøve filer (f.eks. video eksempler). +igsam-off Slukket +igsam-del Fjern efter download +igsam-not Download ikke. +opt-ssl_type SSL type +explain-ssl_type Anvend V23 hvis ikke din leverandør (ISP) kræver andet! + + +# Config->Server +configServer Serverkonfiguration +addServer Tilføj server +srv-host Adresse +srv-port Port +srv-username Brugernavn +srv-password Password +srv-timeout Timeout +srv-connections Forbindelser +srv-ssl SSL +srv-fillserver Backup server +srv-optional Valgfri +srv-enable Aktivere +button-addServer Tilføj server +button-delServer Fjern server +error-needServer Kræver serveradresse +button-testServer Testserver +srv-testing Tester serverdetaljer... +srv-testHint Klik nedenfor for at teste. +srv-success Tilslutning lykkedes! +srv-noHost Værtsnavnet er ikke indstillet. +srv-noConnections Der er ingen forbindelser angivet. Angiv mindst én forbindelse. +srv-starredPass Password maskeret med ******, forsøg igen +srv-invalidDetails Ugyldige serverdetaljer +srv-timedoutSSL Timeout: Forsøg at aktivere SSL eller tilslut via en anden port. +srv-timedout Timeout +srv-failedAuth Godkendelse mislykkedes, kontrollere brugernavn / adgangskode. +srv-noAuth Serveren kræver brugernavn og password. +srv-tooManyConnections Alt for mange forbindelser, pause en download eller forsøg igen senere +srv-generalFail@1 Det lykkedes ikke at tilslutte (%s) + +# Config->Scheduling +configSchedule Planlægningskonfiguration +addSchedule Opret planlægning +sch-frequency Forekomst +sch-action Udfør +sch-arguments Argumenter +button-addSchedule Tilføj planlægning +button-delSchedule Fjern +currentSchedules Aktuel planlægning +sch-task Opgave +sch-disable_server deaktivere server +sch-enable_server aktivere server +sch-resume Genoptag +sch-pause Pause +sch-shutdown Luk ned +sch-restart Genstart +sch-speedlimit Hastighedsbegrænsning +sch-pause_all Pause alt + +# Config->RSS +configRSS RSS-konfiguration +newFeedURI Ny feedwebadresse +explain-RSS Afkrydsningsfeltet ud for feed navn skal afkrydses for at feeds vil være aktiveret og automatisk kontrolleres for nye emner.\n\ + Kontrol frekvens er pÃ¥ den almindelige side af konfigurationen.\n\ + NÃ¥r et feed er tilføjet, vil det kun hente nye informationer og ikke noget, der allerede findes i RSS-feed, medmindre du trykker pÃ¥ "Force Download". +feedDefinition Feed Definition +feed Feed +button-delFeed Fjern Feeds +button-preFeed Vis +button-forceFeed Gennemtving download +rss-order Sortering +rss-type Type +rss-filter Filter +rss-accept Acceptere +rss-reject Afvise +rss-must Krav +rss-delFilter X +rss-matched Matchede +rss-notMatched Matchede ikke +rss-done Hentet +rss-downloaded Hentet indtil videre +link-download Download +explain-rssStar Jobs markeret med '*' vil ikke blive hentet automatisk. + +# Config->Email +configEmail E-mail pÃ¥mindelse +emailOptions E-mail alternativ +opt-email_endjob E-mail pÃ¥mindelse nÃ¥r job er fuldført +email-never Aldrig +email-always Altid +email-errorOnly Kun ved fejl +opt-email_full PÃ¥mindelse nÃ¥r harddisk er fyldt +explain-email_full Send e-mail nÃ¥r harddisken er fyldt og SABnzbd er pauset. +opt-email_dir Mappe med e-mail temaer +explain-email_dir Mappe som indeholder bruger definerede temaer..\n\ + I forhold til +emailAccount E-mail kontoinstillinger +opt-email_server SMTP Server +explain-email_server Indtast ISP's server for udgÃ¥ende e-mail. +opt-email_to E-mail modtagere +explain-email_to E-mail adresse hvor den skal sendes til. +opt-email_from E-mail sendere +explain-email_from Hvem skal vi sige sendte e-mailen? +opt-email_account VALGFRIT konto brugernavn +explain-email_account Brugernavn for e-mail som kræver godkendelse. +opt-email_pwd VALGFRIT Bruger password +explain-email_pwd Password for e-mail som kræver godkendelse. +error-badEmailAd@1 %s er ikke en godkendt e-mail adresse + +# Config->Newzbin +explain-newzbin Hvis du har en konto til www.newzbin.com,\ + kan du skrive dine bruger informationer her.\n\ + Dette vil frigøre ekstra funktionalitet. +accountInfo Brugerinformationer +opt-username_newzbin Newzbin Brugernavn +explain-username_newzbin Indtast dit brugernavn her. +opt-password_newzbin Newzbin Password +explain-password_newzbin Indtast dit password her. +newzbinBookmarks HÃ¥ndtering af bogmærker +opt-newzbin_bookmarks Hent bogmærker automatisk +explain-newzbin_bookmarks Henter jobs fra bogmærker automatisk. +link-getBookmarks Hent bogmærker nu. +link-HideBM Gem bearbejdede bogmærker. +link-ShowBM Vis bearbejdede bogmærker. +opt-newzbin_unbookmark Fjern bogmærker efter downloadning. +explain-newzbin_unbookmark Fjern fra bogmærkelisten nÃ¥r downloadning er gennemført. +opt-bookmark_rate Opdaterings interval +explain-bookmark_rate I minutter (mindst 15 min). +processedBM Bearbejdede bogmærker +explain-nzbmatrix Hvis du har en konto til www.nzbmatrix.com,\ + kan du skrive dine bruger informationer her.\n\ + Dette er nødvendigt, hvis du ønsker at bruge RSS-feeds pÃ¥ nzbmatrix. +opt-username_matrix NzbMatrix Brugernavn +explain-username_matrix Indtast dit brugernavn her. +opt-password_matrix NzbMatrix Password +explain-password_matrix Indtast dit password her. +opt-apikey_matrix NzbMatrix API-nøgle +explain-apikey_matrix Indtast API-nøglen til NzbMatrix her. + +# Config->Cat +configCat Bruger definerede kategorier +explain-configCat Definerer post-behandling og opbevaring. +explain-catNewzbin The Newzbin column will map listed Newzbin categories to your own. +link-initCat Klik her for at oprette newzbin kategorier. +explain-relFolder Relative mapper er baseret pÃ¥ +catFolderPath Mappe/Søgesti +catNewzbin NewzBin +catGroups Grupper +button-delCat X + +# Config->Sorting +configSort Sorteringskonfiguration +seriesSorting Seriesortering +sort-show Show +sort-name Navn +opt-tvsort Aktivere TV sortering +explain-tvsort Aktiverer sortering og omdøbning af episoder. +sort-legenda Hjælp til Sorteringsstræng +button-clear Fjern +presetSort Forudindstillinger +example Eksempel +genericSort Almindelig sortering +opt-movieSort Aktivere filmsortering +explain-movieSort Aktiverer sortering og omdøbning af filer. +opt-movieExtra Behold løse download i ekstra mapper +explain-movieExtra Aktivere hvis ikke download er flyttet til egen mappe. +affectedCat PÃ¥virkede Kategorier +sort-meaning Betyder +sort-pattern Mønster +sort-result Resultat +button-Season1x05 1x05 Sæsonmappe +button-SeasonS01E05 S01E05 Sæsonmappe +button-Ep1x05 1x05 Episodemappe +button-EpS01E05 S01E05 Episodemappe +sort-title Titel +movie-sp-name Film Navn +movie-dot-name Film.Navn +movie-us-name Film_Navn +show-name Show Navn +show-sp-name Show Navn +show-dot-name Show. Navn +show-us-name Show_ Navn +show-seasonNum Sæsonnummer +show-epNum Episodenummer +ep-name Episodenavn +ep-sp-name Episodenavn +ep-dot-name Episode.Navn +ep-us-name Episode_Navn +fileExt Filendelse +extension endelse +partNumber Delnummer +decade Ã…rti +orgFilename Originalfilnavn +lowercase SmÃ¥ bogstaver +TEXT TEXT +text text +sort-File fil +sortString Sorteringsstræng +multiPartLabel Multi-del etikette +button-inFolders In mappe +button-noFolders Ingen mappe +dateSorting Dato sortering +opt-dateSort Aktivere datosortering +explain-dateSort Aktiverer sortering og omdøbning af datomarkeret filer. +button-ShowNameF Vis Navn pÃ¥ mappe +button-YMF Ã…r-MÃ¥ned mapper +button-DailyF Daglige mapper + +# NZO +nzoDetails Ændre NZB detaljer +nzoName Navn +nzo-delete Fjern +nzo-top Top +nzo-up Op +nzo-down Ned +nzo-bottom Bunden +nzo-all Alle +nzo-none Ingen +nzo-invert Invertere +nzo-filename Filnavn +nzo-subject Emne +nzo-age Ã…r +nzo-selection Udvælgelse + +# Internal texts +msg-warning-ambiLocalhost Varning: Localhost er tvetydig, bruge numerisk IP-adresse. +msg-invalidServer@2 Serveradressen "%s:%s" er ikke gyldigt. + +warn-missingKey Mangler sessionsnøgle +error-missingKey Fejl: Kræver sessionsnøgle +warn-badSession Forkert sessionsnøgle +error-badKey Fejl: Fejl sessionsnøgle +warn-authMissing Brugeroplysninger mangler, indtast brugernavn / password fra Konfiguration-> Generelt\ + i dit tredjepartsprogram: +error-authMissing Fejl: Mangler brugeradgang +warn-apikeyNone API-nøgle mangler, indtast api-nøglen fra Konfiguration-> Generelt\ + i dit tredjepartsprogram: +warn-apikeyBad Forkert API-nøgle, anvend api-nøglen fra Konfiguration-> Generelt\ + i dit tredjepartsprogram: +error-noSecUI Fejl: Ingen sekundær bruger grænseflade defineret. + +his-badArchive Fejl, Ubrugelig arkivfil +his-cannotGetReport Det lykkedes ikke at hente newzbin rapport +his-failedURL Det lykkedes ikke at tilføje url +his-retryURL1@1 URL hentning mislykkedes; %s +his-retryURL2 Forsøg igen + +# Errors and Warnings +error-noPar2 par2 binär... IKKE fundet! +error-noWebUi Webbrowseren kunne ikke startes +error-noYEnc _yenc modul... IKKE fundet! +error-sameHTTP-HTTPS Kan ikke Ã¥bne HTTP og HTTPS portene samtidigt +warn-0000 Vær opmærksom pÃ¥ at 0.0.0.0 værtsnavn har brug for en IPv6-adresse for ekstern adgang +warn-noCertKey HTTPS fejlede pÃ¥ grund af manglende CERT og KEY filer +warn-noSkin@1 Kan ikke finde web skabaloner: %s forsøg med standard skabalon +warn-noUnrar unrar binær... IKKE fundet! +warn-noUnzip unzip binær... IKKE fundet! +error-failMkstemp Fejl i tempfile.mkstemp +error-fetchReport@1 Fejl ved hentning af msgid %s fra www.newzbin.com - +error-hibernate Det lykkedes ikke systemet at gÃ¥ i dvale +error-loading@1 Downloadning af %s mislykkedes +error-saveX@1 Gemmes %s mislykkedes +error-saveXtoY@2 Gemmer %s til %s mislykkedes +error-standby Det lykkedes ikke systemet at gÃ¥ i standby +error-tempFile@1 Kan ikke oprette temp fil for %s +warn-noServer@1 Forsøger at sætte status pÃ¥ ikke eksisterende server %s +warn-noSpace For lidt diskplads tvinger system i PAUSE +warn-signal@1 Signal %s modtaget, gemmer og lukker... +warn-flushFailed@1 Flushing %s mislykkedes -> ingen art_id +error-diskError@1 Diskfejl ved oprettelse af fil %s +error-diskFull Disken er fuld! Pauser... +warn-artMissing@1 %s mangler +error-badIni@1 Ugyldig Config file%s +error-createIni@1 Kan ikke oprette config file%s +error-encPw@1 Forkert kodet password%s +error-version@2 Forkert versionsnummer%s i %s" +error-badHisNewline@1 Forkert loggning i historiken av %s (\\r\\n) +error-badHisSemic@1 Forkert loggning i historiken av %s (;) +error-sqlClose Det lykkedes ikke at lukke databasen, se logg +error-sqlCmd SQL Kommando mislykkedes, se logg +error-sqlCommit SQL Commit mislykkedes, se logg +error-decode@1 Afkodning af %s mislykkedes +error-decodeUnknown@1 Ukendt fejl under afkodning af %s +warn-artAllMissing@1 %s => mangler fra alle servere, afviser +warn-badYEnc@1 Forkert udformet yEnc artikel i %s +warn-crcError@3 CRC Fejl i %s (%s -> %s) +error-readWatched@1 Kan ikke læse overvÃ¥get mappe %s +error-remove@1 Fejl ved fjernelse af %s +warn-noRead@1 Kan ikke læse %s +error-except Undtaget? +error-noInit@3 Det lykkedes ikke at initialisere %s@%s:%s +error-serverFailed@4 Tilslutning af%s@%s:%s mislykkedes, besked =%s +error-serverLogin@1 Det lykkedes ikke at logge pÃ¥ serveren %s +error-serverNoConn@2 Kan ikke tilslutte serveren %s [%s] +error-serverTooMany@2 For mange tilslutninger til server %s:%s +warn-ignoreServer@2 Server %s vil blive ignoreret for i %s minutter +warn-noConnectServer@2 Kan ikke tilslutte til server %s [%s] +error-accountSharing Sandsynligt delt konto +error-serverCred@1 Server %s kræver brugernavn/password +warn-thread@3 TrÃ¥d %s@%s:%s: +error-mailAuth Godkendelse til mailserver mislykkedes +error-mailNoConn Det lykkedes ikke at tilslutte mailserver +error-mailSend Det lykkedes ikke at sende e-mail +error-mailTempl@1 Kan ikke finde e-mail skabaloner i %s +error-mailTLS Det lykkedes ikke at initialisere TLS tilslutning +warn-noEmailClose Det lykkedes ikke at lukke e-mail tilslutning +msg-emailOK E-mail afsendelse mislykkedes +error-regex@1 Det lykkedes ikke at kompilere regex for søgestreng: %s +error-accessDir@2 %s mappe: %s adgang mislykkedes +error-createDir@1 Kan ikke oprette mappe %s +error-makeFile@1 Oprettelse af (%s) mislykkedes +error-moveFile@2 Det lykkedes ikke at flytte %s til %s +error-portNoAccess@1 Du har ingen tilladelse til at bruge port %s +error-regConnect Kan ikke tilslutte til registreringsdatabasen HKEY_CURRENT_USER. +error-regOpen@1 Kan ikke Ã¥bne nøgle i registreringsdatabasen "%s". +error-regSpecial Kunne ikke læse nøgler i registreringsdatabasen for specielle mapper +error-sslFiles Fejl ved oprettelse af SSL-nøgle og certifikat. +error-urlGet@2 Fejl ved hentning af url %s (fejl = "%s") +warn-noBrowser Kan ikke starte browseren, sandsynligvis ikke fundet +warn-pyopenssl pyopenssl modul mangler, du skal installere for HTTPS-adgang +error-fileJoin@2 Fejl "%s" nÃ¥r du køre file_join pÃ¥ %s +error-filePar2@2 Fejl %s nÃ¥r du køre par2_repair pÃ¥ %s +error-fileRead@1 notrar(): læsning %s mislykkedes +error-fileUnrar@2 Fejl "%s" nÃ¥r du køre rar_unpack pÃ¥ %s +error-fileUnzip@2 Fejl "%s" nÃ¥r du køre unzip() pÃ¥ %s +warn-cannotFind@1 FEJL: lykkedes ikke at finde "%s" +warn-crcFailed@1 FEL: CRC mislykkedes i "%s" +warn-delFailed@1 Fjernelse af %s mislykkedes! +warn-encrypted FEJL: krypteret fil: +warn-error@1 FEJL: %s +warn-MissExpectedFile@1 Manglede forventet fil: %s => unrar fejl? +warn-writeError@1 FEJL: skrivefejll (%s) +error-connect@1 Det lykkedes ikke at tilslutte: %s +error-newsSSL Denne server tillader ikkr SSL pÃ¥ denne port +error-noSSL Mislykkedes med importering af OpenSSL modul. Tilslutter uden SSL +error-nbInfo@1 Newzbin server mislykkedes at give information til %s +error-nbProtocol Newzbin server ændrede sin protokol +error-nbReport@1 Newzbin rapporterede %s ikke fundet +error-nbUnkownError@1 Newzbin giver udokumenterede fejlkode (%s) +error-nbUnkownError@2 Newzbin giver udokumenterede fejlkode (%s, %s) +error-nbUpdate@1 Kunne ikke opdatere newzbin job %s +warn-nbCredit Du har ingen kredit pÃ¥ din konto Newzbin +warn-nbNoAuth Ingen adgang, kontroller din newzbin brugernavn / adgangskode +warn-nbNoDelBM@1 Kunne ikke slette newzbin bogmærke %s +error-qAdd@1 Det lykkedes ikke at tilføje %s, slette +error-qBad Ødelagt queuefile fundet, kan ikke fortsætte +error-qCorruptFile@1 Downloadnings fejl %s, ødelagt fil fundet +warn-unknownEncoding@1 %s -> Ukendt kodning +error-qDupPart@3 Dublet del %s, men forskellige id-s (%s // %s) +error-qImport@1 Det lykkedes ikke at importere %s +warn-badImport@2 Det lykkedes ikke at importere %s filer fra %s +warn-badNZB@3 Ødelagt NZB fil %s, springer over (Ã¥rsag=%s, linje=%s) +warn-emptyFile@1 Fil %s er tom, springer over +warn-skipDup@1 Springer over dubletter af NZB "%s" +error-ppCleanup@1 Fjernelse af %s mislykkedes. +error-ppDelFailed@1 Fjernelse af%s mislykkedes +error-ppDelNzo Det lykkedes ikke at fjerne nzo fra efterbehandlings køen (id) +error-ppDelWorkdir@1 Det lykkedes ikke at fjerne arbejdsmappen (%s) +error-ppFailed@1 Efterbehandling mislykkedes for %s +error-ppLogFile@1 Det lykkedes ikke at skabe loggfil %s +error-ppPermissions@1 Det lykkedes ikke at ændre rettigheder pÃ¥ %s +error-ppRename@2 Det lykkedes ikke at omdøbe "%s" til "%s" +warn-badPPQueue@2 Kunne ikke indlæse efterbehandle kø: Forkert version (kræver:%s, fundet:%s) +error-rssBadFeed@1 Forkert RSS-feed beskrivelse "%s" +error-rssRegex@1 Kunne ikke kompilere regex: %s +warn-emptyRSS@1 Tom RSS post blev fundet (%s) +warn-failRSS@1 Mislykkedes at hente RSS fra %s +warn-failRSS@2 Mislykkedes at hente RSS fra %s: %s +warn-badSched@3 Forkert tidsplan %s ved %s:%s +warn-badSchedAction@1 Ukendt handling: %s +warn-schedNoServer@1 Tidsplan for ikke-eksisterende server %s +error-tvInfo@1 Det lykkedes ikke at hente TV info (%s) +error-tvRename@2 Det lykkedes ikke at omdøbe: %s til %s +error-tvSimRename@2 Kunne ikke omdøbe lignende fil: %s til %s +error-tvTemp@1 Kan ikke oprette midlertidig fil for %s +warn-matrixBadRep@1 Ugyldigt nzbmatrix rapport nummer %s +warn-matrixFail@1 Problem at fÃ¥ adgang til nzbmatrix server (%s) +warn-noRepair Ingen PAR2 program fundet, reparationer ikke muligt \n +warn-noUnpack Ingen unrar program fundet, udpakning RAR filer er ikke mulig \n +warn-badUnrar Din unrar version kan ikke anbefales,\ + hent UNRAR fra http://www.rarlab.com/rar_add.htm\n +warn-missingFiles \nVarning: alle filer blev ikke udpakket, se logg +error-joinMismatch Forventede størrelse er ikke ligmed faktiske størrelse +error-joinFail@1 Filsammenlægning af %s mislykkedes +error-joinFail@2 [%s] Fejl "%s" under filsammenlægning +msg-joinOK@2 [%s] Sammen lagte %s filer +error-unpackFail@1 Udpakning mislykkedes, %s +error-unpackFail@2 [%s] Fejl "%s" under udpakning af RAR fil(er) +error-badArchive Ã…bning af hovedarkiv mislykkedes (krypteret eller ødelagt) +error-unpackFailed@1 Udpakning mislykkedes, kunne ikke finde %s +error-unpackCRC Udpakning mislykkedes, CRC-fel +error-unpackFull Udpakning mislykkedes, skrivefejl eller disken fuld? +error-unpackFailLog Udpakning mislykkedes, se logg +error-unpackPassword Udpakning mislykkedes, arkivet kræver password +error-unpackMissing Udpakning mislykkedes, en ventet fil er ikke udpakket +msg-unpackDone@2 Udpakket %s filer/mapper i %s +msg-unzipDone@2 %s filer i %s +msg-QuickCheck Hurtig kontrol... +msg-QuickChecking Hurtig kontrollerende +msg-QuickOK@1 [%s] Hurtig kontrol OK +msg-startRepair Starter reparation +error-repairFailed@1 Reparation mislykkedes, %s +error-repairBad@2 Fejl "%s" mens par2_repair kørte pÃ¥ %s +msg-verify Bekræftelse... +msg-verifyOK@2 [%s] Bekræftelse i %s, alle filer er ok +msg-repairNeeded Kræver reparation +msg-repairNeeded@2 [%s] Bekræftelse i %s, kræver reparation +error-noMainPacket Hovedarkiv mangler... +error-repairBlocks@1 Reparation mislykkedes, ikke nok reparation blokke (%s saknas) +msg-fetchBlocks@1 Hentar %s block... +msg-repairing Reparerer +msg-repairDone@2 [%s] Repareret i %s +msg-verifying Bekræfter +msg-DownloadedIn@2 Hentede i %s med et gennemsnit pÃ¥ %sB/s +msg-noParSets@1 [%s] Ingen par2 sæt +msg-noPostProc Ingen efterbehandling pÃ¥ grund af mislykket bekræftigelse +msg-sentToQ@1 Sendt %s til kø +msg-runScript@1 Kør bruger script %s +msg-ranScript@1 Kørte %s +link-more Mere +link-viewSc Vis script udlæsning +warn-OutRetention Hentning mislykkedes - Out of your server's retention? +warn-PostCrash Efterbehandling smadret, se loggfil +msg-moving Flytter +msg-running Køre script +msg-joining Sammenlægger +msg-unpacking Udpakker +msg-repair Reparerer +msg-fetching Henter +msg-path Sti + +stage-download Downloader +stage-repair Reparere +stage-filejoin Sammenlægger filer +stage-unpack Udpak +stage-script script + +post-Completed Færdig +post-Failed Mislykkedes +post-Queued Køen +post-Repairing Reparerer... +post-Extracting Udpakning... +post-Moving Flytter... +post-Running Kør script... +post-Fetching Henter ekstra block... +post-QuickCheck Hurtig kontrol... +post-Verifying Bekræfter... + +#Growl Messages +grwl-notif-startup Start / Lukning +grwl-notif-dl NZB Tilføjet +grwl-notif-pp Efterbehandling +grwl-notif-other Andre meddelelser +grwl-shutdown-begin-msg PÃ¥begynder lukning af SABnzbd.. +grwl-shutdown-end-msg SABnzbd lukning udført. +grwl-paused-msg Pauset +grwl-nzbadd-title NZB tilføjet i køen +grwl-newversion-msg Ny version tilgængelig + +#OSX Menu +osx-menu-warnings Advarsler +osx-menu-status-idle Ude af drift +osx-menu-status-paused Pauset +osx-menu-pause Pause +osx-menu-min min. +osx-menu-resume Genoptag +osx-menu-queue Kø +osx-menu-queuelimit Kø (de første 10 poster) +osx-menu-history Historik +osx-menu-historylimit Historik (de 10 seneste poster) +osx-menu-speedlimit Hastighedsbegrænsning +osx-menu-none Ingen +osx-menu-getnewzbinbm Henter Newzbin bogmærker +osx-menu-complete Færdig mappe\t\t\t +osx-menu-incomplete Ufuldstændig mappe\t\t +osx-menu-restart Starter forfra +osx-menu-quit Afslutte +osx-menu-config Konfiguration +osx-menu-purgequeue Rens køen +osx-menu-purgehistory Rens historik +osx-menu-wizard GÃ¥ til guiden +osx-menu-empty Tom +osx-menu-shutdowning Lukker... + +email-full@2 \ +to: %s\r\ +from: %s\r\ +subject: SABnzbd rapporterer Fuld disk\r\ +\r\ +Hej,\r\ +\r\ +SABnzbd er holdt op med at downloade, fordi disken er næsten fuld.\r\ +Vær venlig at lave plads for downloadning og genoptag SABnzbd’s download manuelt.\r\ +\r diff --git a/language/fr-fr.txt b/language/fr-fr.txt index 3f9bf0a..408bfd1 100644 --- a/language/fr-fr.txt +++ b/language/fr-fr.txt @@ -578,7 +578,7 @@ warn-apikeyBad Cl error-apikeyBad Erreur : Clé API incorrecte error-noSecUI Erreur : Pas d'interface secondaire définie. -his-badArchive Echec, Fichier d'archive inutilisable +his-badArchive Fichier NZB inutilisable his-cannotGetReport Echec de récupération du rapport newzbin his-failedURL Echec de l'ajout de l'URL his-retryURL1@1 Echec de récupération de l'URL; %s diff --git a/language/nl-du.txt b/language/nl-du.txt index 01411bc..51a1d44 100644 --- a/language/nl-du.txt +++ b/language/nl-du.txt @@ -558,7 +558,7 @@ warn-apikeyBad API Sleutel is fout Vul de API Sleutel van "Algememe in error-apikeyBad Fout: API Sleutel fout error-noSecUI Fout: geen secundaire interface ingesteld. -his-badArchive Mislukt, onbruikbaar archief bestand +his-badArchive Onbruikbaar NZB bestand his-cannotGetReport Mislukt, kan newzbin rapport niet vinden his-failedURL URL ophalen mislukt his-retryURL1@1 URL ophalen mislukt; %s diff --git a/language/sv-se.txt b/language/sv-se.txt index 5e1b59b..1449913 100644 --- a/language/sv-se.txt +++ b/language/sv-se.txt @@ -575,7 +575,7 @@ warn-apikeyBad API-nyckel felaktig, använd api-nyckeln frÃ¥n Konfigur i ditt tredjepartsprogram: error-noSecUI Fel: Inget andrainterface definierat. -his-badArchive Fel, Oanvändbar akrivfil +his-badArchive Oanvändbar NZB fil his-cannotGetReport Det gick inte att hämta newzbin rapport his-failedURL Det gick inte att lägga till url his-retryURL1@1 URL hämtning misslyckades; %s diff --git a/language/us-en.txt b/language/us-en.txt index 1c437c1..7da08cf 100644 --- a/language/us-en.txt +++ b/language/us-en.txt @@ -574,7 +574,7 @@ warn-apikeyBad API Key incorrect, Use the api key from Config->General in your 3rd party program: error-noSecUI Error: No secondary interface defined. -his-badArchive Failed, Unusable archive file +his-badArchive Unusable NZB file his-cannotGetReport Failed to fetch newzbin report his-failedURL Failed to add url his-retryURL1@1 URL Fetching failed; %s diff --git a/package.py b/package.py index a0efe36..0970049 100644 --- a/package.py +++ b/package.py @@ -66,22 +66,24 @@ def CheckPath(name): def PatchVersion(name): - """ Patch in the SVN baseline number, but only when this is + """ Patch in the Bazaar baseline number, but only when this is an unmodified checkout """ try: - pipe = subprocess.Popen(SvnVersion, shell=True, stdout=subprocess.PIPE).stdout - svn = pipe.read().strip(' \t\n\r') + pipe = subprocess.Popen(BzrVersion, shell=True, stdout=subprocess.PIPE).stdout + for line in pipe.read().split('\n'): + if 'revno: ' in line: + bzr = line.split(' ')[1].strip() pipe.close() except: pass - if not svn: - print "WARNING: Cannot run %s" % SvnVersion - svn = 'unknown' + if not bzr: + print "WARNING: Cannot run %s" % BzrVersion + bzr = 'unknown' - if not (svn and svn.isdigit()): - svn = 'unknown' + if not (bzr and bzr.isdigit()): + bzr = 'unknown' try: ver = open(VERSION_FILE, 'rb') @@ -92,7 +94,7 @@ def PatchVersion(name): return regex = re.compile(r'__baseline__\s+=\s+"\w*"') - text = re.sub(r'__baseline__\s*=\s*"[^"]*"', '__baseline__ = "%s"' % svn, text) + text = re.sub(r'__baseline__\s*=\s*"[^"]*"', '__baseline__ = "%s"' % bzr, text) text = re.sub(r'__version__\s*=\s*"[^"]*"', '__version__ = "%s"' % name, text) try: ver = open(VERSION_FILE, 'wb') @@ -108,14 +110,14 @@ def PairList(src): A dir returns for its root and each of its subdirs (path, ) Always return paths with Unix slashes. - Skip all SVN elements, .bak .pyc .pyo and *.~* + Skip all Bazaar elements, .bak .pyc .pyo and *.~* """ lst = [] for item in src: if item.endswith('/'): for root, dirs, files in os.walk(item.rstrip('/\\')): path = root.replace('\\', '/') - if path.find('.svn') < 0 and path.find('_svn') < 0 : + if path.find('.bzr') < 0: flist = [] for file in files: if not (file.endswith('.bak') or file.endswith('.pyc') or file.endswith('.pyo') or '~' in file): @@ -215,12 +217,11 @@ def rename_file(folder, old, new): print sys.argv[0] -#OSX if svnversion not installed install SCPlugin and execute these commands +#OSX if bzrversion not installed install SCPlugin and execute these commands #sudo cp /Library/Contextual\ Menu\ Items/SCFinderPlugin.plugin/Contents/Resources/SCPluginUIDaemon.app/Contents/lib/lib* /usr/lib -#sudo cp /Library/Contextual\ Menu\ Items/SCFinderPlugin.plugin/Contents/Resources/SCPluginUIDaemon.app/Contents/bin/svnversion /usr/bin +#sudo cp /Library/Contextual\ Menu\ Items/SCFinderPlugin.plugin/Contents/Resources/SCPluginUIDaemon.app/Contents/bin/bzrversion /usr/bin -SvnVersion = CheckPath('svnversion') -SvnRevert = CheckPath('svn') +Bazaar = CheckPath('bzr') ZipCmd = CheckPath('zip') UnZipCmd = CheckPath('unzip') if os.name == 'nt': @@ -228,12 +229,13 @@ if os.name == 'nt': else: NSIS = '-' -if not (SvnVersion and SvnRevert and ZipCmd and UnZipCmd and NSIS): - exit(1) +BzrRevertApp = Bazaar + ' revert ' +BzrUpdateApp = Bazaar + ' update ' +BzrRevert = Bazaar + ' revert ' + VERSION_FILE +BzrVersion = Bazaar + ' version-info' -SvnRevertApp = SvnRevert + ' revert ' -SvnUpdateApp = SvnRevert + ' update ' -SvnRevert = SvnRevert + ' revert ' + VERSION_FILE +if not (BzrVersion and BzrRevert and ZipCmd and UnZipCmd and NSIS): + exit(1) if len(sys.argv) < 2: target = None @@ -308,7 +310,7 @@ options = dict( if target == 'app': if not platform.system() == 'Darwin': print "Sorry, only works on Apple OSX!" - os.system(SvnRevert) + os.system(BzrRevert) exit(1) #Create sparseimage from template @@ -366,7 +368,7 @@ if target == 'app': os.system("mkdir dist/SABnzbd.app/Contents/Resources/osx/unrar>/dev/null") os.system("cp -pR osx/unrar/ dist/SABnzbd.app/Contents/Resources/osx/unrar>/dev/null") os.system("chmod +x dist/SABnzbd.app/Contents/Resources/update>/dev/null") - os.system("find dist/SABnzbd.app -name .svn | xargs rm -rf") + os.system("find dist/SABnzbd.app -name .bzr | xargs rm -rf") #copy builded app to mounted sparseimage os.system("cp -r dist/SABnzbd.app /Volumes/SABnzbd/>/dev/null") @@ -380,7 +382,7 @@ if target == 'app': os.system("rm -rf cherrypy*.zip") #Create src tar.gz - os.system("tar -czf %s --exclude \".svn\" --exclude \"sab*.zip\" --exclude \"SAB*.tar.gz\" --exclude \"*.sparseimage\" ./>/dev/null" % (fileOSr) ) + os.system("tar -czf %s --exclude \".bzr\" --exclude \"sab*.zip\" --exclude \"SAB*.tar.gz\" --exclude \"*.sparseimage\" ./>/dev/null" % (fileOSr) ) #Copy src tar.gz to mounted sparseimage os.system("cp %s /Volumes/SABnzbd/Sources/>/dev/null" % (fileOSr)) @@ -400,16 +402,16 @@ if target == 'app': #Remove sparseimage os.system("rm %s>/dev/null" % (fileImg)) - #os.system(SvnRevert) - os.system(SvnRevertApp + "NSIS_Installer.nsi") - os.system(SvnRevertApp + VERSION_FILEAPP) - os.system(SvnRevertApp + VERSION_FILE) - os.system(SvnUpdateApp) + #os.system(BzrRevert) + os.system(BzrRevertApp + "NSIS_Installer.nsi") + os.system(BzrRevertApp + VERSION_FILEAPP) + os.system(BzrRevertApp + VERSION_FILE) + os.system(BzrUpdateApp) elif target in ('binary', 'installer'): if not py2exe: print "Sorry, only works on Windows!" - os.system(SvnRevert) + os.system(BzrRevert) exit(1) # Unpack cherrypy @@ -472,14 +474,14 @@ elif target in ('binary', 'installer'): if target == 'installer': os.system('makensis.exe /v3 /DSAB_PRODUCT=%s /DSAB_FILE=%s NSIS_Installer.nsi' % \ - (release, fileIns)) + (prod, fileIns)) DeleteFiles(fileBin) os.rename('dist', prod) os.system('zip -9 -r -X %s %s' % (fileBin, prod)) os.rename(prod, 'dist') - os.system(SvnRevert) + os.system(BzrRevert) else: # Prepare Source distribution package. @@ -533,5 +535,5 @@ else: # Prepare the TAR.GZ pacakge CreateTar('srcdist', fileSrc, prod) - os.system(SvnRevert) + os.system(BzrRevert) diff --git a/sabnzbd/assembler.py b/sabnzbd/assembler.py index 59291c8..e48f768 100644 --- a/sabnzbd/assembler.py +++ b/sabnzbd/assembler.py @@ -90,6 +90,9 @@ class Assembler(Thread): sabnzbd.downloader.pause_downloader() else: logging.error(Ta('error-diskError@1'), filepath) + except: + logging.error('Fatal error in Assembler', exc_info = True) + break setname = nzf.get_setname() if nzf.is_par2() and (nzo.get_md5pack(setname) is None): diff --git a/sabnzbd/cfg.py b/sabnzbd/cfg.py index 0401db1..3d42ac3 100644 --- a/sabnzbd/cfg.py +++ b/sabnzbd/cfg.py @@ -1,5 +1,5 @@ #!/usr/bin/python -OO -# Copyright 2008-2009 The SABnzbd-Team +# Copyright 2008-2010 The SABnzbd-Team # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -29,6 +29,7 @@ from sabnzbd.config import OptionBool, OptionNumber, OptionPassword, \ validate_octal, validate_safedir, validate_dir_exists, \ create_api_key, validate_notempty from sabnzbd.lang import T + #------------------------------------------------------------------------------ # Email validation support # @@ -36,12 +37,14 @@ RE_VAL = re.compile('[^@ ]+@[^.@ ]+\.[^.@ ]') def validate_email(value): global email_endjob, email_full if email_endjob() or email_full(): - if value and RE_VAL.match(value): - return None, value + if isinstance(value, list): + values = value else: - return T('error-badEmailAd@1') % value, None - else: - return None, value + values = [value] + for addr in values: + if not (addr and RE_VAL.match(addr)): + return T('error-badEmailAd@1') % addr, None + return None, value def validate_server(value): @@ -66,7 +69,7 @@ fail_on_crc = OptionBool('misc', 'fail_on_crc', False) send_group = OptionBool('misc', 'send_group', False) email_server = OptionStr('misc', 'email_server', validation=validate_server) -email_to = OptionStr('misc', 'email_to', validation=validate_email) +email_to = OptionList('misc', 'email_to', validation=validate_email) email_from = OptionStr('misc', 'email_from', validation=validate_email) email_account= OptionStr('misc', 'email_account') email_pwd = OptionPassword('misc', 'email_pwd') diff --git a/sabnzbd/config.py b/sabnzbd/config.py index 08263b2..154127e 100644 --- a/sabnzbd/config.py +++ b/sabnzbd/config.py @@ -1,5 +1,5 @@ #!/usr/bin/python -OO -# Copyright 2008-2009 The SABnzbd-Team +# Copyright 2008-2010 The SABnzbd-Team # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -82,6 +82,9 @@ class Option: else: return self.__default_val + def get_string(self): + return str(self.get()) + def get_dict(self, safe=False): """ Return value a dictionary """ return { self.__keyword : self.get() } @@ -207,23 +210,23 @@ class OptionDir(Option): class OptionList(Option): """ List option class """ - def __init__(self, section, keyword, default_val=None, add=True): + def __init__(self, section, keyword, default_val=None, validation=None, add=True): + self.__validation = validation if default_val is None: default_val = [] Option.__init__(self, section, keyword, default_val, add=add) def set(self, value): - """ Set value, convert single item to list of one - Empty string will be an empty list. - """ - if value != None: - if type(value) != type([]): - if value == '': - value = [] - else: - value = [ value ] - return self._Option__set(value) - return None + """ Set the list given a comma-separated string or a list""" + error = None + if value is not None: + if not isinstance(value, list): + value = listquote.simplelist(value) + if self.__validation: + error, value = self.__validation(value) + if not error: + self._Option__set(value) + return error def get_string(self): """ Return the list as a comma-separated string """ @@ -237,13 +240,6 @@ class OptionList(Option): if n < r-1: txt += ', ' return txt - def set_string(self, txt): - """ Set the list given a comma-separated string """ - if type(txt) == type(''): - self._Option__set(listquote.simplelist(txt)) - else: - self._Option__set(txt) - class OptionStr(Option): """ String class """ @@ -277,6 +273,7 @@ class OptionPassword(Option): """ Password class """ def __init__(self, section, keyword, default_val='', add=True): Option.__init__(self, section, keyword, default_val, add=add) + self.get_string = self.get_stars def get(self): """ Return decoded password """ @@ -410,10 +407,7 @@ class ConfigCat: value = values[kw] except KeyError: continue - if kw == 'newzbin': - exec 'self.%s.set_string(value)' % kw - else: - exec 'self.%s.set(value)' % kw + exec 'self.%s.set(value)' % kw return True def get_dict(self, safe=False): diff --git a/sabnzbd/emailer.py b/sabnzbd/emailer.py index 12ea0f1..ccff1f4 100644 --- a/sabnzbd/emailer.py +++ b/sabnzbd/emailer.py @@ -1,5 +1,5 @@ #!/usr/bin/python -OO -# Copyright 2008-2009 The SABnzbd-Team +# Copyright 2008-2010 The SABnzbd-Team # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -101,7 +101,8 @@ def send(message): try: if isinstance(message, unicode): message = message.encode('utf8') - mailconn.sendmail(cfg.email_from(), cfg.email_to(), message) + for recipient in cfg.email_to(): + mailconn.sendmail(cfg.EMAIL_FROM.get(), recipient, message) except: logging.error(Ta('error-mailSend')) return failure @@ -126,7 +127,7 @@ from Cheetah.Template import Template def send_with_template(prefix, parm): """ Send an email using template """ - parm['to'] = cfg.email_to() + parm['to'] = cfg.email_to.get_string() parm['from'] = cfg.email_from() parm['date'] = time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime()) @@ -199,7 +200,7 @@ def diskfull(): """ Send email about disk full, no templates """ if cfg.email_full(): - return send(T('email-full@2') % (cfg.email_to(), cfg.email_from())) + return send(T('email-full@2') % (cfg.email_to.get_string(), cfg.email_from())) else: return "" diff --git a/sabnzbd/interface.py b/sabnzbd/interface.py index ede044b..5f50f0e 100644 --- a/sabnzbd/interface.py +++ b/sabnzbd/interface.py @@ -1745,7 +1745,7 @@ class ConfigGeneral: cleanup_list = kwargs.get('cleanup_list') if cleanup_list and sabnzbd.WIN32: cleanup_list = cleanup_list.lower() - cfg.cleanup_list.set_string(cleanup_list) + cfg.cleanup_list.set(cleanup_list) web_dir = kwargs.get('web_dir') web_dir2 = kwargs.get('web_dir2') @@ -2959,10 +2959,7 @@ class ConfigEmail: conf['my_lcldata'] = sabnzbd.DIR_LCLDATA for kw in LIST_EMAIL: - if kw == 'email_pwd': - conf[kw] = config.get_config('misc', kw).get_stars() - else: - conf[kw] = config.get_config('misc', kw)() + conf[kw] = config.get_config('misc', kw).get_string() template = Template(file=os.path.join(self.__web_dir, 'config_email.tmpl'), filter=FILTER, searchList=[conf], compilerSettings=DIRECTIVES) diff --git a/sabnzbd/misc.py b/sabnzbd/misc.py index bd39ba6..6799ce7 100644 --- a/sabnzbd/misc.py +++ b/sabnzbd/misc.py @@ -933,8 +933,12 @@ def get_filepath(path, nzo, filename): return fullPath -def bad_fetch(nzo, url, msg='', retry=False, archive=False): - """ Create History entry for failed URL Fetch """ +def bad_fetch(nzo, url, msg='', retry=False, content=False): + """ Create History entry for failed URL Fetch + msg : message to be logged + retry : make retry link in histort + content : report in history that cause is a bad NZB file + """ logging.error(Ta('error-urlGet@2'), latin1(url), latin1(msg)) msg = unicoder(msg) @@ -961,22 +965,23 @@ def bad_fetch(nzo, url, msg='', retry=False, archive=False): nzo.set_filename(url) nzo.set_original_dirname(url) + if content: + # Bad content + msg = T('his-badArchive') + else: + # Failed fetch + msg = T('his-failedURL') + if retry: nzbname = nzo.get_dirname_rename() if nzbname: nzbname = '&nzbname=%s' % urllib.quote(nzbname) else: nzbname = '' - text = T('his-retryURL1@1')+', ' + T('his-retryURL2') + '' + text = T('his-retryURL1@1') + ', ' + T('his-retryURL2') + '' parms = (msg, cfg.api_key(), urllib.quote(url), pp, cat, script, nzbname) nzo.set_fail_msg(text % parms) else: - if archive: - msg = T('his-badArchive') - elif not '://' in url: - msg = T('his-cannotGetReport') - else: - msg = T('his-failedURL') nzo.set_fail_msg(msg) sabnzbd.nzbqueue.remove_nzo(nzo.nzo_id, add_to_history=True, unload=True) diff --git a/sabnzbd/urlgrabber.py b/sabnzbd/urlgrabber.py index e4deb79..50a5ebd 100644 --- a/sabnzbd/urlgrabber.py +++ b/sabnzbd/urlgrabber.py @@ -140,7 +140,7 @@ class URLGrabber(Thread): elif res == -2: self.add(url, future_nzo) else: - misc.bad_fetch(future_nzo, url, retry=False) + misc.bad_fetch(future_nzo, url, retry=True, content=True) # Check if a supported archive else: if dirscanner.ProcessArchiveFile(filename, fn, pp, script, cat, priority=priority) == 0: @@ -151,7 +151,7 @@ class URLGrabber(Thread): os.remove(fn) except: pass - misc.bad_fetch(future_nzo, url, retry=False, archive=True) + misc.bad_fetch(future_nzo, url, retry=True, content=True) # Don't pound the website! time.sleep(5.0)