diff --git a/localization/rssguard_fi.ts b/localization/rssguard_fi.ts
index 375450ddf..f02ec0d4b 100644
--- a/localization/rssguard_fi.ts
+++ b/localization/rssguard_fi.ts
@@ -38,7 +38,7 @@
&Test configuration
-
+ &Testaa kokoonpanoFilter lists
@@ -46,11 +46,11 @@
No test executed yet.
-
+ Testiä ei ole vielä suoritettu.Cannot enable AdBlock
-
+ AdBlockin käyttöönotto ei onnistuThere is some error in AdBlock component and it cannot be enabled. Check error message below (or application debug log) for more information.
@@ -62,7 +62,7 @@
OK!
-
+ OK!There is error, check application log for more details and head to online documentation. Also make sure that Node.js is installed.
@@ -72,7 +72,7 @@ Error: %1ERROR!
-
+ VIRHE!
@@ -90,7 +90,7 @@ Error: %1
AdBlockManagerAdBlock needs to be configured
-
+ AdBlockin asetukset tulee määrittääAdBlock component is not configured properly.
@@ -98,7 +98,7 @@ Error: %1
failed to download filter list '%1'
-
+ suodatuslistan '%1' lataaminen epäonnistui
@@ -160,11 +160,11 @@ Error: %1
Set username to access the feed.
-
+ Aseta käyttäjätunnus voidaksesi käyttää syötettä.Set password to access the feed.
-
+ Aseta salasana voidaksesi käyttää syötettä.Username is ok or it is not needed.
@@ -187,7 +187,7 @@ Error: %1
BaseLineEditShow/hide the password
-
+ Näytä/piilota salasana
@@ -221,7 +221,7 @@ Error: %1
Removing read articles...
-
+ Poistetaan luetut artikkelit...Read articles purged...
@@ -229,7 +229,7 @@ Error: %1
Removing old articles...
-
+ Poistetaan vanhat artikkelit...Old articles purged...
@@ -248,7 +248,7 @@ Error: %1
DatabaseFactoryCannot connect to database
-
+ Tietokantaan ei voi yhdistääConnection to your database was not established with error: '%1'. Falling back to SQLite.
@@ -271,7 +271,7 @@ Error: %1
This website does not contain any feeds
-
+ Verkkosivu ei sisällä syötteitäAdd one of %n feed(s)
@@ -470,11 +470,11 @@ Status: %3
parsing error
-
+ jäsennysvirheerror
-
+ virhe
@@ -515,11 +515,11 @@ Status: %3
Developer access token
-
+ Kehittäjän pääsypolettiGet token
-
+ Hanki poletti&Login
@@ -527,7 +527,7 @@ Status: %3
Username for your account
-
+ Tilisi käyttäjätunnusNo test done yet.
@@ -571,7 +571,7 @@ Status: %3
Login was successful.
-
+ Kirjautuminen onnistui.Some problems.
@@ -583,27 +583,27 @@ Status: %3
Username is okay.
-
+ Käyttäjätunnus on OK.Access token is empty.
-
+ Pääsypoletti on tyhjä.Access token is okay.
-
+ Pääsypoletti on OK.Error: '%1'
-
+ Virhe: '%1'Only download newest X articles per feed
-
+ Lataa vain X artikkelia per syöteDownload unread articles only
-
+ Lataa vain lukemattomat artikkelitBeware of downloading too many articles, because Feedly permanently caches ALL articles of the feed, so you might end up with thousands of articles which you will never read anyway.
@@ -614,15 +614,15 @@ Status: %3
FeedlyNetworkFeedly: authentication error
-
+ Feedly: virhe tunnistautumisessaClick this to login again. Error is: '%1'
-
+ Napsauta kirjautuaksesi uudelleen. Virhe on: '%1'Feedly: authorization denied
-
+ Feedly: valtuutus evättyClick this to login again.
@@ -656,7 +656,7 @@ Status: %3
Cannot perform drag & drop operation
-
+ Raahaa ja pudota -toimintoa ei voi suorittaaCounts of unread/all mesages.
@@ -682,11 +682,11 @@ Status: %3
FeedsViewCannot edit item
-
+ Tietuetta ei voi muokataCannot delete item
-
+ Tietuetta ei voi poistaaContext menu for empty space
@@ -861,11 +861,11 @@ or this functionality is not implemented yet.
FormAccountDetailsEdit account '%1'
-
+ Muokkaa tiliä '%1'Network proxy
-
+ Verkon välityspalvelinAdd new account
@@ -907,11 +907,11 @@ or this functionality is not implemented yet.
E-mail NOT sent
-
+ Sähköpostia EI lähetettyYour e-mail message wasn't sent.
-
+ Sähköpostiviestiäsi ei lähetetty.
@@ -1125,7 +1125,7 @@ or this functionality is not implemented yet.
Edit "%1"
-
+ Muokkaa "%1"
@@ -1180,11 +1180,11 @@ or this functionality is not implemented yet.
Optimize database file
-
+ Optimoi tietokantatiedostoRemove all read articles
-
+ Poista kaikki luetut artikkelitRemove all articles from recycle bin
@@ -1261,7 +1261,7 @@ or this functionality is not implemented yet.
Cannot save changes: %1
-
+ Muutoksia ei voi tallentaa: %1Auto-downloading of articles
@@ -1269,7 +1269,7 @@ or this functionality is not implemented yet.
Edit "%1"
-
+ Muokkaa "%1"Fetch articles using global interval
@@ -1281,7 +1281,7 @@ or this functionality is not implemented yet.
Disable auto-fetching of articles
-
+ Poista käytöstä artikkelien automaattinen noutaminen
@@ -1332,7 +1332,7 @@ or this functionality is not implemented yet.
Hides main window if it is visible and shows it if it is hidden.
-
+ Piilottaa pääikkunan jos se on näkyvissä, palauttaa näkyviin jos pääikkuna on piilossa.Hides or shows the list of feeds/categories.
@@ -1340,7 +1340,7 @@ or this functionality is not implemented yet.
Check if new update for the application is available for download.
-
+ Tarkista onko sovelluspäivitystä tarjolla ladattavaksi.&About application
@@ -1536,31 +1536,31 @@ or this functionality is not implemented yet.
&Add item
-
+ &Lisää tietue&Fullscreen
-
+ &Koko näyttö&Fetch all
-
+ &Nouda kaikkiFetch all feeds
-
+ Nouda kaikki syötteetFetch &selected
-
+ Nouda &valitutFetch selected feeds
-
+ Nouda valitut syötteetMark articles &read
-
+ Merkitse artikkelit &luetuiksiMark selected articles read
@@ -1568,7 +1568,7 @@ or this functionality is not implemented yet.
Mark articles &unread
-
+ Merkitse artikkelit l&ukemattomiksiMark selected articles unread
@@ -1576,7 +1576,7 @@ or this functionality is not implemented yet.
Switch &importance
-
+ Vaihda &tärkeyttäSwitch importance of selected articles
@@ -1592,7 +1592,7 @@ or this functionality is not implemented yet.
&Delete articles
-
+ &Poista artikkelit&Clean selected item
@@ -1600,19 +1600,19 @@ or this functionality is not implemented yet.
Open in &external browser
-
+ Avaa &erillisessä selaimessaOpen selected articles in external browser
-
+ Avaa valitut artikkelit erillisessä selaimessaOpen in &internal browser
-
+ Avaa &sisäisessä selaimessaOpen selected articles in internal browser
-
+ Avaa valitut artikkelit sisäisessä selaimessa&Mark all read
@@ -1632,11 +1632,11 @@ or this functionality is not implemented yet.
&Next article
-
+ &Seuraava artikkeli&Previous article
-
+ &Edellinen artikkeli&List headers
@@ -1656,7 +1656,7 @@ or this functionality is not implemented yet.
Send via e-mail
-
+ Lähetä sähköpostitseSend selected articles via e-mail
@@ -1668,7 +1668,7 @@ or this functionality is not implemented yet.
&Add account
-
+ &Lisää tili&Restore articles
@@ -1676,7 +1676,7 @@ or this functionality is not implemented yet.
Next &unread article
-
+ Seuraava &lukematon artikkeliStop ongoing fetching
@@ -1688,7 +1688,7 @@ or this functionality is not implemented yet.
&Enable article preview
-
+ &Käytä artikkelin esikatselua&Copy URLs of selected item
@@ -1696,7 +1696,7 @@ or this functionality is not implemented yet.
Show &unread articles only
-
+ Näytä vain &lukemattomat artikkelit&Show tree expanders
@@ -1716,19 +1716,19 @@ or this functionality is not implemented yet.
F&eeds
-
+ S&yötteetArt&icles
-
+ Art&ikkelit&Web browser && tabs
-
+ &Verkkoselain && välilehdetTa&bs
-
+ V&älilehdetFetching common data
@@ -1737,7 +1737,7 @@ or this functionality is not implemented yet.
Fetched '%1'Text display in status bar when particular feed is updated.
-
+ Noudettu '%1'
@@ -2175,7 +2175,7 @@ Sinun tulee käynnistää sovellus uudelleen itse.
API returned error code %1
-
+ API palautti virhekoodin %1
@@ -2381,7 +2381,7 @@ Voit asentaa sen nyt.
There is error: %1
-
+ Virhe: %1Preconfigured client ID/secret will be used.
@@ -2389,18 +2389,18 @@ Voit asentaa sen nyt.
Only download newest X articles per feed
-
+ Lataa vain X artikkelia per syöteDownload unread articles only
-
+ Lataa vain lukemattomat artikkelitGmailNetworkFactoryClick this to login again. Error is: '%1'
-
+ Napsauta kirjautuaksesi uudelleen. Virhe on: '%1'Click this to login again.
@@ -2503,7 +2503,7 @@ Login tokens expiration: %2
Username for your account
-
+ Tilisi käyttäjätunnusURL of your server, without any service-specific path
@@ -2539,7 +2539,7 @@ Login tokens expiration: %2
Username is okay.
-
+ Käyttäjätunnus on OK.Password cannot be empty.
@@ -2559,11 +2559,11 @@ Login tokens expiration: %2
Only download newest X articles per feed
-
+ Lataa vain X artikkelia per syöteDownload unread articles only
-
+ Lataa vain lukemattomat artikkelitIntelligent synchronization algorithm
@@ -2654,7 +2654,7 @@ Login tokens expiration: %2
Click this to login again. Error is: '%1'
-
+ Napsauta kirjautuaksesi uudelleen. Virhe on: '%1'Inoreader: authorization denied
@@ -2669,7 +2669,7 @@ Login tokens expiration: %2
GreaderServiceRootOther services
-
+ Muut palvelut
@@ -2755,7 +2755,7 @@ Login tokens expiration: %2
MariaDB
-
+ MariaDB
@@ -3376,7 +3376,7 @@ Login tokens expiration: %2
Username is okay.
-
+ Käyttäjätunnus on OK.Password cannot be empty.
@@ -3396,11 +3396,11 @@ Login tokens expiration: %2
Download unread articles only
-
+ Lataa vain lukemattomat artikkelitOnly download newest X articles per feed
-
+ Lataa vain X artikkelia per syötearticles
@@ -3496,7 +3496,7 @@ Feedly is a secure space where you can privately organize and research the topic
New %1 version is available
-
+ Uusi %1-versio saatavillaMiscellaneous events
@@ -3512,7 +3512,7 @@ Feedly is a secure space where you can privately organize and research the topic
XML problem: %1
-
+ XML-ongelma: %1Google Reader API is used by many online RSS readers.
@@ -3583,11 +3583,11 @@ List of supported readers:Find previous occurence
-
+ Etsi edellinen esiintymäFind next occurence
-
+ Etsi seuraava esiintymä
@@ -3730,7 +3730,7 @@ File filter for external e-mail selection dialog.
Network proxy
-
+ Verkon välityspalvelin&Add new external tool
@@ -4218,11 +4218,11 @@ Authors of this application are NOT responsible for lost data.
Notifications
-
+ IlmoituksetEnable notifications
-
+ Käytä ilmoituksiaYou must have "tray icon" activated to have balloon notifications working.
@@ -4255,7 +4255,7 @@ Authors of this application are NOT responsible for lost data.
SingleNotificationEditorSound
-
+ ÄäniFull path to your WAV sound file
@@ -4267,7 +4267,7 @@ Authors of this application are NOT responsible for lost data.
&Play
-
+ &ToistaBalloon notification
@@ -4275,11 +4275,11 @@ Authors of this application are NOT responsible for lost data.
Select sound file
-
+ Valitse äänitiedostoWAV files (*.wav)
-
+ WAV-tiedostot (*.wav)
@@ -4323,11 +4323,11 @@ Authors of this application are NOT responsible for lost data.
Local file
-
+ Paikallinen tiedostoUnknown
-
+ TuntematonError
@@ -4496,7 +4496,7 @@ Type: %3
Select icon file for the feed
-
+ Valitse kuvake syötteelleImages (*.bmp *.jpg *.jpeg *.png *.svg *.tga)
@@ -4525,7 +4525,7 @@ Type: %3
Source
-
+ LähdePost-process script
@@ -4577,7 +4577,7 @@ Type: %3
Command is empty.
-
+ Komento on tyhjä.Script failed: %1
@@ -4585,7 +4585,7 @@ Type: %3
Network error: %1
-
+ Verkkovirhe: %1Error: %1
@@ -4724,7 +4724,7 @@ Unread news: %2
Browse your feeds and articles
-
+ Selaa syötteitä ja artikkeleja
@@ -4912,7 +4912,7 @@ Unread news: %2
Username is okay.
-
+ Käyttäjätunnus on OK.Password cannot be empty.
@@ -4952,11 +4952,11 @@ Unread news: %2
Download unread articles only
-
+ Lataa vain lukemattomat artikkelitOnly download newest X articles per feed
-
+ Lataa vain X artikkelia per syöte
diff --git a/localization/rssguard_zh_TW.ts b/localization/rssguard_zh_TW.ts
index bf70b713f..1e29400c1 100644
--- a/localization/rssguard_zh_TW.ts
+++ b/localization/rssguard_zh_TW.ts
@@ -26,11 +26,11 @@
Custom filters
-
+ 自訂篩選器Add your custom filters here (one filter per line)
-
+ 於此新增自訂篩選器(每行一個)&Help
@@ -42,15 +42,15 @@
Filter lists
-
+ 篩選器清單No test executed yet.
-
+ 尚未做過測試。Cannot enable AdBlock
-
+ 無法啟用 AdBlockThere is some error in AdBlock component and it cannot be enabled. Check error message below (or application debug log) for more information.
@@ -1128,7 +1128,7 @@ or this functionality is not implemented yet.
Edit "%1"
-
+ 編輯 "%1"
@@ -1175,15 +1175,15 @@ or this functionality is not implemented yet.
Total data size
-
+ 全部資料大小Cleanup settings
-
+ 清除設定Optimize database file
-
+ 最佳化資料庫檔案Remove all read articles
@@ -1272,7 +1272,7 @@ or this functionality is not implemented yet.
Edit "%1"
-
+ 編輯 "%1"Fetch articles using global interval
@@ -4295,7 +4295,7 @@ Authors of this application are NOT responsible for lost data.
&Play
-
+ 播放(&P)Balloon notification
diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index e9b56d217..904ab073b 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -26,7 +26,7 @@
https://github.com/sponsors/martinrotter
-
+ none
diff --git a/resources/docs/Documentation.md b/resources/docs/Documentation.md
index 5c6d821ce..0d3ebaa54 100644
--- a/resources/docs/Documentation.md
+++ b/resources/docs/Documentation.md
@@ -400,7 +400,7 @@ If you're not sure which version to use, **use the WebEngine-based RSS Guard**.
#### AdBlock
[Web-based variant](#webb) of RSS Guard offers ad-blocking functionality via [Adblocker](https://github.com/cliqz-oss/adblocker). Adblocker offers similar performance to [uBlock Origin](https://github.com/gorhill/uBlock).
-You need to have have [Node.js](https://nodejs.org) with [NPM](https://www.npmjs.com) (which is usually included in Node.js installer) installed to have ad-blocking in RSS Guard working. Also, the implementation requires additional [npm](https://www.npmjs.com) modules to be installed. You see that list of needed modules near the top of [this](https://github.com/martinrotter/rssguard/blob/master/resources/scripts/adblock/adblock-server.js) file.
+You need to have have [Node.js](https://nodejs.org) with [NPM](https://www.npmjs.com) (which is usually included in Node.js installer) installed to have ad-blocking in RSS Guard working. Also, the implementation requires additional [npm](https://www.npmjs.com) modules to be installed. You see the list of needed modules near the top of [this](https://github.com/martinrotter/rssguard/blob/master/resources/scripts/adblock/adblock-server.js) file.
I understand that the above installation of needed dependencies is not trivial, but it is necessary evil to have up-to-date and modern implementation of AdBlock in RSS Guard. Previous `C++`-based implementation was buggy, quite slow and hard to maintain.
@@ -551,9 +551,9 @@ RSS Guard automatically migrates all your [user data](#userd) if you install new
If you decide to upgrade to new major version, for example from `3.x.x` to `4.x.x`, then you cannot use your existing user data as major versions are declared as backwards incompatible, so such data transition are not supported.
### Migrating user data from `3.9.2` to `4.x.x`
-> **Only proceed if you consider yourself to be a SQL power user and you know what you are doing!
+> Only proceed if you consider yourself to be a SQL power user and you know what you are doing!
>
-> Also, make sure that last RSS Guard from `3.x.x` line you used with your data was the most up-to-date `3.9.2` version. **
+> Also, make sure that last RSS Guard from `3.x.x` line you used with your data was the most up-to-date `3.9.2` version.
Here is short DIY manual on how to manually update your `database.db` file to `4.x.x` format. Similar approach can be taken if you use `MariaDB` [database backend](#datab).
@@ -571,15 +571,33 @@ In `3.x.x` each plugin/account type had its own table where it kept your login u
Then you need to go to `Edit` dialog of your account in RSS Guard (once you complete this migration guide) and check for all missing login information etc.
-Also, once you add any rows the `Accounts` table, your row will be assigned uniqued `id` value which is integer and is used as foreign key in other DB tables, via column `account_id`.
+Also, once you add any rows the `Accounts` table, your row will be assigned uniqued `id` value which is integer and is used as foreign key in other DB tables, via column `account_id`.
### Converting `Feeds` table
***
-WIP
+There are some changes in `Feeds` table:
+* `url` column is now named `source`,
+* `source_type`, `post_process`, `encoding`, `type`, `protected`, `username`, `password` columns are removed and their data are now stored in JSON-serialized form in new column `custom_data`. Here is sample value of `custom_data`:
+
+```json
+{
+ "encoding": "UTF-8",
+ "password": "AwUujeO2efOgYpX3g1/zoOTp9JULcLTZzwfY",
+ "post_process": "",
+ "protected": false,
+ "source_type": 0,
+ "type": 3,
+ "username": ""
+}
+```
+
+Pay attention to `account_id` column as this column is the ID of your accout as stated in the above [section](#accid).
### Converting `Messages` table
***
-WIP
+Columns were reordered and other than that new column `score` with sane default value was added. Therefore you can simply copy your data in a column-to-column mode.
+
+Pay attention to `account_id` column as this column is the ID of your accout as stated in the above [section](#accid).
### Other tables
***