Work on feed discovery.

This commit is contained in:
Martin Rotter 2015-04-26 19:41:00 +02:00
parent 0b15e72d30
commit 6b27ac84ed
17 changed files with 1084 additions and 572 deletions

View File

@ -406,6 +406,7 @@ set(APP_SOURCES
src/network-web/webview.cpp
src/network-web/downloader.cpp
src/network-web/downloadmanager.cpp
src/network-web/discoverfeedsbutton.cpp
# MAIN sources.
src/main.cpp
@ -487,6 +488,7 @@ set(APP_HEADERS
src/network-web/webview.h
src/network-web/downloader.h
src/network-web/downloadmanager.h
src/network-web/discoverfeedsbutton.h
)
# APP form files.

View File

@ -1,12 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="cs_CZ">
<TS version="2.0" language="cs_CZ">
<context>
<name>Application</name>
<message>
<source>Application is already running.</source>
<translation>Aplikace již běží.</translation>
</message>
<message>
<source>Output folder is not writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DatabaseFactory</name>
@ -29,6 +49,25 @@
<translation>Neznámá chyba.</translation>
</message>
</context>
<context>
<name>DiscoverFeedsButton</name>
<message>
<source>This website does not contain any feeds.</source>
<translation>Tato stránka bohužel neobsahuje žádné kanály.</translation>
</message>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation>
<numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanál.</numerusform>
<numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanály.</numerusform>
<numerusform>Pro přidání kanálů z této stránky na klikni.
Tato stránka obsahuje %n kanálů.</numerusform>
</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
@ -341,50 +380,26 @@ Automatický update: %5</translation>
<source>Cannot add standard category</source>
<translation>Nelze přidat standardní kategorii</translation>
</message>
<message>
<source>You cannot add new standard category now because feed update is ongoing.</source>
<translation>Nyní nelze přidat standardní kategorii, protože právě probíhá aktualizace kanálů.</translation>
</message>
<message>
<source>Cannot add standard feed</source>
<translation>Nelze přidat standardní kanál</translation>
</message>
<message>
<source>You cannot add new standard feed now because feed update is ongoing.</source>
<translation>Nyní nelze přidat standardní kanál, protože právě probíhá aktualizace kanálů.</translation>
</message>
<message>
<source>Cannot edit item</source>
<translation>Nelze upravit položku</translation>
</message>
<message>
<source>Selected item cannot be edited because feed update is ongoing.</source>
<translation>Vybraná položka nemůže být nyní upravena, protože právě probíhá aktualizace kanálů.</translation>
</message>
<message>
<source>Cannot delete item</source>
<translation>Nelze smazat položku</translation>
</message>
<message>
<source>Selected item cannot be deleted because feed update is ongoing.</source>
<translation>Vybraná položka nemůže být nyní smazána, protože právě probíhá aktualizace kanálů.</translation>
</message>
<message>
<source>Cannot update all items</source>
<translation>Nelze aktualizovat všechny položky</translation>
</message>
<message>
<source>You cannot update all items because another feed update is ongoing.</source>
<translation>Právě nyní nemůžete aktualizovat všechny položky, protože nejspíše probíhá jiná aktualizace.</translation>
</message>
<message>
<source>Cannot update selected items</source>
<translation>Nelze aktualizovat vybrané položky</translation>
</message>
<message>
<source>You cannot update selected items because another feed update is ongoing.</source>
<translation>Právě nyní nemůžete aktualizovat vybrané položky, protože nejspíše probíhá jiná aktualizace.</translation>
</message>
<message>
<source>You are about to delete selected feed or category.</source>
<translation>Právě se chystáte smazat vybraný kanál či kategorii.</translation>
@ -425,6 +440,30 @@ Automatický update: %5</translation>
<source>Context menu for recycle bin</source>
<translation>Kontextové menu pro koš</translation>
</message>
<message>
<source>You cannot update all items because another another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -556,15 +595,6 @@ Automatický update: %5</translation>
<source>Backup was created successfully.</source>
<translation>Záloha byla vytvořena.</translation>
</message>
<message>
<source>Backup failed, database and/or settings is probably not backed.</source>
<translation>Zálohování selhalo, databáze a/nebo nastavení asi nebylo zálohováno.</translation>
</message>
<message>
<source>Backup failed. Check the output folder if your database
and/or settings were backed or not. Also make sure that target foder is writable.</source>
<translation>Záloha selhala, zkontrolujte obsah výstupní složky.</translation>
</message>
<message>
<source>Select destionation folder</source>
<translation>Zvolte cílovoý adresář</translation>
@ -581,6 +611,14 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Backup name looks okay.</source>
<translation>Název zálohy je v pořádku.</translation>
</message>
<message>
<source>Output folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormCategoryDetails</name>
@ -1494,10 +1532,6 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>You need to restart application for restoration process to finish.</source>
<translation>Pro dokončení procesu obnovení je třeba restartovat aplikaci.</translation>
</message>
<message>
<source>Restoration was not initiated successfully.</source>
<translation>Obnovení nebylo spuštěno úspěšně.</translation>
</message>
<message>
<source>Database and/or settings were not copied to restoration folder successully.</source>
<translation>Databáze a/nebo nastavení byly zkopírovány do obnovovací složky.</translation>
@ -1510,6 +1544,10 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Good source folder is specified.</source>
<translation>Je specifikována dobrá zdrojová složka.</translation>
</message>
<message>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -1837,10 +1875,6 @@ Autoři této aplikace nenesou žádnou odpovědnost za ztrátu Vašich dat.</tr
<source>Test setup</source>
<translation>Otestovat</translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation>Berte na vědomí, že latence a celková rychlost zvoleného MySQL serveru může mít rozhodující vliv na rychlost této aplikace. Použití pomalého serveru může vést k tomu, že práce se zprávami či kanály bude neúměrně pomalá.</translation>
</message>
<message>
<source>Right mouse button double-click</source>
<translation>Dvojklik pravého tlačítka myši</translation>
@ -2118,6 +2152,16 @@ Musíte restartovat manuálně.</translation>
<source>Select downloads target directory</source>
<translation>Zvolit cílový adresář pro uložení stahovaných souborů</translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.
MySQL backend will automatically use database with name &quot;rssguard&quot;. Do not create this database manually, let this application to handle it by itself. Therefore, given user must have rights to created and deleted databases.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Show password</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormUpdate</name>
@ -2345,6 +2389,14 @@ Přejít na web aplikace a stáhnout jej ručně.</translation>
<source>Is message permanently deleted from recycle bin?</source>
<translation>Je zpráva permanentně vysypána z koše?</translation>
</message>
<message>
<source>Attachments</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>List of attachments.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessagesToolBar</name>

View File

@ -7,6 +7,26 @@
<source>Application is already running.</source>
<translation>Die Applikation läuft bereits.</translation>
</message>
<message>
<source>Output folder is not writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DatabaseFactory</name>
@ -29,6 +49,21 @@
<translation>Unbekannter Fehler.</translation>
</message>
</context>
<context>
<name>DiscoverFeedsButton</name>
<message>
<source>This website does not contain any feeds.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
@ -328,50 +363,26 @@ Auto-update status: %5</source>
<source>Cannot add standard category</source>
<translation>Kann die Standardkategorie nicht hinzufügen</translation>
</message>
<message>
<source>You cannot add new standard category now because feed update is ongoing.</source>
<translation>Sie können jetzt keine Standardkategorie hinzufügen weil der Feed-Update läuft.</translation>
</message>
<message>
<source>Cannot add standard feed</source>
<translation>Kann den Standard-Feed nicht hinzufügen</translation>
</message>
<message>
<source>You cannot add new standard feed now because feed update is ongoing.</source>
<translation>Sie können jetzt keinen Standard-Feed hinzufügen weil der Feed-Update läuft.</translation>
</message>
<message>
<source>Cannot edit item</source>
<translation>Kann das Item nicht editieren</translation>
</message>
<message>
<source>Selected item cannot be edited because feed update is ongoing.</source>
<translation>Selektiertes Item kann nicht editiert werden weil der Feed-Update läuft.</translation>
</message>
<message>
<source>Cannot delete item</source>
<translation>Item kann nicht gelöscht werden</translation>
</message>
<message>
<source>Selected item cannot be deleted because feed update is ongoing.</source>
<translation>Selektiertes Item kann nicht gelöscht werden weil der Feed-Update läuft.</translation>
</message>
<message>
<source>Cannot update all items</source>
<translation>Kann nicht alle Items updaten</translation>
</message>
<message>
<source>You cannot update all items because another feed update is ongoing.</source>
<translation>Sie können nicht alle Items updaten weil ein anderer Feed-Update läuft.</translation>
</message>
<message>
<source>Cannot update selected items</source>
<translation>Kann die selektierten Items nicht updaten</translation>
</message>
<message>
<source>You cannot update selected items because another feed update is ongoing.</source>
<translation>Sie können die selektierten Items nicht updaten weil ein anderer Feed-Update läuft.</translation>
</message>
<message>
<source>You are about to delete selected feed or category.</source>
<translation type="unfinished"></translation>
@ -412,6 +423,30 @@ Auto-update status: %5</source>
<source>Context menu for recycle bin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update all items because another another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -543,15 +578,6 @@ Auto-update status: %5</source>
<source>Backup was created successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed, database and/or settings is probably not backed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed. Check the output folder if your database
and/or settings were backed or not. Also make sure that target foder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select destionation folder</source>
<translation type="unfinished"></translation>
@ -568,6 +594,14 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Backup name looks okay.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Output folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormCategoryDetails</name>
@ -1481,10 +1515,6 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>You need to restart application for restoration process to finish.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Restoration was not initiated successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database and/or settings were not copied to restoration folder successully.</source>
<translation type="unfinished"></translation>
@ -1497,6 +1527,10 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Good source folder is specified.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -1814,10 +1848,6 @@ Authors of this application are NOT responsible for lost data.</source>
<source>Test setup</source>
<translation>Testkonfiguration</translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation>Beachten Sie, dass die Geschwindigkeit und Latenz des verwendeten MySQL-Servers SEHR vom verwendeten Verbindungsmedium abhängt und die Applikation somit beeinflusst. Langsame Verbindungen führen zu einer schlechten Performanz der Feeds oder Nachrichten.</translation>
</message>
<message>
<source>Right mouse button double-click</source>
<translation>Doppelklick der rechten Maustaste</translation>
@ -2087,6 +2117,16 @@ You have to restart manually.</source>
<source>Select downloads target directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.
MySQL backend will automatically use database with name &quot;rssguard&quot;. Do not create this database manually, let this application to handle it by itself. Therefore, given user must have rights to created and deleted databases.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Show password</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormUpdate</name>
@ -2316,6 +2356,14 @@ Go to application website to obtain it manually.</source>
<source>Is message permanently deleted from recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Attachments</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>List of attachments.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessagesToolBar</name>

View File

@ -7,6 +7,26 @@
<source>Application is already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Output folder is not writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DatabaseFactory</name>
@ -29,6 +49,21 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DiscoverFeedsButton</name>
<message>
<source>This website does not contain any feeds.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
@ -328,50 +363,26 @@ Auto-update status: %5</source>
<source>Cannot add standard category</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot add standard feed</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot edit item</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot delete item</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot update all items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update all items because another feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot update selected items</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You are about to delete selected feed or category.</source>
<translation type="unfinished"></translation>
@ -412,6 +423,30 @@ Auto-update status: %5</source>
<source>Context menu for recycle bin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update all items because another another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -543,15 +578,6 @@ Auto-update status: %5</source>
<source>Backup was created successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed, database and/or settings is probably not backed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed. Check the output folder if your database
and/or settings were backed or not. Also make sure that target foder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select destionation folder</source>
<translation type="unfinished"></translation>
@ -568,6 +594,14 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Backup name looks okay.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Output folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormCategoryDetails</name>
@ -1481,10 +1515,6 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>You need to restart application for restoration process to finish.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Restoration was not initiated successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database and/or settings were not copied to restoration folder successully.</source>
<translation type="unfinished"></translation>
@ -1497,6 +1527,10 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Good source folder is specified.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -1812,10 +1846,6 @@ Authors of this application are NOT responsible for lost data.</source>
<source>Test setup</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Right mouse button double-click</source>
<translation type="unfinished"></translation>
@ -2085,6 +2115,16 @@ You have to restart manually.</source>
<source>Select downloads target directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.
MySQL backend will automatically use database with name &quot;rssguard&quot;. Do not create this database manually, let this application to handle it by itself. Therefore, given user must have rights to created and deleted databases.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Show password</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormUpdate</name>
@ -2311,6 +2351,14 @@ Go to application website to obtain it manually.</source>
<source>Is message permanently deleted from recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Attachments</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>List of attachments.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessagesToolBar</name>

File diff suppressed because it is too large Load Diff

View File

@ -7,6 +7,26 @@
<source>Application is already running.</source>
<translation>L&apos;application est déjà en cours d&apos;exécution.</translation>
</message>
<message>
<source>Output folder is not writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DatabaseFactory</name>
@ -29,6 +49,21 @@
<translation>Erreur inconnue.</translation>
</message>
</context>
<context>
<name>DiscoverFeedsButton</name>
<message>
<source>This website does not contain any feeds.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
@ -329,50 +364,26 @@ Auto-update status: %5</source>
<source>Cannot add standard category</source>
<translation>Impossible d&apos;ajouter une catégorie standard</translation>
</message>
<message>
<source>You cannot add new standard category now because feed update is ongoing.</source>
<translation>Impossible d&apos;ajouter une nouvelle catégorie standard car une mise à jour est en cours.</translation>
</message>
<message>
<source>Cannot add standard feed</source>
<translation>Impossible d&apos;ajouter un flux standard</translation>
</message>
<message>
<source>You cannot add new standard feed now because feed update is ongoing.</source>
<translation>Impossible d&apos;ajouter un nouveau flux standard car une mise à jour est en cours.</translation>
</message>
<message>
<source>Cannot edit item</source>
<translation>Impossible d&apos;éditer l&apos;article</translation>
</message>
<message>
<source>Selected item cannot be edited because feed update is ongoing.</source>
<translation>L&apos;article sélectionné ne peut pas être éditer car une mise à jour est en cours sur les flux.</translation>
</message>
<message>
<source>Cannot delete item</source>
<translation>Impossible de supprimer l&apos;article</translation>
</message>
<message>
<source>Selected item cannot be deleted because feed update is ongoing.</source>
<translation>L&apos;article sélectionné ne peut pas être supprimer car une mise à jour est en cours sur les flux.</translation>
</message>
<message>
<source>Cannot update all items</source>
<translation>Impossible de mettre tout les articles à jour</translation>
</message>
<message>
<source>You cannot update all items because another feed update is ongoing.</source>
<translation>Vous ne pouvez pas mettre à jour tout les articles car une autre mise à jour est en cours sur les flux.</translation>
</message>
<message>
<source>Cannot update selected items</source>
<translation>Impossible de mettre les articles sélectionnés à jour</translation>
</message>
<message>
<source>You cannot update selected items because another feed update is ongoing.</source>
<translation>Vous ne pouvez pas mettre à jour les articles sélectionnés car une autre mise à jour est en cours sur les flux.</translation>
</message>
<message>
<source>You are about to delete selected feed or category.</source>
<translation type="unfinished"></translation>
@ -413,6 +424,30 @@ Auto-update status: %5</source>
<source>Context menu for recycle bin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update all items because another another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -544,15 +579,6 @@ Auto-update status: %5</source>
<source>Backup was created successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed, database and/or settings is probably not backed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed. Check the output folder if your database
and/or settings were backed or not. Also make sure that target foder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select destionation folder</source>
<translation type="unfinished"></translation>
@ -569,6 +595,14 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Backup name looks okay.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Output folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormCategoryDetails</name>
@ -1482,10 +1516,6 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>You need to restart application for restoration process to finish.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Restoration was not initiated successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database and/or settings were not copied to restoration folder successully.</source>
<translation type="unfinished"></translation>
@ -1498,6 +1528,10 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Good source folder is specified.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -1825,10 +1859,6 @@ Les auteurs de cette application NE sont PAS responsable de la perte de données
<source>Test setup</source>
<translation>Configuration de test</translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation>Noter que la vitesse du serveur MySQL utilisé et la latence de la connexion utilisée influent FORTEMENT la performance finale de cette application. L&apos;utilisation de connexions lentes pour la base de données conduit à une mauvaise performance lors de la navigation dans les flux ou messages.</translation>
</message>
<message>
<source>Right mouse button double-click</source>
<translation>Double-clic du bouton droit de la souris</translation>
@ -2104,6 +2134,16 @@ You have to restart manually.</source>
<source>Select downloads target directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.
MySQL backend will automatically use database with name &quot;rssguard&quot;. Do not create this database manually, let this application to handle it by itself. Therefore, given user must have rights to created and deleted databases.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Show password</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormUpdate</name>
@ -2334,6 +2374,14 @@ Aller sur le site de l&apos;application pour les obtenir manuellement.</translat
<source>Is message permanently deleted from recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Attachments</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>List of attachments.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessagesToolBar</name>

View File

@ -7,6 +7,26 @@
<source>Application is already running.</source>
<translation>Applicazione già avviata.</translation>
</message>
<message>
<source>Output folder is not writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DatabaseFactory</name>
@ -29,6 +49,21 @@
<translation>Errore sconosciuto.</translation>
</message>
</context>
<context>
<name>DiscoverFeedsButton</name>
<message>
<source>This website does not contain any feeds.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
@ -328,50 +363,26 @@ Auto-update status: %5</source>
<source>Cannot add standard category</source>
<translation>Impossibile aggiungere categoria standard </translation>
</message>
<message>
<source>You cannot add new standard category now because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot add standard feed</source>
<translation>Impossibile aggiungere feed standard</translation>
</message>
<message>
<source>You cannot add new standard feed now because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot edit item</source>
<translation>Impossibile modificare elemento</translation>
</message>
<message>
<source>Selected item cannot be edited because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot delete item</source>
<translation>Impossibile eliminare l&apos;elemento</translation>
</message>
<message>
<source>Selected item cannot be deleted because feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot update all items</source>
<translation>Impossibile aggiornare tutti gli elementi</translation>
</message>
<message>
<source>You cannot update all items because another feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Cannot update selected items</source>
<translation>Impossibile aggiornare gli elementi selezionati</translation>
</message>
<message>
<source>You cannot update selected items because another feed update is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You are about to delete selected feed or category.</source>
<translation type="unfinished"></translation>
@ -412,6 +423,30 @@ Auto-update status: %5</source>
<source>Context menu for recycle bin</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update all items because another another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -543,15 +578,6 @@ Auto-update status: %5</source>
<source>Backup was created successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed, database and/or settings is probably not backed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed. Check the output folder if your database
and/or settings were backed or not. Also make sure that target foder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Select destionation folder</source>
<translation type="unfinished"></translation>
@ -568,6 +594,14 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Backup name looks okay.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Output folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormCategoryDetails</name>
@ -1481,10 +1515,6 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>You need to restart application for restoration process to finish.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Restoration was not initiated successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database and/or settings were not copied to restoration folder successully.</source>
<translation type="unfinished"></translation>
@ -1497,6 +1527,10 @@ and/or settings were backed or not. Also make sure that target foder is writable
<source>Good source folder is specified.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -1814,10 +1848,6 @@ Authors of this application are NOT responsible for lost data.</source>
<source>Test setup</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Right mouse button double-click</source>
<translation type="unfinished"></translation>
@ -2087,6 +2117,16 @@ You have to restart manually.</source>
<source>Select downloads target directory</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.
MySQL backend will automatically use database with name &quot;rssguard&quot;. Do not create this database manually, let this application to handle it by itself. Therefore, given user must have rights to created and deleted databases.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Show password</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormUpdate</name>
@ -2316,6 +2356,14 @@ Go to application website to obtain it manually.</source>
<source>Is message permanently deleted from recycle bin?</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Attachments</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>List of attachments.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessagesToolBar</name>

View File

@ -1,10 +1,32 @@
<?xml version="1.0" ?><!DOCTYPE TS><TS language="nl_NL" version="2.1">
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl_NL">
<context>
<name>Application</name>
<message>
<source>Application is already running.</source>
<translation>RSSguard is al gestart.</translation>
</message>
<message>
<source>Output folder is not writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DatabaseFactory</name>
@ -27,6 +49,21 @@
<translation>Onbekende fout.</translation>
</message>
</context>
<context>
<name>DiscoverFeedsButton</name>
<message>
<source>This website does not contain any feeds.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
@ -102,11 +139,17 @@
</message>
<message numerus="yes">
<source>%n minutes remaining</source>
<translation><numerusform>%n resterende minuut</numerusform><numerusform>%n resterende minuten</numerusform></translation>
<translation>
<numerusform>%n resterende minuut</numerusform>
<numerusform>%n resterende minuten</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n seconds remaining</source>
<translation><numerusform>%n resterende seconde</numerusform><numerusform>%n resterende seconden</numerusform></translation>
<translation>
<numerusform>%n resterende seconde</numerusform>
<numerusform>%n resterende seconden</numerusform>
</translation>
</message>
<message>
<source>bytes</source>
@ -126,7 +169,10 @@
</message>
<message numerus="yes">
<source>Downloading %n file(s)...</source>
<translation><numerusform>Dowloading %1 bestand...</numerusform><numerusform>Downloading %n bestanden...</numerusform></translation>
<translation>
<numerusform>Dowloading %1 bestand...</numerusform>
<numerusform>Downloading %n bestanden...</numerusform>
</translation>
</message>
</context>
<context>
@ -223,7 +269,10 @@
<message numerus="yes">
<source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
<translation><numerusform>%n ongelezen bericht.</numerusform><numerusform>%n ongelezen berichten.</numerusform></translation>
<translation>
<numerusform>%n ongelezen bericht.</numerusform>
<numerusform>%n ongelezen berichten.</numerusform>
</translation>
</message>
<message>
<source>%1 (category)%2%3</source>
@ -253,12 +302,18 @@ Deze categorie bevat geen nested items.</translation>
<message numerus="yes">
<source>uses specific settings (%n minute(s) to next auto-update)</source>
<extracomment>Describes feed auto-update status.</extracomment>
<translation><numerusform>gebruik specifieke instellingen (%n minuut voor volgende automatische update)</numerusform><numerusform>gebruik specifieke instellingen (%n minuten voor volgende automatische update)</numerusform></translation>
<translation>
<numerusform>gebruik specifieke instellingen (%n minuut voor volgende automatische update)</numerusform>
<numerusform>gebruik specifieke instellingen (%n minuten voor volgende automatische update)</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%n unread message(s).</source>
<extracomment>Tooltip for &quot;unread&quot; column of feed list.</extracomment>
<translation><numerusform>%n ongelezen bericht.</numerusform><numerusform>%n ongelezen berichten.</numerusform></translation>
<translation>
<numerusform>%n ongelezen bericht.</numerusform>
<numerusform>%n ongelezen berichten.</numerusform>
</translation>
</message>
<message>
<source>%1 (%2)%3
@ -292,7 +347,10 @@ Auto-update status: %5</translation>
</message>
<message numerus="yes">
<source>%n deleted message(s).</source>
<translation><numerusform>%n verwijderde bericht(en).</numerusform><numerusform>%n verwijderde bericht(en).</numerusform></translation>
<translation>
<numerusform>%n verwijderde bericht(en).</numerusform>
<numerusform>%n verwijderde bericht(en).</numerusform>
</translation>
</message>
</context>
<context>
@ -312,50 +370,26 @@ Auto-update status: %5</translation>
<source>Cannot add standard category</source>
<translation>Kan geen standaard categorie toevoegen</translation>
</message>
<message>
<source>You cannot add new standard category now because feed update is ongoing.</source>
<translation>Je kan niet een nieuwe standaard categorie toevoegen omdat feeds aan het updaten zijn.</translation>
</message>
<message>
<source>Cannot add standard feed</source>
<translation>Kan geen standaard feed toevoegen</translation>
</message>
<message>
<source>You cannot add new standard feed now because feed update is ongoing.</source>
<translation>Je kan niet een nieuwe standaard feed toevoegen omdat feeds aan het updaten zijn.</translation>
</message>
<message>
<source>Cannot edit item</source>
<translation>Kan item niet bewerken</translation>
</message>
<message>
<source>Selected item cannot be edited because feed update is ongoing.</source>
<translation>Gekozen item kan niet worden bewerkt omdat feeds aan het updaten zijn.</translation>
</message>
<message>
<source>Cannot delete item</source>
<translation>Kan item niet verwijderen</translation>
</message>
<message>
<source>Selected item cannot be deleted because feed update is ongoing.</source>
<translation>Geselecteerde item kan niet worden verwijderd omdat feeds aan het updaten zijn.</translation>
</message>
<message>
<source>Cannot update all items</source>
<translation>Kan alle items niet bijwerken</translation>
</message>
<message>
<source>You cannot update all items because another feed update is ongoing.</source>
<translation>Je kan niet alle items updaten omdat feeds aan het updaten zijn.</translation>
</message>
<message>
<source>Cannot update selected items</source>
<translation>Kan geselecteerde items niet bijwerken</translation>
</message>
<message>
<source>You cannot update selected items because another feed update is ongoing.</source>
<translation>Je kan gekozen items niet bijwerken omdat feeds aan het updaten zijn.</translation>
</message>
<message>
<source>You are about to delete selected feed or category.</source>
<translation>Je gaat geselecteerde feed of categorie verwijderen.</translation>
@ -396,6 +430,30 @@ Auto-update status: %5</translation>
<source>Context menu for recycle bin</source>
<translation>Contextmenu voor prullenbak</translation>
</message>
<message>
<source>You cannot update all items because another another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -527,16 +585,6 @@ Auto-update status: %5</translation>
<source>Backup was created successfully.</source>
<translation>Back-up is gemaakt.</translation>
</message>
<message>
<source>Backup failed, database and/or settings is probably not backed.</source>
<translation>Back-up mislukt, database en / of instellingen worden waarschijnlijk niet ondersteund.</translation>
</message>
<message>
<source>Backup failed. Check the output folder if your database
and/or settings were backed or not. Also make sure that target foder is writable.</source>
<translation>Back-up mislukt. Controleer de uitvoer map als uw database
en / of instellingen die niet werden gesteund. Zorg er ook voor dat de doelmap beschrijfbaar is.</translation>
</message>
<message>
<source>Select destionation folder</source>
<translation>Selecteer bestemmingsmap</translation>
@ -553,6 +601,14 @@ en / of instellingen die niet werden gesteund. Zorg er ook voor dat de doelmap b
<source>Backup name looks okay.</source>
<translation>Backup naam is in orde.</translation>
</message>
<message>
<source>Output folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormCategoryDetails</name>
@ -1467,10 +1523,6 @@ Exporteer feeds die je wilt van het geselecteerde bestand.</translation>
<source>You need to restart application for restoration process to finish.</source>
<translation>Je moet RssGuard herstarten om de herstel procedure te voltooien.</translation>
</message>
<message>
<source>Restoration was not initiated successfully.</source>
<translation>Het herstellen werd niet met succes gestart.</translation>
</message>
<message>
<source>Database and/or settings were not copied to restoration folder successully.</source>
<translation>Database en / of instellingen werden niet gekopieerd naar de herstel map.</translation>
@ -1483,6 +1535,10 @@ Exporteer feeds die je wilt van het geselecteerde bestand.</translation>
<source>Good source folder is specified.</source>
<translation>Juiste source map is opgegeven.</translation>
</message>
<message>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -1811,10 +1867,6 @@ Auteurs van Rssguard zijn NIET verantwoordelijk voor verlies van gegevens.</tran
<source>Test setup</source>
<translation>Test instelling</translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation>Merk op dat de snelheid van de gebruikte MySQL server en wachttijd van de gebruikte verbinding ZWAAR invloed heeft op de uiteindelijke prestaties van deze toepassing. Met langzame database connecties leidt dit tot slechte prestaties tijdens het browsen feeds of berichten.</translation>
</message>
<message>
<source>Right mouse button double-click</source>
<translation>Rechter muisknop dubbele-klik</translation>
@ -2093,6 +2145,16 @@ Wanneer een nieuw feed bericht binnenkomt en dubbel bestaat, dan wordt de inhoud
<source>Select downloads target directory</source>
<translation>Selecteer gedownloade doelmap </translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.
MySQL backend will automatically use database with name &quot;rssguard&quot;. Do not create this database manually, let this application to handle it by itself. Therefore, given user must have rights to created and deleted databases.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Show password</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormUpdate</name>
@ -2323,6 +2385,14 @@ Ga naar RRSguard website en download het handmatig.</translation>
<source>Is message permanently deleted from recycle bin?</source>
<translation>Is het bericht definitief verwijderd uit de prullenbak?</translation>
</message>
<message>
<source>Attachments</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>List of attachments.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessagesToolBar</name>
@ -2814,4 +2884,4 @@ Ongelezen nieuws: %2</translation>
<translation>Afbeelding opslaan als...</translation>
</message>
</context>
</TS>
</TS>

View File

@ -7,6 +7,26 @@
<source>Application is already running.</source>
<translation>Programmet är redan startat.</translation>
</message>
<message>
<source>Output folder is not writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database file not copied to output folder successfully.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Database restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Settings restoration was not initiated. Make sure that output folder is writable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>DatabaseFactory</name>
@ -29,6 +49,21 @@
<translation>Okänt fel.</translation>
</message>
</context>
<context>
<name>DiscoverFeedsButton</name>
<message>
<source>This website does not contain any feeds.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
<source>Click me to add feeds from this website.
This website contains %n feed(s).</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
</context>
<context>
<name>DownloadItem</name>
<message>
@ -334,50 +369,26 @@ Uppdateringsstatus: %5</translation>
<source>Cannot add standard category</source>
<translation>Kan inte lägga till kategori</translation>
</message>
<message>
<source>You cannot add new standard category now because feed update is ongoing.</source>
<translation>Du kan inte lägga till ny kategori nu, eftersom flödesuppdatering pågår.</translation>
</message>
<message>
<source>Cannot add standard feed</source>
<translation>Kan inte lägga till flöde</translation>
</message>
<message>
<source>You cannot add new standard feed now because feed update is ongoing.</source>
<translation>Du kan inte lägga till nytt flöde nu, eftersom flödesuppdatering pågår.</translation>
</message>
<message>
<source>Cannot edit item</source>
<translation>Kan inte redigera objektet</translation>
</message>
<message>
<source>Selected item cannot be edited because feed update is ongoing.</source>
<translation>Det markerade objektet kan inte redigeras eftersom flödesuppdatering pågår.</translation>
</message>
<message>
<source>Cannot delete item</source>
<translation>Kan inte bort objektet</translation>
</message>
<message>
<source>Selected item cannot be deleted because feed update is ongoing.</source>
<translation>Markerat objekt kan inte tas bort eftersom flödesuppdatering pågår.</translation>
</message>
<message>
<source>Cannot update all items</source>
<translation>Kan inte uppdatera alla objekt</translation>
</message>
<message>
<source>You cannot update all items because another feed update is ongoing.</source>
<translation>Du kan inte uppdatera alla objekt eftersom flödesuppdatering redan pågår.</translation>
</message>
<message>
<source>Cannot update selected items</source>
<translation>Kan inte uppdatera markerat objekt</translation>
</message>
<message>
<source>You cannot update selected items because another feed update is ongoing.</source>
<translation>Du kan inte uppdatera markerat objekt eftersom flödesuppdatering redan pågår.</translation>
</message>
<message>
<source>You are about to delete selected feed or category.</source>
<translation>Du är väg att ta bort markerat flöde eller kategori.</translation>
@ -418,6 +429,30 @@ Uppdateringsstatus: %5</translation>
<source>Context menu for recycle bin</source>
<translation>Kontextmeny för papperskorgen</translation>
</message>
<message>
<source>You cannot update all items because another another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot update selected items because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard category now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You cannot add new standard feed now because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be edited because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Selected item cannot be deleted because another critical operation is ongoing.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -549,16 +584,6 @@ Uppdateringsstatus: %5</translation>
<source>Backup was created successfully.</source>
<translation>Säkerhetskopiering slutförd.</translation>
</message>
<message>
<source>Backup failed, database and/or settings is probably not backed.</source>
<translation>Säkerhetshopiering misslyckades. Databas och/eller inställningar ej kopierade.</translation>
</message>
<message>
<source>Backup failed. Check the output folder if your database
and/or settings were backed or not. Also make sure that target foder is writable.</source>
<translation>Säkerhetshopiering misslyckades. Kontrollera i målmappen om databas
och/eller inställningar sparades. Tillse också att målmappen inte är skrivskyddad.</translation>
</message>
<message>
<source>Select destionation folder</source>
<translation>Välj målmapp</translation>
@ -575,6 +600,14 @@ och/eller inställningar sparades. Tillse också att målmappen inte är skrivsk
<source>Backup name looks okay.</source>
<translation>Säkerhetskopians namn är godkänt.</translation>
</message>
<message>
<source>Output folder</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backup failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormCategoryDetails</name>
@ -1488,10 +1521,6 @@ och/eller inställningar sparades. Tillse också att målmappen inte är skrivsk
<source>You need to restart application for restoration process to finish.</source>
<translation>Du måste starta om programmet för att slutföra återställningen.</translation>
</message>
<message>
<source>Restoration was not initiated successfully.</source>
<translation>Återställning kunde inte utföras.</translation>
</message>
<message>
<source>Database and/or settings were not copied to restoration folder successully.</source>
<translation>Databas och/eller inställningar kopierades inte till återställningsmappen.</translation>
@ -1504,6 +1533,10 @@ och/eller inställningar sparades. Tillse också att målmappen inte är skrivsk
<source>Good source folder is specified.</source>
<translation>Källmappen är godkänd.</translation>
</message>
<message>
<source>Source folder</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -1832,10 +1865,6 @@ Utvecklaren av detta program, är INTE ansvarig för förlorad data.</translatio
<source>Test setup</source>
<translation>Testa</translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.</source>
<translation>Notera att hastigheten den använda MySQL-servern och latensen för aktuellt anslutningsmedium, KRAFTIGT påverkar detta programs prestanda. Användning av långsamma databasanslutningar leder till dålig prestanda vid navigering bland flöden och meddelanden.</translation>
</message>
<message>
<source>Right mouse button double-click</source>
<translation>Dubbelklick höger musknapp</translation>
@ -2113,6 +2142,16 @@ Du måste starta om manuellt.</translation>
<source>Select downloads target directory</source>
<translation>Välj nedladdningsmapp</translation>
</message>
<message>
<source>Note that speed of used MySQL server and latency of used connection medium HEAVILY influences the final performance of this application. Using slow database connections leads to bad performance when browsing feeds or messages.
MySQL backend will automatically use database with name &quot;rssguard&quot;. Do not create this database manually, let this application to handle it by itself. Therefore, given user must have rights to created and deleted databases.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Show password</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormUpdate</name>
@ -2342,6 +2381,14 @@ Gå till programmets hemsida för att hämta den manuellt.</translation>
<source>Is message permanently deleted from recycle bin?</source>
<translation>Är meddelandet permanent borttaget från papperskorgen?</translation>
</message>
<message>
<source>Attachments</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>List of attachments.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MessagesToolBar</name>

View File

@ -82,6 +82,9 @@
#define MIME_TYPE_ITEM_POINTER "rssguard/itempointer"
#define DOWNLOADER_ICON_SIZE 48
#define FEED_REGEX_MATCHER "<link[^>]+type=\\\"application/(atom|rss)\\+xml\\\"[^>]*>"
#define FEED_HREF_REGEX_MATCHER "href\\=\\\"[^\\\"]+\\\""
#define PLACEHOLDER_UNREAD_COUNTS "%unread"
#define PLACEHOLDER_ALL_COUNTS "%all"

View File

@ -35,6 +35,8 @@
#include <QMenu>
#include <QPair>
#include <QNetworkReply>
#include <QClipboard>
#include <QMimeData>
FormFeedDetails::FormFeedDetails(FeedsModel *model, QWidget *parent)
@ -86,6 +88,10 @@ int FormFeedDetails::exec(FeedsModelFeed *input_feed, FeedsModelRootItem *parent
}
}
}
if (qApp->clipboard()->mimeData()->hasText()) {
m_ui->m_txtUrl->lineEdit()->setText(qApp->clipboard()->text());
}
}
else {
// User is editing existing category.

View File

@ -0,0 +1,42 @@
#include "network-web/discoverfeedsbutton.h"
#include "miscellaneous/application.h"
#include "miscellaneous/iconfactory.h"
DiscoverFeedsButton::DiscoverFeedsButton(QWidget *parent) : QToolButton(parent) {
setEnabled(false);
setIcon(qApp->icons()->fromTheme("folder-feed"));
}
DiscoverFeedsButton::~DiscoverFeedsButton() {
}
void DiscoverFeedsButton::clearFeedAddresses() {
setFeedAddresses(QStringList());
}
void DiscoverFeedsButton::setFeedAddresses(const QStringList &addresses) {
setEnabled(!addresses.isEmpty());
setToolTip(addresses.isEmpty() ?
tr("This website does not contain any feeds.") :
tr("Click me to add feeds from this website.\nThis website contains %n feed(s).", 0, addresses.size()));
if (menu() == NULL) {
setMenu(new QMenu(this));
// TODO: pokračovat asi zde, po kliku na menu vyslat signal, ten odchytne webbrowser a provede akce.
}
menu()->hide();
if (!addresses.isEmpty()) {
menu()->clear();
foreach (const QString &feed, addresses) {
menu()->addAction(feed);
}
connect(this, SIGNAL(clicked(bool)), this, SLOT(showMenu()));
}
}

View File

@ -0,0 +1,18 @@
#ifndef DISCOVERFEEDSBUTTON_H
#define DISCOVERFEEDSBUTTON_H
#include <QToolButton>
class DiscoverFeedsButton : public QToolButton {
Q_OBJECT
public:
explicit DiscoverFeedsButton(QWidget *parent = 0);
virtual ~DiscoverFeedsButton();
void clearFeedAddresses();
void setFeedAddresses(const QStringList &addresses);
};
#endif // DISCOVERFEEDSBUTTON_H

View File

@ -32,10 +32,25 @@
NetworkFactory::NetworkFactory() {
}
QStringList NetworkFactory::extractFeedLinksFromHtmlPage(const QString &html) {
QStringList NetworkFactory::extractFeedLinksFromHtmlPage(const QUrl &url, const QString &html) {
QStringList feeds;
QRegExp rx(FEED_REGEX_MATCHER, Qt::CaseInsensitive);
QRegExp rx_href(FEED_HREF_REGEX_MATCHER, Qt::CaseInsensitive);
for (int pos = 0; (pos = rx.indexIn(html, pos)) != -1; pos += rx.matchedLength()) {
QString link_element = html.mid(pos, rx.matchedLength());
if (rx_href.indexIn(link_element) != -1) {
QString href_attribute = rx_href.capturedTexts().at(0);
QString feed_link = href_attribute.mid(6, href_attribute.size() - 7);
if (feed_link.startsWith('/')) {
feed_link = url.toString(QUrl::RemovePath | QUrl::RemoveQuery | QUrl::StripTrailingSlash) + feed_link;
}
feeds.append(feed_link);
}
}
return feeds;
}

View File

@ -34,7 +34,7 @@ class NetworkFactory {
explicit NetworkFactory();
public:
static QStringList extractFeedLinksFromHtmlPage(const QString &html);
static QStringList extractFeedLinksFromHtmlPage(const QUrl &url, const QString &html);
// Returns human readable text for given network error.
static QString networkErrorText(QNetworkReply::NetworkError error_code);

View File

@ -114,11 +114,18 @@ void WebBrowser::initializeLayout() {
m_actionStop->setText(tr("Stop"));
m_actionStop->setToolTip(tr("Stop web page loading."));
m_btnDiscoverFeeds = new DiscoverFeedsButton(this);
QWidgetAction *act_discover = new QWidgetAction(this);
act_discover->setDefaultWidget(m_btnDiscoverFeeds);
// Add needed actions into toolbar.
m_toolBar->addAction(m_actionBack);
m_toolBar->addAction(m_actionForward);
m_toolBar->addAction(m_actionReload);
m_toolBar->addAction(m_actionStop);
m_toolBar->addAction(act_discover);
m_toolBar->addWidget(m_txtLocation);
// Initialize dynamic progress bar which will be displayed
@ -157,15 +164,13 @@ void WebBrowser::onLoadingProgress(int progress) {
}
void WebBrowser::onLoadingFinished(bool success) {
Q_UNUSED(success)
if (success) {
// Let's check if there are any feeds defined on the web and eventually
// display "Add feeds" button.
QString loaded_html = m_webView->page()->toHtml();
QStringList feeds_on_page = NetworkFactory::extractFeedLinksFromHtmlPage(loaded_html);
// TODO: mame načteno html, nyni z něj funkcí vytáhneme seznam adres kanálů. dodelat tu fci.
m_btnDiscoverFeeds->setFeedAddresses(NetworkFactory::extractFeedLinksFromHtmlPage(m_webView->url(), m_webView->page()->toHtml()));
}
else {
m_btnDiscoverFeeds->clearFeedAddresses();
}
m_loadingProgress->hide();

View File

@ -23,6 +23,7 @@
#include "core/messagesmodel.h"
#include "network-web/webview.h"
#include "gui/locationlineedit.h"
#include "network-web/discoverfeedsbutton.h"
#include <QWidget>
#include <QWidgetAction>
@ -151,6 +152,7 @@ class WebBrowser : public TabContent {
QHBoxLayout *m_loadingLayout;
QProgressBar *m_loadingProgress;
QLabel *m_lblProgress;
DiscoverFeedsButton *m_btnDiscoverFeeds;
QWidgetAction *m_actionZoom;
QAction *m_actionBack;