diff --git a/localization/rssguard_en.ts b/localization/rssguard_en.ts index 2265a6d31..f2ec6c2a7 100644 --- a/localization/rssguard_en.ts +++ b/localization/rssguard_en.ts @@ -14,6 +14,39 @@ + + AccountDetails + + + Form + + + + + Display additional nodes + + + + + Important + Important + + + + Unread + + + + + Labels + + + + + Probes + + + AdBlockDialog @@ -127,67 +160,67 @@ Error: %1 Application - + Application is already running. Application is already running - + Output directory is not writable. Output directory is not writable - + Settings file not copied to output directory successfully. Settings file not copied to output directory successfully. - + Database restoration was not initiated. Make sure that output directory is writable. Database restoration was not initiated. Make sure that output directory is writable. - + Settings restoration was not initiated. Make sure that output directory is writable. Settings restoration was not initiated. Make sure that output directory is writable. - + Cannot add feed Cannot add feed - + Feed cannot be added because there is no active account which can add feeds. - + Packages %1 were updated. - + Unread articles fetched - + Go to changelog - + AdBlock needs to be configured - + Welcome - + Welcome to %1. Please, check NEW stuff included in this @@ -195,17 +228,17 @@ version by clicking this popup notification. - + AdBlock is not configured properly. Go to "Settings" -> "Node.js" and check if your Node.js is properly configured. - + Already running - + Packages %1 were NOT updated because of error: %2. @@ -213,32 +246,32 @@ version by clicking this popup notification. ArticleListNotification - + ... - + Go to previous page - + Go to next page - + Open article in article list - + Open article in web browser - + Mark all articles as read @@ -1062,50 +1095,50 @@ Item ID: %5 FeedsView - + Cannot edit item Cannot edit item - + Cannot delete item Cannot delete item - + Context menu for empty space Context menu for empty space - + Selected item cannot be edited because another critical operation is ongoing. Selected item cannot be edited because another critical operation is ongoing. - + Selected item cannot be deleted because another critical operation is ongoing. Selected item cannot be deleted because another critical operation is ongoing. - - + + Context menu for categories Context menu for categories - - + + Are you sure? Are you sure? - + Context menu for other items Context menu for other items - + Context menu for regex query @@ -1121,60 +1154,60 @@ Item ID: %5 - + Do you really want to clean all articles from selected items? - - - - + + + + Cannot edit items - + Selected items cannot be edited. This is not supported (yet). - + %1 does not support batch editing of multiple accounts. - + %1 does not support batch editing of items from multiple accounts. - + %1 does not support batch editing of items of varying types. - + Cannot edit some items - + Some of selected items cannot be edited. Proceeding to edit the rest. - + Some items won't be deleted - + Some selected items will not be deleted, because they cannot be deleted. - + Deleting %n items @@ -1182,7 +1215,7 @@ Item ID: %5 - + You are about to completely delete %n items. @@ -1190,22 +1223,22 @@ Item ID: %5 - + Context menu for recycle bins - + Context menu for accounts - + Context menu for label - + Context menu for important articles @@ -1298,17 +1331,22 @@ QtWebEngine cache folder -> "%7" FormAccountDetails - + + Miscellaneous + + + + Network proxy - + Add new account Add new account - + Edit account "%1" @@ -1909,6 +1947,14 @@ QtWebEngine cache folder -> "%7" + + FormEditStandardAccount + + + Account setup + + + FormEditTtRssAccount @@ -2013,6 +2059,40 @@ QtWebEngine cache folder -> "%7" + + FormGreaderFeedDetails + + + Feed NOT updated + + + + + + Error: %1 + Error: %1 + + + + Feed added + Feed added + + + + Feed was added, obtaining new tree of feeds now. + + + + + Feed NOT added + + + + + General + General + + FormLog @@ -3691,28 +3771,28 @@ You can install it now. - + Reply to this e-mail message - + Authentication status: %1 Login tokens expiration: %2 - + logged-in - + NOT logged-in - + Write new e-mail message @@ -3931,39 +4011,105 @@ Login tokens expiration: %2 + + GreaderFeedDetails + + + Form + + + + + Parent folder + + + + + Select parent item for your feed. + + + + + URL + URL + + + + Title + Title + + + + Full feed URL including scheme + + + + + Provide URL for your feed. + + + + + The URL is ok. + The URL is ok. + + + + The URL does not meet standard pattern. Does your URL start with "http://" or "https://" prefix. + + + + + The URL is empty. + The URL is empty. + + + + Title is entered. + + + + + No title is entered. If you are creating new feed, title will be automatically extracted from it. + + + GreaderNetwork - - - - + + + + + + + login failed - + Inoreader: authentication error - + Click this to login again. Error is: '%1' - + Inoreader: authorization denied - + Click this to login again. - - + + Login @@ -3971,10 +4117,78 @@ Login tokens expiration: %2 GreaderServiceRoot - + Other services + + + + OPML 2.0 files (*.opml *.xml) + + + + + Select file for feeds import + Select file for feeds import + + + + + Done + + + + + Data imported successfully. Reloading feed tree. + + + + + Cannot import feeds + + + + + + Error: %1 + Error: %1 + + + + Select file for feeds export + Select file for feeds export + + + + Data exported successfully. + + + + + Cannot export feeds + + + + + Export feeds + Export feeds + + + + Import feeds + Import feeds + + + + Cannot add item + + + + + Cannot add feed because another critical operation is ongoing. + + HelpSpoiler @@ -5303,18 +5517,6 @@ Login tokens expiration: %2 QObject - - - LANG_ABBREV - en - - - - - LANG_AUTHOR - Name of translator - optional. - Martin Rotter - @@ -5326,7 +5528,7 @@ Login tokens expiration: %2 - + Load initial set of feeds Load initial set of feeds @@ -5828,18 +6030,18 @@ List of supported readers: RedditServiceRoot - + Authentication status: %1 Login tokens expiration: %2 - + logged-in - + NOT logged-in @@ -5980,12 +6182,12 @@ Number of categories: %2 - + Error when fetching list of feeds - + Feeds & categories for account '%1' were not fetched, error: %2 @@ -6766,7 +6968,7 @@ Description: %3 - Force custom skin colors + Customize predefined colors @@ -6879,7 +7081,7 @@ Description: %3 SettingsLocalization - + Language Language @@ -6889,32 +7091,39 @@ Description: %3 Code - - Author - Author - - - + Translation progress - + Help us to improve %1 <a href="%2">translations</a>. - + + + + Big thanks to all translators! + + + + + Translations provided by: %1 + + + + Translators needed! - + The translation '%1' is incomplete and anyone able to help with translating %2 is greatly welcomed. - + Do you want to help with the translation now? @@ -7033,10 +7242,25 @@ Also, relaunch "Settings" dialog after you install Node.js. - + + Width + + + + + Margins + + + + Screen + + + Opacity + + Notifications @@ -7047,6 +7271,16 @@ Also, relaunch "Settings" dialog after you install Node.js. There are some built-in notification sounds. Just start typing ":" and they will show up. + + + How do I look? + + + + + Just testing new notifications settings. That's all. + + SettingsShortcuts @@ -7164,6 +7398,19 @@ Also, relaunch "Settings" dialog after you install Node.js. Database file not copied to output directory successfully. + + StandardAccountDetails + + + Form + + + + + Title + Title + + StandardCategory @@ -7532,67 +7779,67 @@ Also, you can post-process generated feed data with yet another script if you wi StandardServiceRoot - + Do you want to load initial set of feeds? Do you want to load initial set of feeds? - + Error when loading initial feeds Error when loading initial feeds - + Fetch metadata Fetch metadata - + Export feeds Export feeds - + Import feeds Import feeds - + This new account does not include any feeds. You can now add default set of feeds. This new account does not include any feeds. You can now add default set of feeds. - + This is the obligatory service account for standard RSS/RDF/ATOM feeds. - + Cannot add item Cannot add item - + Cannot add feed because another critical operation is ongoing. Cannot add feed because another critical operation is ongoing. - + Cannot add category Cannot add category - + Cannot add category because another critical operation is ongoing. Cannot add category because another critical operation is ongoing. - + Import was completely successful. - + Some feeds/categories were not imported due to error, check debug log for more details. @@ -7697,27 +7944,27 @@ Unread news: %2 TextBrowserViewer - + image - + Enable external resources - + Open in external browser - + Download - + Open with external tool @@ -7759,7 +8006,7 @@ Unread news: %2 ToastNotification - + Do it! @@ -8125,7 +8372,7 @@ Unread news: %2 Cannot add feed because another critical operation is ongoing. - + Username: %1 Server: %2 Last error: %3 @@ -8133,7 +8380,7 @@ Last login on: %4 - + cannot get list of feeds, network error '%1' diff --git a/src/librssguard/gui/settings/settingslocalization.cpp b/src/librssguard/gui/settings/settingslocalization.cpp index 9d63c6b3f..627831449 100644 --- a/src/librssguard/gui/settings/settingslocalization.cpp +++ b/src/librssguard/gui/settings/settingslocalization.cpp @@ -20,9 +20,7 @@ SettingsLocalization::SettingsLocalization(Settings* settings, QWidget* parent) m_ui->m_lblAuthors->label()->setWordWrap(true); m_ui->m_treeLanguages->setColumnCount(3); m_ui->m_treeLanguages->setHeaderHidden(false); - m_ui->m_treeLanguages->setHeaderLabels(QStringList() << /*: Language column of language list. */ tr("Language") - << /*: Lang. code column of language list. */ tr("Code") - << tr("Translation progress")); + m_ui->m_treeLanguages->setHeaderLabels(QStringList() << tr("Language") << tr("Code") << tr("Translation progress")); m_ui->m_lblHelp->setText(tr(R"(Help us to improve %1 translations.)") .arg(QSL(APP_NAME), QSL("https://crowdin.com/project/rssguard"))); @@ -74,7 +72,8 @@ void SettingsLocalization::loadSettings() { QNetworkAccessManager::Operation::GetOperation, hdrs); - if (stats_res.m_networkError == QNetworkReply::NetworkError::NoError) { + if (stats_res.m_networkError == QNetworkReply::NetworkError::NoError && + people_res.m_networkError == QNetworkReply::NetworkError::NoError) { QJsonDocument stats_doc = QJsonDocument::fromJson(stats_out); QJsonDocument people_doc = QJsonDocument::fromJson(people_out); QJsonArray people_arr = people_doc.object()["data"].toArray(); @@ -84,10 +83,12 @@ void SettingsLocalization::loadSettings() { return b.toObject()["data"].toObject()["username"].toString(); }); - all_translators = - std::accumulate(std::next(people_desc.begin()), people_desc.end(), people_desc.at(0), [](auto lhs, auto rhs) { - return std::move(lhs) + ", " + rhs; - }); + all_translators = std::accumulate(std::next(people_desc.begin()), + people_desc.end(), + people_desc.at(0), + [](const QString& lhs, const QString& rhs) { + return QString(lhs + ", " + rhs); + }); for (const QJsonValue& val_lang : stats_doc.object()["data"].toArray()) { QString lang_id = val_lang.toObject()["data"].toObject()["languageId"].toString().replace(QSL("-"), QSL("_")); @@ -118,16 +119,11 @@ void SettingsLocalization::loadSettings() { item->setText(0, language.m_name); item->setText(1, language.m_code); - - if (perc_translated >= 0) { - item->setToolTip(2, QString::number(perc_translated)); - } - item->setText(2, QSL("%1 %").arg(perc_translated >= 0 ? QString::number(perc_translated) : QSL("-"))); - item->setIcon(0, qApp->icons()->miscIcon(QSL(FLAG_ICON_SUBFOLDER) + QDir::separator() + language.m_code)); QColor col_translated = QColor::fromHsv(perc_translated, 200, 230); + item->setIcon(0, qApp->icons()->miscIcon(QSL(FLAG_ICON_SUBFOLDER) + QDir::separator() + language.m_code)); item->setIcon(2, IconFactory::generateIcon(col_translated)); }