From 5029529d435b6324c5f27b5fbb4575b47ee83866 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 2 Dec 2022 07:39:43 +0100 Subject: [PATCH] fix app debug log dialog crash --- localization/rssguard_cs.ts | 2 +- localization/rssguard_fr.ts | 146 +-- localization/rssguard_zh_CN.ts | 969 +++++++++--------- localization/rssguard_zh_TW.ts | 32 +- ....github.martinrotter.rssguard.metainfo.xml | 2 +- .../scripts/github-actions/build-windows.ps1 | 4 +- src/librssguard/miscellaneous/application.cpp | 8 +- src/librssguard/miscellaneous/application.h | 3 + .../standard/gui/standardfeeddetails.cpp | 91 +- 9 files changed, 648 insertions(+), 609 deletions(-) diff --git a/localization/rssguard_cs.ts b/localization/rssguard_cs.ts index f777bcb52..f6be309c2 100644 --- a/localization/rssguard_cs.ts +++ b/localization/rssguard_cs.ts @@ -5234,7 +5234,7 @@ Tokeny vyprší: %2 Synchronize folders && other items - Synchronizovat strom & další položky + Synchronizovat strom && další položky diff --git a/localization/rssguard_fr.ts b/localization/rssguard_fr.ts index b3840eb10..910939919 100644 --- a/localization/rssguard_fr.ts +++ b/localization/rssguard_fr.ts @@ -745,7 +745,7 @@ Filtre de messages actifs : %2 Intelligent synchronization algorithm - + Algorithme intelligent de synchronisation @@ -1152,7 +1152,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Edit account "%1" - + Modifier le compte « %1 » @@ -1627,7 +1627,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Cannot save changes: %1 - + Impossible de sauvegarder les changements : %1 @@ -1642,17 +1642,17 @@ ou cette fonctionnalité n'est pas encore implémentée. Fetch articles every - + Récupérer les articles chaque Disable auto-fetching of articles - + Désactiver la récupération automatique des articles Cannot save feed properties - + Impossible de sauvegarder les propriétés du flux @@ -1672,17 +1672,17 @@ ou cette fonctionnalité n'est pas encore implémentée. Open articles via their URL automatically - + Ouvrir les articles via leur URL automatiquement Miscellaneous - + Divers Disable this feed - + Désactiver ce flux @@ -1690,12 +1690,12 @@ ou cette fonctionnalité n'est pas encore implémentée. No possible actions - + Pas d'actions possibles No recycle bin - + Pas de corbeille @@ -1820,7 +1820,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Fetch all feeds - + Récupérer tous les flux @@ -1830,7 +1830,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Fetch selected feeds - + Récupérer les flux sélectionnés @@ -1865,12 +1865,12 @@ ou cette fonctionnalité n'est pas encore implémentée. Switch &importance - + Changer l'&importance Switch importance of selected articles - + Changer l'importance des articles sélectionnés @@ -1905,7 +1905,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Deletes all messages from selected items. - + Supprime tous les messages des éléments sélectionnés. @@ -1985,12 +1985,12 @@ ou cette fonctionnalité n'est pas encore implémentée. Deletes all messages from all items. - + Supprime tous les messages de tous les éléments. &Next item - + Élément &suivant @@ -2000,7 +2000,7 @@ ou cette fonctionnalité n'est pas encore implémentée. &Next article - + Article &suivant @@ -2075,7 +2075,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Switch layout - + Changer de disposition @@ -2100,7 +2100,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Show unread items only - + Montrer uniquement les éléments non lus @@ -2130,7 +2130,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Next &unread article - + Article &non lu suivant @@ -2156,7 +2156,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Stop ongoing fetching - + Arrêter la récupération en cours @@ -2368,17 +2368,17 @@ ou cette fonctionnalité n'est pas encore implémentée. Context menu - + Menu contextuel Filter articles like this - + Filtrer les articles similaires New article filter - + Nouveau filtre d'article @@ -2419,12 +2419,12 @@ ou cette fonctionnalité n'est pas encore implémentée. Do you really want to remove selected filter? - + Voulez-vous vraiment retirer le filtre sélectionné ? Article filters - + Filtres d'article @@ -2465,7 +2465,7 @@ ou cette fonctionnalité n'est pas encore implémentée. JavaScript code - + Code JavaScript @@ -2573,7 +2573,7 @@ ou cette fonctionnalité n'est pas encore implémentée. Restart - + Redémarrer @@ -2598,12 +2598,12 @@ ou cette fonctionnalité n'est pas encore implémentée. Restore database - + Restaurer la base de données Restore settings - + Restaurer les paramètres @@ -2645,7 +2645,7 @@ You have to restart manually. Do you want to restart now? - + Voulez-vous redémarrer maintenant ? @@ -2663,7 +2663,7 @@ You have to restart manually. Network - + Réseau @@ -2672,7 +2672,7 @@ You have to restart manually. No file is selected. - + Aucun fichier sélectionné. @@ -2683,7 +2683,7 @@ You have to restart manually. Destination file - + Fichier de destination @@ -2847,7 +2847,7 @@ You have to restart manually. Feed added - + Flux ajouté @@ -2857,7 +2857,7 @@ You have to restart manually. Network - + Réseau @@ -3026,7 +3026,7 @@ downloaded. Available update files - + Fichiers de mise à jour disponibles @@ -3071,7 +3071,7 @@ You can install it now. Not tested yet. - + Pas encore testé. @@ -3152,7 +3152,7 @@ You can install it now. Client ID - + ID Client @@ -3162,12 +3162,12 @@ You can install it now. Redirect URL - + URL de redirection Get my credentials - + Obtenir mes identifiants @@ -3314,7 +3314,7 @@ Login tokens expiration: %2 Network error: '%1'. - + Erreur réseau : '%1'. @@ -3324,7 +3324,7 @@ Login tokens expiration: %2 You are good to go! - + Vous pouvez commencer ! @@ -3349,17 +3349,17 @@ Login tokens expiration: %2 Password is okay. - + Le mode de passe est valide. URL cannot be empty. - + L'URL ne peut être vide. URL is okay. - + URL valide. @@ -3440,7 +3440,7 @@ Login tokens expiration: %2 Intelligent synchronization algorithm - + Algorithme intelligent de synchronisation @@ -3485,7 +3485,7 @@ Login tokens expiration: %2 Redirect URL - + URL de redirection @@ -3569,12 +3569,12 @@ Login tokens expiration: %2 Important articles - + Articles importants You can find all important articles here. - + Vous pouvez trouver tous les articles importants ici. @@ -3740,7 +3740,7 @@ Login tokens expiration: %2 Switch article importance - + Changer l'importance de l'article @@ -4423,7 +4423,7 @@ Login tokens expiration: %2 You are good to go! - + Vous pouvez commencer ! @@ -4433,7 +4433,7 @@ Login tokens expiration: %2 Network error: '%1'. - + Erreur réseau : '%1'. @@ -4468,17 +4468,17 @@ Login tokens expiration: %2 Password is okay. - + Le mode de passe est valide. URL cannot be empty. - + L'URL ne peut être vide. URL is okay. - + URL valide. @@ -4586,7 +4586,7 @@ Login tokens expiration: %2 Network error: '%1'. - + Erreur réseau : '%1'. @@ -4633,17 +4633,17 @@ Login tokens expiration: %2 Password is okay. - + Le mode de passe est valide. URL cannot be empty. - + L'URL ne peut être vide. URL is okay. - + URL valide. @@ -4975,7 +4975,7 @@ List of supported readers: Not tested yet. - + Pas encore testé. @@ -5046,7 +5046,7 @@ List of supported readers: Client ID - + ID Client @@ -5056,12 +5056,12 @@ List of supported readers: Redirect URL - + URL de redirection Get my credentials - + Obtenir mes identifiants @@ -5272,7 +5272,7 @@ File filter for external e-mail selection dialog. Network - + Réseau @@ -7093,7 +7093,7 @@ Unread news: %2 Network error: '%1'. - + Erreur réseau : '%1'. @@ -7124,7 +7124,7 @@ Unread news: %2 Password is okay. - + Le mode de passe est valide. @@ -7149,7 +7149,7 @@ Unread news: %2 URL cannot be empty. - + L'URL ne peut être vide. @@ -7159,7 +7159,7 @@ Unread news: %2 URL is okay. - + URL valide. @@ -7179,7 +7179,7 @@ Unread news: %2 Intelligent synchronization algorithm - + Algorithme intelligent de synchronisation @@ -7392,7 +7392,7 @@ Last login on: %4 Web engine settings - + Paramètres du moteur de rendu web diff --git a/localization/rssguard_zh_CN.ts b/localization/rssguard_zh_CN.ts index e09c5c6dc..d3a607e3d 100644 --- a/localization/rssguard_zh_CN.ts +++ b/localization/rssguard_zh_CN.ts @@ -9,7 +9,7 @@ (feed) - (Feed) + (饲料) @@ -32,7 +32,7 @@ OK! - OK! + 完成! @@ -75,7 +75,7 @@ Error: %1 &Help - 帮助 (&H) + 帮助 @@ -108,7 +108,7 @@ Error: %1 Show AdBlock &settings - 显示 AdBlock 设置 (&S) + 显示 AdBlock &设置 @@ -374,7 +374,7 @@ version by clicking this popup notification. Add one of %n feed(s) - 添加 %n 分之一个 feed + 添加%n的饲料之一(s) @@ -532,7 +532,7 @@ Click here to open parent directory. Downloading %n file(s)... - 正在下载 %n 个文件… + 正在下载 %n 个文件(s)… @@ -658,7 +658,7 @@ Status: %3 uses global settings (%n minute(s) to next auto-fetch of articles) Describes feed auto-update status. - 使用全局设置 (%n 分钟后自动获取文章) + 使用全局设置 (%n 分钟(s)后自动获取文章) @@ -669,7 +669,7 @@ Status: %3 uses specific settings (%n minute(s) to next auto-fetching of new articles) Describes feed auto-update status. - 使用专有设置 (%n 分钟后自动获取文章) + 使用全局设置 (%n 分钟(s)后自动获取文章) @@ -710,7 +710,7 @@ Status: %3 I will auto-download new articles for %n feed(s). - 我将在 %n 个 feed 源自动下载新文章 + 我将自动下载新文章的%n饲料(s)。 @@ -734,12 +734,12 @@ Status: %3 Developer access token - 开发者访问令牌(token) + 开发者访问令牌 Get token - 获取令牌(token) + &获取令牌 @@ -754,7 +754,7 @@ Status: %3 &Login - 登录 (&L) + &登录 @@ -779,7 +779,7 @@ Status: %3 Your %1 does not offer official Feedly support, thus you must authorize via special authorization code called "developer access token". These tokens are usually valid only for 1 month and allow only 250 API calls each day. - 您的 %1 Feedly 未获取授权,因此你需要通过称为“开发者访问令牌”的特殊授权代码进行授权。这些令牌(token)一般只有一个月有效期且每天只允许 250 次 API 调用。 + 你的%1不提供Feedly的官方支持,因此你必须通过特殊的授权码授权,称为 "开发者访问令牌"。这些令牌的有效期通常只有1个月,每天只允许250次API调用。 @@ -845,12 +845,12 @@ Status: %3 Access token is empty. - 访问令牌(Access token)是空的。 + 访问令牌是空的。 Access token is okay. - 访问令牌(Access token)没问题。 + 访问令牌没问题。 @@ -1302,7 +1302,7 @@ or this functionality is not implemented yet. &Select directory - 选择目录 (&S) + &选择目录 @@ -1474,7 +1474,7 @@ or this functionality is not implemented yet. day(s) - + 天(s) @@ -1635,52 +1635,52 @@ or this functionality is not implemented yet. Fetch articles using global interval - + 使用全局间隔获取文章 Fetch articles every - + 每隔一段时间获取文章 Disable auto-fetching of articles - + 禁用自动获取文章 Cannot save feed properties - + 无法保存饲料属性 Articles - + 文章 Auto-downloading of articles - + 自动下载文章 Select the auto-download strategy for messages of this feed. Default auto-download strategy means that new messges of this feed will be downloaded in time intervals set in application settings. - + 选择此饲料的消息的自动下载策略。默认的自动下载策略是指在应用程序设置中设定的时间间隔内下载该饲料的新消息。 Open articles via their URL automatically - + 通过其URL自动打开文章 Miscellaneous - + 其他 Disable this feed - + 禁用该饲料 @@ -1703,12 +1703,12 @@ or this functionality is not implemented yet. Open main menu - + 打开主菜单 Open &main menu - + 打开&主菜单 @@ -1738,22 +1738,22 @@ or this functionality is not implemented yet. F&eeds - + 饲料 &Add item - + 添加项目 &Move - + 移动 Art&icles - + 文章 @@ -1768,7 +1768,7 @@ or this functionality is not implemented yet. &Web browser && tabs - + 网络浏览器&标签页 @@ -1803,7 +1803,7 @@ or this functionality is not implemented yet. &Fullscreen - + 全屏 @@ -1813,22 +1813,22 @@ or this functionality is not implemented yet. &Fetch all - + 获取全部 Fetch all feeds - + 获取全部Feeds Fetch &selected - + 获取所选 Fetch selected feeds - + 获取所选的Feeds @@ -1843,37 +1843,37 @@ or this functionality is not implemented yet. Mark articles &read - + 标记文章&阅读 Mark selected articles read - + 标记选定的文章已读 Mark articles &unread - + 标记文章&未读 Mark selected articles unread - + 标记选定的文章未读 Switch &importance - + 开关&重要性 Switch importance of selected articles - + 选定的文章的开关重要性 Mark selected item &read - + 标记所选项目&阅读 @@ -1883,7 +1883,7 @@ or this functionality is not implemented yet. Mark selected item &unread - + 标记所选项目&未读 @@ -1893,12 +1893,12 @@ or this functionality is not implemented yet. &Delete articles - + 删除文章 &Clean selected item - + 清除所选项目 @@ -1908,22 +1908,22 @@ or this functionality is not implemented yet. Open in &external browser - + 用外部浏览器打开 Open selected articles in external browser - + 用外部浏览器打开选定的文章 Open in &internal browser - + 用内部浏览器打开 Open selected articles in internal browser - + 用内部浏览器打开选定的文章 @@ -1938,7 +1938,7 @@ or this functionality is not implemented yet. &Mark all read - + 标记所有已读 @@ -1948,7 +1948,7 @@ or this functionality is not implemented yet. View selected item in &newspaper mode - + 以报纸模式查看所选项目 @@ -1958,7 +1958,7 @@ or this functionality is not implemented yet. Switch main window visibility - + 切换主窗口的可见度 @@ -1973,12 +1973,12 @@ or this functionality is not implemented yet. Hides or shows the list of feeds/categories. - 隐藏或显示 Feed/分类列表。 + 隐藏或显示 Feeds/分类列表。 &Clean all - + 清除所有 @@ -1988,22 +1988,22 @@ or this functionality is not implemented yet. &Next item - + 下一个项目 &Previous item - + 上一个项目 &Next article - + 下一篇文章 &Previous article - + 上一篇文章 @@ -2043,7 +2043,7 @@ or this functionality is not implemented yet. &List headers - + 列表标题 @@ -2053,7 +2053,7 @@ or this functionality is not implemented yet. Display &documentation - + 展示&文档 @@ -2063,17 +2063,17 @@ or this functionality is not implemented yet. &Restore settings - + 恢复设定 &Backup settings - + 备份设定 Switch layout - + 开关布局 @@ -2083,12 +2083,12 @@ or this functionality is not implemented yet. Send via e-mail - + 通过电子邮件发送 Send selected articles via e-mail - + 通过电子邮件发送选定的文章 @@ -2098,7 +2098,7 @@ or this functionality is not implemented yet. Show unread items only - + 只显示未读项目 @@ -2108,27 +2108,27 @@ or this functionality is not implemented yet. &Add account - + 添加账户 &Restore articles - + 恢复文章 &Restore all recycle bins - 还原所有回收站内容 (&R) + 还原回收站 &Empty all recycle bins - 清空回收站 (&E) + 清空回收站 Next &unread article - + 下一篇&未读文章 @@ -2154,12 +2154,12 @@ or this functionality is not implemented yet. Stop ongoing fetching - + 停止持续获取 New browser tab - + 新的浏览器标签页 @@ -2184,87 +2184,87 @@ or this functionality is not implemented yet. &Enable article preview - + 启用文章预览 &Copy URL of selected item - + 复制所选项目的URL Article &filters - + 文章 & 筛选器 &Show tree expanders - + 显示树形扩展程序 Fetch feeds with &custom auto-download policy - + 用自定义的自动下载策略获取Feeds Alternate row colors in lists - + 列表中替代行的颜色 Automatically &expand item when selected - + 选择时自动展开项目 Message viewer toolbars - + 消息查看器的工具条 Expand/collapse selected item &recursively - + 展开/折叠所选项目并递归 Close &current tab - + 关闭当前标签页 &Copy URLs of selected articles - + 复制所选文章的URL Open in internal browser (no new tab) - + 用内部浏览器打开(没有新标签页) &Sort alphabetically - + 按字母顺序排序 Move &up - + 向上移动 Move to &top - + 移至顶部 Move &down - + 向下移动 Move to &bottom - + 移至底部 @@ -2295,12 +2295,12 @@ or this functionality is not implemented yet. Fetching common data - + 获取公共数据 Close dialogs - + 关闭对话框 @@ -2356,40 +2356,42 @@ or this functionality is not implemented yet. Script was not beautified, is 'clang-format' installed? - 脚本未被美化,'clang-format' 是否已正确安装? + 脚本未被美化,是否安装了'clang-格式'? Cannot save new filter, error: '%1'. - + 不能保存新的过滤器,错误:'%1'。 Context menu - + 上下文菜单 Filter articles like this - + 筛选这样的文章 New article filter - + 新的文章过滤器 EXISTING articles filtering error: '%1'. - + 现有的文章过滤错误:'%1 + Article will be %1. - + 文章将为%1。 + @@ -2401,13 +2403,21 @@ or this functionality is not implemented yet. Created on = '%6' Contents = '%7' RAW contents = '%8' - + 输出(修改)的文章是。 +标题='%1' +URL = '%2' +作者 = '%3' +是否阅读/重要 = '%4/%5 +创建日期 = '%6' +内容 = '%7' +RAW内容 = '%8' SAMPLE article filtering error: '%1'. - + 样本文章过滤错误:'%1'。 + @@ -2417,22 +2427,22 @@ or this functionality is not implemented yet. Do you really want to remove selected filter? - + 你真的想移除所选的过滤器吗? Article filters - + 文章过滤器 &Check all - 全选 (&C) + 检查全部 &Uncheck all - 取消全选 (&U) + 取消全选 @@ -2442,12 +2452,12 @@ or this functionality is not implemented yet. &New filter - + 新的过滤器 Article filter details - + 文章过滤器的详细信息 @@ -2458,7 +2468,7 @@ or this functionality is not implemented yet. Title of article filter - + 文章过滤器的名称 @@ -2468,22 +2478,22 @@ or this functionality is not implemented yet. Your JavaScript-based article filtering logic - + 你的基于JavaScript的文章过滤逻辑 &Test - + 检测 Process checked feeds - + 处理检查过的Feeds &Beautify - + 美化 @@ -2493,12 +2503,12 @@ or this functionality is not implemented yet. Existing articles - + 现有的文章 Sample article - + 样本文章 @@ -2665,7 +2675,7 @@ You have to restart manually. Network - + 网络 @@ -2690,12 +2700,12 @@ You have to restart manually. Source feeds && categories - 源 Feed && 分类 + 源 Feeds && 分类 Export feeds - 导出 Feed + 导出 Feeds @@ -2705,12 +2715,12 @@ You have to restart manually. Target feeds && categories - 目标 Feed && 分类 + 目标 Feeds && 分类 Import feeds - 导入 Feed + 导入 Feeds @@ -2721,7 +2731,7 @@ You have to restart manually. Select file for feeds export - 选择用于 Feed 导出的文件 + 选择用于 Feeds 导出的文件 @@ -2732,7 +2742,7 @@ You have to restart manually. Select file for feeds import - 选择用于 Feed 导入的文件 + 选择用于 Feeds 导入的文件 @@ -2743,7 +2753,7 @@ You have to restart manually. Feeds were loaded. - Feed 已载入。 + Feeds 已载入。 @@ -2759,7 +2769,7 @@ You have to restart manually. Feeds were exported successfully. - Feed 导出成功。 + Feeds 导出成功。 @@ -2791,7 +2801,7 @@ You have to restart manually. Metadata for your feeds can be fetched online. Note that the action could take several minutes, depending on number of feeds. - Feed 的元数据可以在线获取,但是,取决于 Feed 数量,此操作可能需要耗费数分钟。 + Feeds 的元数据可以在线获取,但是,取决于 Feeds 数量,此操作可能需要耗费数分钟。 @@ -2826,22 +2836,22 @@ You have to restart manually. Export icons - + 导出图标 &Check all feeds - + 检查所有Feeds &Uncheck all feeds - + 取消检查所有Feeds Operation result - + 运行结果 @@ -2859,17 +2869,17 @@ You have to restart manually. Network - + 网络 Feed was added, obtaining new tree of feeds now. - + 添加了Feeds,现在获得了新的Feeds树。 API returned error code %1 - + API返回错误代码%1 @@ -2877,27 +2887,27 @@ You have to restart manually. Share note to "Published" feed - + 分享笔记到“已发布”的饲料 Cannot share note - + 不能分享笔记 There was an error, when trying to send your custom note. - + 在尝试发送您的定制笔记时,出现了一个错误。 Enter non-empty title. - + 输入非空的标题。 Enter valid URL. - + 输入有效的URL。 @@ -2912,7 +2922,7 @@ You have to restart manually. Content - + 内容简介 @@ -3122,22 +3132,22 @@ You can install it now. There are some preconfigured OAuth tokens so you do not have to fill in your client ID/secret, but it is strongly recommended to obtain your own as it preconfigured tokens have limited global usage quota. If you wish to use preconfigured tokens, simply leave those fields empty and make sure to leave default value of redirect URL. - + 有一些预配置的OAuth令牌,所以你不必填写你的账户ID/密码,但强烈建议你获得自己的,因为预配置的令牌有有限的全球使用配额。如果你想使用预配置的令牌,只需将这些字段留空,并确保保留重定向URL的默认值。 You have to fill in your client ID/secret and also fill in correct redirect URL. - + 你必须填写你的账户ID/密码,也要填写正确的重定向URL。 There is error: %1 - + 出现错误:%1 Preconfigured client ID/secret will be used. - + 将使用预先配置好的账户ID/密码。 @@ -3152,12 +3162,12 @@ You can install it now. Client ID - + 账户ID Client secret - + 账户密码 @@ -3167,7 +3177,7 @@ You can install it now. Get my credentials - + 获取我的证书 @@ -3210,7 +3220,7 @@ You can install it now. failed to download IDs of e-mail messages - + 未能下载电子邮件信息的ID @@ -3260,7 +3270,7 @@ You can install it now. Reply to this e-mail message - + 回复此电子邮件信息 @@ -3290,7 +3300,7 @@ Token 过期时间:%2 Password for your account - + 您的账户密码 @@ -3300,7 +3310,7 @@ Token 过期时间:%2 URL of your server, without any service-specific path - + 你的服务器的URL,没有任何特定的服务路径 @@ -3325,12 +3335,12 @@ Token 过期时间:%2 You are good to go! - + 你可以开始工作了! Yeah. - + 是的。 @@ -3365,7 +3375,7 @@ Token 过期时间:%2 Some feeds might contain tens of thousands of articles and downloading all of them could take great amount of time, so sometimes it is good to download only certain amount of newest messages. - + 一些Feeds可能包含数以万计的文章,下载所有的文章可能需要大量的时间,所以有时只下载一定数量的最新信息是最合适的。 @@ -3375,12 +3385,12 @@ Token 过期时间:%2 There are some preconfigured OAuth tokens so you do not have to fill in your client ID/secret, but it is strongly recommended to obtain your own as preconfigured tokens have limited global usage quota. If you wish to use preconfigured tokens, simply leave all above fields to their default values even if they are empty. - + 有一些预配置的OAuth令牌,所以你不必填写你的客户ID/secret,但强烈建议你获得自己的,因为预配置的令牌有有限的全球使用配额。如果你想使用预配置的令牌,只需将上述所有字段保留为默认值,即使它们是空的。 You have to fill in your client ID/secret and also fill in correct redirect URL. - + 你必须填写你的账户ID/密码,也要填写正确的重定向URL。 @@ -3411,7 +3421,7 @@ Token 过期时间:%2 Preconfigured client ID/secret will be used. - + 将使用预先配置好的账户ID/密码。 @@ -3426,7 +3436,7 @@ Token 过期时间:%2 Service - + 服务 @@ -3446,7 +3456,7 @@ Token 过期时间:%2 Fetch articles newer than - + 取回比以下时间更早的文章 @@ -3476,12 +3486,12 @@ Token 过期时间:%2 App ID - + 应用程序ID App key - + 应用程序密码 @@ -3491,12 +3501,12 @@ Token 过期时间:%2 Get my own App ID - + 获得我自己的应用程序ID &Test setup - + 测试设置 @@ -3507,7 +3517,7 @@ Token 过期时间:%2 login failed - + 登录失败 @@ -3541,7 +3551,7 @@ Token 过期时间:%2 Other services - + 其他服务 @@ -3549,7 +3559,7 @@ Token 过期时间:%2 View more information on this - + 浏览更多相关信息 @@ -3570,12 +3580,12 @@ Token 过期时间:%2 Important articles - + 重要条款 You can find all important articles here. - + 你可以在这里找到所有重要文章。 @@ -3588,7 +3598,7 @@ Token 过期时间:%2 No labels found - + 未找到标签 @@ -3606,17 +3616,17 @@ Token 过期时间:%2 New label - + 新标签 This account does not allow you to create labels. - + 该账户不允许你创建标签。 Not allowed - + 不允许 @@ -3657,7 +3667,7 @@ Token 过期时间:%2 MariaDB - + Maria数据库 @@ -3718,12 +3728,12 @@ Token 过期时间:%2 article - + 文章 articles - + 多文章 @@ -3731,17 +3741,17 @@ Token 过期时间:%2 Mark article read - + 标记文章已读 Mark article unread - + 标记文章未读 Switch article importance - + 切换文章的重要性 @@ -3767,7 +3777,7 @@ Token 过期时间:%2 In recycle bin - + 在回收站中 @@ -3787,12 +3797,12 @@ Token 过期时间:%2 Score - + 分数 Date - + 日期 @@ -3885,142 +3895,142 @@ Token 过期时间:%2 Score - + 分数 Date - + 日期 Loading of articles failed, maybe messages could not be downloaded. - + 文章加载失败,可能是信息无法下载。 ID of the article. - + 文章的ID. Is article read? - + 文章是否已读? Is article important? - + 文章是否重要? Is article deleted? - + 文章是否删除? Is article permanently deleted from recycle bin? - + 文章是否从回收站永久删除? ID of feed which this article belongs to. - + 这篇文章所属的饲料ID。 Title of the article. - + 文章标题。 Url of the article. - + 文章的URL。 Author of the article. - + 本文作者。 Creation date of the article. - + 文章创作日期。 Contents of the article. - + 文章内容。 Score of the article. - + 文章的评分。 Account ID of the article. - + 文章的账户ID。 Custom ID of the article. - + 文章的自定义ID。 Custom hash of the article. - + 文章的自定义哈希值。 Name of feed of the article. - + 文章的饲料名称。 Indication of enclosures presence within the article. - + 指示物品中存在的附件。 %n months ago - + %n个月前 %n weeks ago - + %n周前 %n days ago - + %n天前 yesterday - + 昨天 %n hours ago - + %n小时前 %n minutes ago - + %n分钟前 just now - + 刚刚 Loading of articles from item '%1' failed - + 从项目'%1'加载文章失败 @@ -4038,103 +4048,103 @@ Token 过期时间:%2 Article search box - + 文章搜索栏 Menu for highlighting articles - + 突出显示文章的菜单 Highlight unread articles - + 突出显示未读文章 Highlight important articles - + 突出显示重要文章 Menu for filtering articles - + 用于过滤文章的菜单 No extra filtering - + 无额外的过滤措施 Show unread articles - + 显示未读的文章 Show important articles - + 显示重要文章 Show today's articles - + 显示今天的文章 Show yesterday's articles - + 显示昨天的文章 Show articles in last 24 hours - + 显示最近24小时内的文章 Show articles in last 48 hours - + 显示最近48小时内的文章 Show this week's articles - + 显示本周的文章 Show last week's articles - + 显示上周的文章 Show articles with attachments - + 显示带有附件的文章 Show articles with some score - + 显示有一定分数的文章 Display all articles - + 显示所有文章 Article highlighter - + 文章高亮显示 Article list filter - + 文章列表过滤器 Search articles (regex only) - + 搜索文章(仅搜索关键词) @@ -4167,12 +4177,12 @@ Token 过期时间:%2 No external tools activated - + 不启动外部工具 Context menu for articles - + 文章的右键菜单 @@ -4255,7 +4265,7 @@ Token 过期时间:%2 unknown error (%1) Network status. - + 未知错误 (%1) @@ -4389,12 +4399,12 @@ Token 过期时间:%2 &Test setup - + 测试设置 Password for your account - + 您的账户密码 @@ -4404,7 +4414,7 @@ Token 过期时间:%2 URL of your server, without any service-specific path - + 你的服务器的URL,没有任何特定的服务路径 @@ -4419,17 +4429,17 @@ Token 过期时间:%2 Some feeds might contain tens of thousands of articles and downloading all of them could take great amount of time, so sometimes it is good to download only certain amount of newest messages. - + 一些Feeds可能包含数以万计的文章,下载所有的文章可能需要大量的时间,所以有时只下载一定数量的最新信息是最合适的。 You are good to go! - + 你可以开始工作了! Yeah. - + 是的。 @@ -4439,7 +4449,7 @@ Token 过期时间:%2 Network error, have you entered correct username and password? - + 网络错误,你是否输入了正确的用户名和密码? @@ -4449,7 +4459,7 @@ Token 过期时间:%2 Error, have you entered correct Nextcloud endpoint and password? - + 错误,您是否输入了正确的Nextcloud端点和密码? @@ -4487,17 +4497,17 @@ Token 过期时间:%2 Show more articles (%n remaining) - + 显示更多文章 (剩余%n) Cannot show more articles - + 无法显示更多文章 Cannot show more articles because parent feed was removed. - + 无法显示更多的文章,因为父源已被删除。 @@ -4506,7 +4516,7 @@ Token 过期时间:%2 file not found - + 未找到文件 @@ -4534,12 +4544,12 @@ Token 过期时间:%2 You can close this window now. Go back to %1. - + 你现在可以关闭这个窗口。回到%1。 Failed to start OAuth redirection listener. Maybe your rights are not high enough. - + 启动OAuth重定向接听器失败。也许你的权限不够高。 @@ -4552,7 +4562,7 @@ Token 过期时间:%2 Leaving this option on causes that updates of feeds will be probably much slower and may time-out often. - 启用此选项可能会使更新变慢或经常超时。 + 打开这个选项会导致Feeds的更新可能会慢得多,并可能经常超时。 @@ -4598,7 +4608,7 @@ Token 过期时间:%2 Installed version: %1, required at least: %2. - + 安装的版本:%1,至少需要:%2。 @@ -4649,7 +4659,7 @@ Token 过期时间:%2 articles - + 文章 @@ -4669,7 +4679,7 @@ Token 过期时间:%2 Some feeds require authentication, including GMail feeds. BASIC, NTLM-2 and DIGEST-MD5 authentication schemes are supported. - 某些 Feed,例如 Gmail Feed,需要身份认证,我们支持 BASIC, NTLM-2 和 DIGEST-MD5 认证方式。 + 某些 Feeds,例如 Gmail Feeds,需要身份认证,我们支持 BASIC, NTLM-2 和 DIGEST-MD5 认证方式。 @@ -4689,12 +4699,12 @@ Token 过期时间:%2 &Test setup - + 测试设置 Force execution of server-side feeds update - + 强制执行服务器端Feeds的更新 @@ -4702,7 +4712,7 @@ Token 过期时间:%2 cannot get list of feeds, network error '%1' - + 无法获得Feeds清单,网络错误'%1' @@ -4734,12 +4744,12 @@ Token 过期时间:%2 + %n other feeds. -+ %n 其它 Feed。 ++ %n 其它 Feeds。 Load initial set of feeds - 载入预设的 Feed + 载入预设的 Feeds @@ -4748,11 +4758,11 @@ Token 过期时间:%2 Tiny Tiny RSS is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible. At least API level %1 is required. - 此服务提供与 Tiny Tiny RSS 的集成。 + 这项服务提供与Tiny Tiny RSS的整合。 -Tiny Tiny RSS 是一个基于 Web 的开源 RSS/Atom 阅读器,允许你以近乎桌面应用的体验阅读各种新闻。 +Tiny Tiny RSS是一个开源的基于网络的新闻源(RSS/Atom)阅读器和聚合器,旨在让你从任何地方阅读新闻,同时感觉尽可能接近真实的桌面应用程序。 -至少需要 API 级别 %1。 +至少需要API级别%1。 @@ -4784,124 +4794,128 @@ Tiny Tiny RSS 是一个基于 Web 的开源 RSS/Atom 阅读器,允许你以近 Keep up with the topics and trends you care about, without the overwhelm. Feedly is a secure space where you can privately organize and research the topics and trends that matter to you. - + 跟上您所关心的话题和趋势,而不会被淹没。 + +Feedly是一个安全的空间,你可以私下组织和研究与你有关的话题和趋势。 Cannot insert article filter, because current database cannot return last inserted row ID. - + 不能插入文章过滤器,因为当前数据库不能返回最后插入的行ID。 Fetching articles right now - + 正在获取文章 Login data refreshed - + 重新刷新登录数据 New %1 version is available - + 新的%1版本已经推出 Miscellaneous events - + 杂项活动 Node.js - package(s) updated - + Node.js - 更新了软件包(s) Node.js - package(s) failed to updated - + Node.js - 软件包(s)更新失败 Unknown event - + 未知事件 New (unread) articles fetched - + 新的(未读)文章获取 XML problem: %1 - + XML问题:%1 JSON problem: %1 - + JSON问题:%1 Google Reader API is used by many online RSS readers. List of supported readers: - + Google Reader API被许多在线RSS阅读器使用。 + +支持的阅读器列表: Login failed - + 登录失败 This service offers integration with standard online RSS/RDF/ATOM/JSON feeds and podcasts. - + 这项服务提供与标准在线RSS/RDF/ATOM/JSON Feeds馈送和播客的整合。 Simplistic Reddit client. - + 简单的Reddit客户端。 interesting stuff - + 有趣的东西 interesting stuff (highlighted) - + 有趣的东西(突出显示) errored items - + 错误的项目 errored items (highlighted) - + 错误的项目(突出显示) OK-ish color - + 好的颜色 User-published articles - + 用户发表的文章 Published articles - + 发表的文章 Personal news reader bringing people together to talk about the world. - + 个人新闻阅读器将人们聚集在一起,谈论世界。 @@ -4909,38 +4923,38 @@ List of supported readers: Packages for reader mode are installed - + 为阅读模式安装的软件包 You can now use reader mode! - + 你现在可以使用阅读模式了! Packages for reader mode are NOT installed - + 阅读模式的软件包没有安装 There is error: %1 - + 出现错误:%1 Node.js libraries not installed - + 没有安装Node.js库 %1 will now install some needed libraries, this will take only a few seconds. You will be notified when installation is complete. - + %1现在将安装一些需要的库,这只需要几秒钟的时间。安装完成后,你会得到通知。 Node.js is not configured properly. Go to "Settings" -> "Node.js" and check if your Node.js is properly configured. - + Node.js没有被正确配置。进入 "设置"->"Node.js",检查你的Node.js是否被正确配置。 @@ -4963,12 +4977,12 @@ List of supported readers: Recycle bin contains all deleted articles from all feeds. - + 回收站包含了所有Feeds中被删除的文章。 %n deleted article(s). - + 已删除了%n篇文章(s)。 @@ -4976,7 +4990,7 @@ List of supported readers: You have to fill in your client ID/secret and also fill in correct redirect URL. - + 你必须填写你的客户ID/密码,也要填写正确的重定向URL。 @@ -5013,7 +5027,7 @@ List of supported readers: There is error: %1 - + 出现错误:%1 @@ -5028,7 +5042,7 @@ List of supported readers: Preconfigured client ID/secret will be used. - + 将使用预先配置好的客户ID/密码。 @@ -5053,12 +5067,12 @@ List of supported readers: Client ID - + 客户ID Client secret - + 账户密码 @@ -5068,7 +5082,7 @@ List of supported readers: Get my credentials - + 获取我的证书 @@ -5091,7 +5105,7 @@ List of supported readers: Subscriptions - + 订阅 @@ -5106,7 +5120,7 @@ List of supported readers: Reddit: authentication error - + Reddit: 认证错误 @@ -5122,7 +5136,7 @@ List of supported readers: Reddit: authorization denied - + Reddit: 授权被拒绝 @@ -5156,7 +5170,7 @@ Token 过期时间:%2 %n unread article(s). Tooltip for "unread" column of feed list. - + %n未读的文章(s)。 @@ -5164,22 +5178,22 @@ Token 过期时间:%2 script line is not well-formed - + 脚本行的格式不正确 script threw an error - + 脚本出现了一个错误 script's interpreter was not found - + 没有找到脚本的解释器 script execution took too long - + 脚本执行时间过长 @@ -5192,7 +5206,7 @@ Token 过期时间:%2 Search text - + 搜索文本 @@ -5210,22 +5224,22 @@ Token 过期时间:%2 Synchronize folders && other items - + 同步文件夹&&其他项目 Synchronize article cache - + 同步文章缓存 Error when fetching list of feeds - + 获取Feeds列表时出错 Feeds & categories for account '%1' were not fetched, error: %2 - + 帐户'%1'的Feeds和类别没有被获取,错误:%2 @@ -5270,7 +5284,7 @@ File filter for external e-mail selection dialog. Enter (optional) parameters: - + 输入(可选)参数。 @@ -5280,12 +5294,12 @@ File filter for external e-mail selection dialog. Network - + 网络 Do not accept any incoming cookies - + 不接受任何传入的cookies @@ -5295,7 +5309,7 @@ File filter for external e-mail selection dialog. Always open hyperlinks in external web browser - + 始终在外部网络浏览器中打开超链接 @@ -5395,22 +5409,22 @@ File filter for external e-mail selection dialog. &Add tool - + &添加工具 &Edit selected tool - + 编辑选定的工具 &Delete selected tool - + 删除所选工具 On this page, you can setup a list of external tools which can open URLs. - + 在这一页,你可以设置一个可以打开URL的外部工具的列表。 @@ -5430,7 +5444,7 @@ File filter for external e-mail selection dialog. Network & web & tools - + 网络&网络&工具 @@ -5438,7 +5452,7 @@ File filter for external e-mail selection dialog. 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 服务器的性能和网络连接的延迟将严重影响应用的最终性能,性能或连接不佳的数据库将拖慢浏览 Feed 或消息时的速度。 + 注意,MySQL 服务器的性能和网络连接的延迟将严重影响应用的最终性能,性能或连接不佳的数据库将拖慢浏览Feeds 或消息时的速度。 @@ -5513,7 +5527,7 @@ File filter for external e-mail selection dialog. Note that switching to another data storage type will NOT copy existing your data from currently active data storage to newly selected one. - + 请注意,切换到另一个数据存储类型不会将你现有的数据从当前活动的数据存储中复制到新选择的存储中。 @@ -5528,7 +5542,7 @@ Disadvantages: • application startup and shutdown can take little longer (max. 2 seconds). Authors of this application are NOT responsible for lost data. - + 内存工作数据库的使用有几个优点和缺陷。优点: - 饲料/信息操作的速度更高(特别是在显示数千条信息时), - 整个数据库存储在RAM中,因此你的硬盘可以休息更多。 缺点: - 如果应用程序崩溃,你在上一个会话中的变化就会丢失, - 应用程序的启动和关闭可能需要更长的时间(最多2秒),本应用程序的作者不对丢失的数据负责。 @@ -5639,47 +5653,47 @@ Authors of this application are NOT responsible for lost data. Enter format for count of articles displayed next to each feed/category in feed list. Use "%all" and "%unread" strings which are placeholders for the actual count of all (or unread) articles. - + 输入新闻源清单中每个新闻源/分类旁显示的消息数量的格式。 "%all" 和 "%unread" 分别代表所有消息数(或未读消息数)。 Note that enabling this might have drastic consequences on performance of article list with big number of articles. - + 请注意,如果启用这个功能,可能会对有大量文章的文章列表的性能产生巨大的影响。 days (turned off) - + 天(关闭) day(s) - + 天(s) = unchanged size - + =大小未变 Feed fetching - + 获取饲料 Fetch all articles on startup with initial delay of - + 在启动时获取所有文章,初始延迟为 Auto-fetch articles for all feeds every - + 每隔一段时间自动获取所有Feeds的文章 Only auto-fetch articles if application is unfocused - + 只在应用程序不集中时自动获取文章 @@ -5699,13 +5713,13 @@ Authors of this application are NOT responsible for lost data. Feeds list - + Feeds列表 Row height - + 行高 @@ -5729,117 +5743,117 @@ Authors of this application are NOT responsible for lost data. Article count format - + 文章计数格式 Hide article counts if there are no unread articles - + 如果没有未读文章,隐藏文章计数 Allow only basic keyboard shortcuts for feed/article list - + 只允许用基本的键盘快捷键来操作饲料/文章列表 Display tooltips for feeds and articles - + 显示Feeds和文章的工具提示 Articles - + 文章 Remove all read articles from all feeds on application exit - + 在应用程序退出时,从所有Feeds中删除所有已读文章 Ignore changes in article body when new articles are being fetched - + 在获取新文章时,忽略文章正文的变化 Internal article viewer - + 内部文章查看器 Display attached pictures directly in article - + 在文章中直接显示附件图片 Bring application window to front once article is opened in external web browser - + 用外部网络浏览器打开文章后,将应用程序窗口移至前面 Article browser font - + 文章浏览器的字体 Fixup date/time of articles which are in the future - + 修正未来文章的日期/时间 Limit height of pictures - + 限制图片的高度 Articles list - + 文章列表 Display real icons of feeds instead of read/unread icons - + 显示Feeds的真实图标而不是已读/未读图标 Keep article selection in the middle of the article list viewport - + 将文章选择保留在文章列表视窗的中间位置 Enable multiline items - + 启用多行项目 Top/bottom row padding - + 顶部/底部的行填充 Use custom date/time format - + 使用自定义日期/时间格式 Custom date/time format for today's articles - + 为今天的文章自定义日期/时间格式 Article list font - + 文章列表字体 Show relative time for articles not older than - + 显示相对时间的文章不早于 Feeds & articles - + Feeds&文章 @@ -5857,7 +5871,7 @@ Authors of this application are NOT responsible for lost data. Check for %1 updates on application startup - + 检查应用程序启动时的%1更新 @@ -5880,7 +5894,7 @@ Authors of this application are NOT responsible for lost data. Forced skin colors - + 强制皮肤颜色 @@ -5921,17 +5935,17 @@ Authors of this application are NOT responsible for lost data. (Your OS does not support tray icons at the moment.) - + (你的操作系统目前不支持托盘图标)。 Forced style - + 强制的风格 You can override some colors defined by your skin here. Some colors are used dynamically throughout the application. - + 你可以在这里覆盖一些由你的皮肤定义的颜色。有些颜色在整个应用程序中是动态使用的。 @@ -5939,17 +5953,20 @@ Authors of this application are NOT responsible for lost data. Version: %2 Description: %3 - + %1 + +版本:%2 +描述:%3 Fetch color from activated skin - + 从激活的皮肤中获取颜色 = default icon size - + = 默认图标大小 @@ -5974,22 +5991,22 @@ Description: %3 Use skin colors - + 使用皮肤颜色 Custom skin colors - + 自定义皮肤颜色 Force custom skin colors - + 强制自定义皮肤颜色 Tray area - + 托盘区域 @@ -6005,7 +6022,7 @@ Description: %3 Display count of unread messages - + 显示未读邮件的数量 @@ -6020,7 +6037,7 @@ Description: %3 Task bar - + 任务栏 @@ -6060,12 +6077,12 @@ Description: %3 Toolbar for feeds list - 用于 Feed 列表的工具栏 + 用于 Feeds 列表的工具栏 Toolbar for articles list - + 文章列表的工具栏 @@ -6075,17 +6092,17 @@ Description: %3 Button style - + 按钮样式 Toolbar editor - + 工具栏编辑器 Icon size - + 图标大小 @@ -6113,7 +6130,7 @@ Description: %3 Localization - + 本地化 @@ -6121,7 +6138,7 @@ Description: %3 What is Node.js? - + 什么是Node.js? @@ -6132,47 +6149,53 @@ Description: %3 Note that usually all required Node.js tools should be available via your "PATH" environment variable, so you do not have to specify full paths. Also, relaunch "Settings" dialog after you install Node.js. - + Node.js是异步事件驱动的JavaScript运行时间,旨在建立可扩展的网络应用。 + +%1集成了Node.js,带来了一些现代的功能,如Adblock。 + +注意,通常所有需要的Node.js工具都可以通过你的 "PATH "环境变量获得,所以你不需要指定完整的路径。 + +另外,在安装Node.js后,重新启动 "设置 "对话框。 Node.js has version %1. - + Node.js有%1的版本。 Node.js: %1. - + Node.js: %1. NPM has version %1. - + NPM的版本为%1。 NPM: %1. - + NPM: %1. You cannot choose file, you have to choose FOLDER. - + 你不能选择文件,你必须选择FOLDER。 Package folder is OK. - + 软件包文件夹是确定的。 Package folder will be created! - + 软件包文件夹将被创建! %1 automatically installs some Node.js packages so that you do not have to. %1 does not use global package folder because that requires administrator rights, therefore by default it uses subfolder placed in your "user data" folder. - + %1会自动安装一些Node.js包,这样你就不必安装了。%1不使用全局软件包文件夹,因为那需要管理员权限,因此默认情况下,它使用放在你的 "用户数据 "文件夹中的子文件夹。 @@ -6182,7 +6205,7 @@ Also, relaunch "Settings" dialog after you install Node.js. Node.js executable - + Node.js可执行文件 @@ -6194,17 +6217,17 @@ Also, relaunch "Settings" dialog after you install Node.js. NPM executable - + NPM可执行文件 Package folder - + 软件包文件夹 &Download Node.js - + &下载 Node.js @@ -6214,17 +6237,17 @@ Also, relaunch "Settings" dialog after you install Node.js. You must have "tray icon" activated to have balloon notifications working. Also, there are some built-in sounds. Just start typing ":" and they will show up. - + 你必须激活 "托盘图标 "才能让气球通知发挥作用。此外,还有一些内置的声音。只要开始输入":",它们就会显示出来。 Enable notifications - + 启用通知 Notifications - + 通知 @@ -6258,27 +6281,27 @@ Also, there are some built-in sounds. Just start typing ":" and they w Select sound file - + 选择声音文件 WAV files (*.wav);;MP3 files (*.mp3) - + WAV文件(*.wav);;MP3文件(*.mp3) Balloon notification - + 气球通知 Sound - + 声音 Full path to your WAV sound file - + 你的WAV声音文件的完整路径 @@ -6288,12 +6311,12 @@ Also, there are some built-in sounds. Just start typing ":" and they w &Play - + &播放 Volume - + 音量 @@ -6307,7 +6330,7 @@ Also, there are some built-in sounds. Just start typing ":" and they w Blocked URL: "%1"<br/>Used filter: "%2" - + 被阻止的URL。"%1 "<br/>使用的过滤器。"%2" @@ -6343,12 +6366,12 @@ Also, there are some built-in sounds. Just start typing ":" and they w Cannot save data for category, detailed information was logged via debug log. - + 不能保存分类的数据,详细信息通过调试日志记录下来了。 Cannot save category data - + 无法保存分类数据 @@ -6356,59 +6379,61 @@ Also, there are some built-in sounds. Just start typing ":" and they w Script - + 脚本 Local file - + 本地文件 Unknown - + 不详 Cannot save data for feed: %1 - + 无法保存饲料的数据。%1 JSON error '%1' - + JSON错误'%1 XML is not well-formed, %1 - + XML格式不正确,%1 XML feed file format unrecognized - + XML饲料文件格式未被识别 Cannot move feed, detailed information was logged via debug log. - + 不能移动饲料,详细信息通过调试日志记录下来。 Encoding: %2 Type: %3 - + +编码。%2类型。 +%3 Cannot save feed data - + 不能保存饲料数据 Cannot move feed - + 不能移动饲料 @@ -6567,70 +6592,70 @@ Type: %3 Full feed source identifier - + 完整的进料源标识符 Full feed source identifier which can be URL. - + 完整的饲料来源标识符,可以是URL。 Full command to execute - + 要执行的完整命令 You can enter full command including interpreter here. - + 你可以在这里输入完整的命令,包括解释器。 Here you can enter script executaion line, including interpreter. - + 在这里你可以输入脚本的执行行,包括解释器。 The source is ok. - + 源码是确定的。 The source is empty. - + 源码是空的。 The source does not seem to use "#" separator for arguments. - + 该源码似乎没有使用参数的 "#"分隔符。 Command is ok. - + 命令是确定的。 Command not seem to use "#" separator for arguments. - + 命令似乎没有对参数使用 "#"号分隔符。 Command is empty. - + 命令是空的。 Script failed: %1 - + 脚本失败:%1 Network error: %1 - + 网络错误:%1 @@ -6641,14 +6666,14 @@ Type: %3 What is post-processing script? - + 什么是后处理脚本? You can use URL as a source of your feed or you can produce your feed with custom script. Also, you can post-process generated feed data with yet another script if you wish. These are advanced features and make sure to read the documentation before your use them. - + 你可以使用URL作为你的feed的来源,或者你可以用自定义的脚本生成你的feed。这些都是高级功能,在你使用它们之前,请确保阅读文档。 @@ -6693,12 +6718,12 @@ Also, you can post-process generated feed data with yet another script if you wi Source - + 来源 Post-processing script - + 后处理脚本 @@ -6726,17 +6751,17 @@ Also, you can post-process generated feed data with yet another script if you wi This is obligatory service account for standard RSS/RDF/ATOM feeds. - 标准 RSS/RDF/ATOM Feed 默认的服务账户。 + 标准 RSS/RDF/ATOM Feeds 默认的服务账户。 Do you want to load initial set of feeds? - 你想要载入预设的 Feed 集吗? + 你想要载入预设的 Feeds 集吗? Error when loading initial feeds - 载入预设 Feed 时出错 + 载入预设 Feeds 时出错 @@ -6746,17 +6771,17 @@ Also, you can post-process generated feed data with yet another script if you wi Export feeds - 导出 Feed + 导出 Feeds Import feeds - 导入 Feed + 导入 Feeds This new account does not include any feeds. You can now add default set of feeds. - 新账户不包含任何 Feed,你现在可以添加预设的 Feed 集合。 + 新账户不包含任何 Feeds,你现在可以添加预设的 Feeds 集合。 @@ -6786,7 +6811,7 @@ Also, you can post-process generated feed data with yet another script if you wi Some feeds/categories were not imported due to error, check debug log for more details. - + 由于错误,一些Feeds/类别没有被导入,查看调试日志了解更多细节。 @@ -6822,7 +6847,7 @@ Also, you can post-process generated feed data with yet another script if you wi See new version info - + 查看新版本信息 @@ -6853,7 +6878,7 @@ Unread news: %2 Feeds - Feed + Feeds @@ -6883,7 +6908,7 @@ Unread news: %2 Browse your feeds and articles - + 浏览你的Feeds和文章 @@ -6896,7 +6921,7 @@ Unread news: %2 Enable external resources - + 启用外部资源 @@ -6919,13 +6944,13 @@ Unread news: %2 %n hour(s) - %n 小时 + %n 小时(s) %n minute(s) - %n 分钟 + %n 分钟(s) @@ -6936,7 +6961,7 @@ Unread news: %2 %n second(s) - %n 秒 + %n 秒(s) @@ -7017,7 +7042,7 @@ Unread news: %2 Close dialogs - + 关闭对话框 @@ -7030,7 +7055,7 @@ Unread news: %2 Leaving this option on causes that updates of feeds will be probably much slower and may time-out often. - 启用此选项可能会使更新变慢或经常超时。 + 启用此选项可能会使Feeds的更新变慢或经常超时。 @@ -7089,7 +7114,7 @@ Unread news: %2 Installed version: %1, required at least: %2. - + 安装的版本:%1,至少需要:%2。 @@ -7195,13 +7220,13 @@ Unread news: %2 Force execution of server-side feeds update - + 强制执行服务器端Feeds的更新 Some feeds require authentication, including GMail feeds. BASIC, NTLM-2 and DIGEST-MD5 authentication schemes are supported. - 某些 Feed,例如 Gmail Feed,需要身份认证,我们支持 BASIC, NTLM-2 和 DIGEST-MD5 认证方式。 + 某些 Feeds,例如 Gmail Feeds,需要身份认证,我们支持 BASIC, NTLM-2 和 DIGEST-MD5 认证方式。 @@ -7228,7 +7253,7 @@ Unread news: %2 &Test setup - + 测试设置 @@ -7236,7 +7261,7 @@ Unread news: %2 Share to published - + 分享到已发布的 @@ -7244,12 +7269,12 @@ Unread news: %2 Full feed URL including scheme - + 完整的馈送URL,包括方案 Provide URL for your feed. - + 为你的馈送提供URL。 @@ -7313,7 +7338,7 @@ Last login on: %4 cannot get list of feeds, network error '%1' - + 无法获得Feeds清单,网络错误'%1' @@ -7321,12 +7346,12 @@ Last login on: %4 Unread articles - + 未读文章 You can find all unread articles here. - + 你可以在这里找到所有未读的文章。 @@ -7339,7 +7364,7 @@ Last login on: %4 View website in reader mode - + 以阅读模式查看网站 @@ -7350,12 +7375,12 @@ Last login on: %4 Reader mode failed for this website - + 该网站的阅读模式失败 Reader mode cannot be applied to current page. - + 阅读模式不能应用于当前页面。 @@ -7380,7 +7405,7 @@ Last login on: %4 Open this website in system web browser - + 用系统网页浏览器打开该网站 @@ -7398,7 +7423,7 @@ Last login on: %4 No external tools activated - + 不启动外部工具 @@ -7516,47 +7541,47 @@ Last login on: %4 Navigate to website manually - + 导航至网站 %1 was unable to launch your web browser with the given URL, you need to open the below website URL in your web browser manually. - + %1无法用给定的URL启动你的网络浏览器,你需要在你的网络浏览器中手动打开以下网站URL。 JS can activate windows - + JS可以激活窗口 Show scrollbars - + 显示滚动条 Media playback with gestures - + 用手势播放媒体 WebRTC uses only public interfaces - + WebRTC只使用公共接口 JS can paste from clipboard - + JS可以从剪贴板上粘贴 DNS prefetch enabled - + 启用DNS预取功能 PDF viewer enabled - + 启用PDF查看器 \ No newline at end of file diff --git a/localization/rssguard_zh_TW.ts b/localization/rssguard_zh_TW.ts index eae9b7d5e..6cd128f5e 100644 --- a/localization/rssguard_zh_TW.ts +++ b/localization/rssguard_zh_TW.ts @@ -2834,7 +2834,7 @@ You have to restart manually. Export icons - + 匯出圖示 @@ -3987,7 +3987,7 @@ Login tokens expiration: %2 Name of feed of the article. - + 文章的文源名稱。 @@ -4120,12 +4120,12 @@ Login tokens expiration: %2 Show articles with attachments - + 顯示帶有附件的文章 Show articles with some score - + 顯示某評等的文章 @@ -4267,7 +4267,7 @@ Login tokens expiration: %2 unknown error (%1) Network status. - + 未知的錯誤 (%1) @@ -4714,7 +4714,7 @@ Login tokens expiration: %2 cannot get list of feeds, network error '%1' - + 無法獲取文源清單,網路錯誤 '%1' @@ -5236,12 +5236,12 @@ Login tokens expiration: %2 Error when fetching list of feeds - + 取得文源清單時出錯 Feeds & categories for account '%1' were not fetched, error: %2 - + 未取得帳號 '%1' 的文源 & 分類,錯誤為: %2 @@ -5301,7 +5301,7 @@ File filter for external e-mail selection dialog. Do not accept any incoming cookies - + 不讓任何 cookies 進來 @@ -5446,7 +5446,7 @@ File filter for external e-mail selection dialog. Network & web & tools - + 網路 & 網絡 & 工具 @@ -5686,7 +5686,7 @@ Authors of this application are NOT responsible for lost data. = unchanged size - + = 未變更的大小 @@ -5791,7 +5791,7 @@ Authors of this application are NOT responsible for lost data. Internal article viewer - + 內建的文章檢視器 @@ -5816,7 +5816,7 @@ Authors of this application are NOT responsible for lost data. Limit height of pictures - + 圖片高度上限 @@ -6193,7 +6193,7 @@ Also, relaunch "Settings" dialog after you install Node.js. You cannot choose file, you have to choose FOLDER. - + 不可選擇檔案,須選擇資料夾。 @@ -6936,7 +6936,7 @@ Unread news: %2 Enable external resources - + 啟用外部資源 @@ -7353,7 +7353,7 @@ Last login on: %4 cannot get list of feeds, network error '%1' - + 無法獲取文源清單,網路錯誤 '%' diff --git a/resources/desktop/io.github.martinrotter.rssguard.metainfo.xml b/resources/desktop/io.github.martinrotter.rssguard.metainfo.xml index c55e4b284..35c711e0b 100644 --- a/resources/desktop/io.github.martinrotter.rssguard.metainfo.xml +++ b/resources/desktop/io.github.martinrotter.rssguard.metainfo.xml @@ -60,7 +60,7 @@ - + rssguard diff --git a/resources/scripts/github-actions/build-windows.ps1 b/resources/scripts/github-actions/build-windows.ps1 index 4445a60d8..ee3b35086 100755 --- a/resources/scripts/github-actions/build-windows.ps1 +++ b/resources/scripts/github-actions/build-windows.ps1 @@ -28,10 +28,10 @@ else { $qt_version = "6.3.2" } -$maria_version = "10.6.9" +$maria_version = "10.6.11" $maria_link = "https://archive.mariadb.org/mariadb-$maria_version/winx64-packages/mariadb-$maria_version-winx64.zip" $maria_output = "maria.zip" -$cmake_version = "3.24.2" +$cmake_version = "3.25.1" $cmake_link = "https://github.com/Kitware/CMake/releases/download/v$cmake_version/cmake-$cmake_version-windows-x86_64.zip" $cmake_output = "cmake.zip" diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp index feee5a869..962b33095 100644 --- a/src/librssguard/miscellaneous/application.cpp +++ b/src/librssguard/miscellaneous/application.cpp @@ -370,7 +370,7 @@ void Application::eliminateFirstRuns() { void Application::displayLogMessageInDialog(const QString& message) { if (m_logForm != nullptr && m_logForm->isVisible()) { - m_logForm->appendLogMessage(message); + emit sendLogToDialog(message); } } @@ -1073,6 +1073,12 @@ void Application::parseCmdArgumentsFromMyInstance(const QStringList& raw_cli_arg void Application::displayLog() { if (m_logForm == nullptr) { m_logForm = new FormLog(m_mainForm); + + connect(this, + &Application::sendLogToDialog, + m_logForm, + &FormLog::appendLogMessage, + Qt::ConnectionType::QueuedConnection); } m_logForm->show(); diff --git a/src/librssguard/miscellaneous/application.h b/src/librssguard/miscellaneous/application.h index 38624099a..0025cbf87 100644 --- a/src/librssguard/miscellaneous/application.h +++ b/src/librssguard/miscellaneous/application.h @@ -214,6 +214,9 @@ class RSSGUARD_DLLSPEC Application : public SingleApplication { void onFeedUpdatesProgress(const Feed* feed, int current, int total); void onFeedUpdatesFinished(const FeedDownloadResults& results); + signals: + void sendLogToDialog(QString message); + private: #if defined(Q_OS_WIN) QImage generateOverlayIcon(int number) const; diff --git a/src/librssguard/services/standard/gui/standardfeeddetails.cpp b/src/librssguard/services/standard/gui/standardfeeddetails.cpp index 2766e15ee..6572b49be 100644 --- a/src/librssguard/services/standard/gui/standardfeeddetails.cpp +++ b/src/librssguard/services/standard/gui/standardfeeddetails.cpp @@ -15,8 +15,8 @@ #include #include #include -#include #include +#include StandardFeedDetails::StandardFeedDetails(QWidget* parent) : QWidget(parent) { m_ui.setupUi(this); @@ -42,11 +42,16 @@ StandardFeedDetails::StandardFeedDetails(QWidget* parent) : QWidget(parent) { tr("Here you can enter script executaion line, including interpreter.")); // Add standard feed types. - m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Atom10), QVariant::fromValue(int(StandardFeed::Type::Atom10))); - m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Rdf), QVariant::fromValue(int(StandardFeed::Type::Rdf))); - m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Rss0X), QVariant::fromValue(int(StandardFeed::Type::Rss0X))); - m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Rss2X), QVariant::fromValue(int(StandardFeed::Type::Rss2X))); - m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Json), QVariant::fromValue(int(StandardFeed::Type::Json))); + m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Atom10), + QVariant::fromValue(int(StandardFeed::Type::Atom10))); + m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Rdf), + QVariant::fromValue(int(StandardFeed::Type::Rdf))); + m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Rss0X), + QVariant::fromValue(int(StandardFeed::Type::Rss0X))); + m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Rss2X), + QVariant::fromValue(int(StandardFeed::Type::Rss2X))); + m_ui.m_cmbType->addItem(StandardFeed::typeToString(StandardFeed::Type::Json), + QVariant::fromValue(int(StandardFeed::Type::Json))); // Load available encodings. const QList encodings = QTextCodec::availableCodecs(); @@ -65,15 +70,11 @@ StandardFeedDetails::StandardFeedDetails(QWidget* parent) : QWidget(parent) { // Setup menu & actions for icon selection. m_iconMenu = new QMenu(tr("Icon selection"), this); - m_actionLoadIconFromFile = new QAction(qApp->icons()->fromTheme(QSL("image-x-generic")), - tr("Load icon from file..."), - this); - m_actionUseDefaultIcon = new QAction(qApp->icons()->fromTheme(QSL("application-rss+xml")), - tr("Use default icon from icon theme"), - this); - m_actionFetchIcon = new QAction(qApp->icons()->fromTheme(QSL("emblem-downloads")), - tr("Fetch icon from feed"), - this); + m_actionLoadIconFromFile = + new QAction(qApp->icons()->fromTheme(QSL("image-x-generic")), tr("Load icon from file..."), this); + m_actionUseDefaultIcon = + new QAction(qApp->icons()->fromTheme(QSL("application-rss+xml")), tr("Use default icon from icon theme"), this); + m_actionFetchIcon = new QAction(qApp->icons()->fromTheme(QSL("emblem-downloads")), tr("Fetch icon from feed"), this); m_iconMenu->addAction(m_actionFetchIcon); m_iconMenu->addAction(m_actionLoadIconFromFile); m_iconMenu->addAction(m_actionUseDefaultIcon); @@ -87,9 +88,11 @@ StandardFeedDetails::StandardFeedDetails(QWidget* parent) : QWidget(parent) { tr("No metadata fetched so far.")); connect(m_ui.m_txtTitle->lineEdit(), &BaseLineEdit::textChanged, this, &StandardFeedDetails::onTitleChanged); - connect(m_ui.m_txtDescription->lineEdit(), &BaseLineEdit::textChanged, this, &StandardFeedDetails::onDescriptionChanged); - connect(m_ui.m_cmbSourceType, QOverload::of(&QComboBox::currentIndexChanged), - this, [this]() { + connect(m_ui.m_txtDescription->lineEdit(), + &BaseLineEdit::textChanged, + this, + &StandardFeedDetails::onDescriptionChanged); + connect(m_ui.m_cmbSourceType, QOverload::of(&QComboBox::currentIndexChanged), this, [this]() { onUrlChanged(m_ui.m_txtSource->textEdit()->toPlainText()); }); connect(m_ui.m_txtSource->textEdit(), &QPlainTextEdit::textChanged, this, [this]() { @@ -125,16 +128,15 @@ StandardFeedDetails::StandardFeedDetails(QWidget* parent) : QWidget(parent) { onPostProcessScriptChanged({}); } -void StandardFeedDetails::guessIconOnly(StandardFeed::SourceType source_type, const QString& source, - const QString& post_process_script, const QString& username, - const QString& password, const QNetworkProxy& custom_proxy) { +void StandardFeedDetails::guessIconOnly(StandardFeed::SourceType source_type, + const QString& source, + const QString& post_process_script, + const QString& username, + const QString& password, + const QNetworkProxy& custom_proxy) { try { - StandardFeed* metadata = StandardFeed::guessFeed(source_type, - source, - post_process_script, - username, - password, - custom_proxy); + StandardFeed* metadata = + StandardFeed::guessFeed(source_type, source, post_process_script, username, password, custom_proxy); // Icon or whole feed was guessed. m_ui.m_btnIcon->setIcon(metadata->icon()); @@ -162,22 +164,21 @@ void StandardFeedDetails::guessIconOnly(StandardFeed::SourceType source_type, co } } -void StandardFeedDetails::guessFeed(StandardFeed::SourceType source_type, const QString& source, - const QString& post_process_script, const QString& username, - const QString& password, const QNetworkProxy& custom_proxy) { +void StandardFeedDetails::guessFeed(StandardFeed::SourceType source_type, + const QString& source, + const QString& post_process_script, + const QString& username, + const QString& password, + const QNetworkProxy& custom_proxy) { try { - StandardFeed* metadata = StandardFeed::guessFeed(source_type, - source, - post_process_script, - username, - password, - custom_proxy); + StandardFeed* metadata = + StandardFeed::guessFeed(source_type, source, post_process_script, username, password, custom_proxy); // Icon or whole feed was guessed. m_ui.m_btnIcon->setIcon(metadata->icon()); m_ui.m_txtTitle->lineEdit()->setText(metadata->sanitizedTitle()); m_ui.m_txtDescription->lineEdit()->setText(metadata->description()); - m_ui.m_cmbType->setCurrentIndex(m_ui.m_cmbType->findData(QVariant::fromValue((int) metadata->type()))); + m_ui.m_cmbType->setCurrentIndex(m_ui.m_cmbType->findData(QVariant::fromValue((int)metadata->type()))); int encoding_index = m_ui.m_cmbEncoding->findText(metadata->encoding(), Qt::MatchFlag::MatchFixedString); if (encoding_index >= 0) { @@ -275,8 +276,10 @@ void StandardFeedDetails::onPostProcessScriptChanged(const QString& new_pp) { } void StandardFeedDetails::onLoadIconFromFile() { - QFileDialog dialog(this, tr("Select icon file for the feed"), - qApp->homeFolder(), tr("Images (*.bmp *.jpg *.jpeg *.png *.svg *.tga)")); + QFileDialog dialog(this, + tr("Select icon file for the feed"), + qApp->homeFolder(), + tr("Images (*.bmp *.jpg *.jpeg *.png *.svg *.tga)")); dialog.setFileMode(QFileDialog::FileMode::ExistingFile); dialog.setWindowIcon(qApp->icons()->fromTheme(QSL("image-x-generic"))); @@ -315,7 +318,8 @@ void StandardFeedDetails::prepareForNewFeed(RootItem* parent_to_select, const QS if (parent_to_select != nullptr) { if (parent_to_select->kind() == RootItem::Kind::Category) { - m_ui.m_cmbParentCategory->setCurrentIndex(m_ui.m_cmbParentCategory->findData(QVariant::fromValue((void*)parent_to_select))); + m_ui.m_cmbParentCategory + ->setCurrentIndex(m_ui.m_cmbParentCategory->findData(QVariant::fromValue((void*)parent_to_select))); } else if (parent_to_select->kind() == RootItem::Kind::Feed) { int target_item = m_ui.m_cmbParentCategory->findData(QVariant::fromValue((void*)parent_to_select->parent())); @@ -342,7 +346,8 @@ void StandardFeedDetails::prepareForNewFeed(RootItem* parent_to_select, const QS void StandardFeedDetails::setExistingFeed(StandardFeed* feed) { m_ui.m_cmbSourceType->setCurrentIndex(m_ui.m_cmbSourceType->findData(QVariant::fromValue(feed->sourceType()))); - m_ui.m_cmbParentCategory->setCurrentIndex(m_ui.m_cmbParentCategory->findData(QVariant::fromValue((void*)feed->parent()))); + m_ui.m_cmbParentCategory + ->setCurrentIndex(m_ui.m_cmbParentCategory->findData(QVariant::fromValue((void*)feed->parent()))); m_ui.m_txtTitle->lineEdit()->setText(feed->title()); m_ui.m_txtDescription->lineEdit()->setText(feed->description()); m_ui.m_btnIcon->setIcon(feed->icon()); @@ -355,9 +360,9 @@ void StandardFeedDetails::setExistingFeed(StandardFeed* feed) { } void StandardFeedDetails::loadCategories(const QList& categories, RootItem* root_item) { - m_ui.m_cmbParentCategory->addItem(root_item->fullIcon(), root_item->title(), QVariant::fromValue((void*) root_item)); + m_ui.m_cmbParentCategory->addItem(root_item->fullIcon(), root_item->title(), QVariant::fromValue((void*)root_item)); for (Category* category : categories) { - m_ui.m_cmbParentCategory->addItem(category->fullIcon(), category->title(), QVariant::fromValue((void*) category)); + m_ui.m_cmbParentCategory->addItem(category->fullIcon(), category->title(), QVariant::fromValue((void*)category)); } }