aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md8
-rw-r--r--app/Controllers/entryController.php12
-rw-r--r--app/Models/CategoryDAO.php4
-rw-r--r--app/Models/Context.php28
-rw-r--r--app/Models/EntryDAO.php43
-rw-r--r--app/Models/Feed.php3
-rw-r--r--app/Models/Themes.php1
-rw-r--r--app/i18n/cz/conf.php2
-rw-r--r--app/i18n/cz/index.php1
-rw-r--r--app/i18n/cz/sub.php3
-rw-r--r--app/i18n/de/conf.php2
-rw-r--r--app/i18n/de/index.php1
-rw-r--r--app/i18n/de/sub.php3
-rw-r--r--app/i18n/el/conf.php2
-rw-r--r--app/i18n/el/index.php1
-rw-r--r--app/i18n/el/sub.php3
-rw-r--r--app/i18n/en-us/conf.php2
-rw-r--r--app/i18n/en-us/index.php1
-rw-r--r--app/i18n/en-us/sub.php3
-rw-r--r--app/i18n/en/conf.php2
-rw-r--r--app/i18n/en/index.php1
-rw-r--r--app/i18n/en/sub.php3
-rw-r--r--app/i18n/es/conf.php2
-rw-r--r--app/i18n/es/index.php1
-rw-r--r--app/i18n/es/sub.php3
-rw-r--r--app/i18n/fa/conf.php2
-rw-r--r--app/i18n/fa/index.php1
-rw-r--r--app/i18n/fa/sub.php3
-rw-r--r--app/i18n/fr/conf.php2
-rw-r--r--app/i18n/fr/index.php5
-rw-r--r--app/i18n/fr/sub.php5
-rw-r--r--app/i18n/he/conf.php2
-rw-r--r--app/i18n/he/index.php1
-rw-r--r--app/i18n/he/sub.php3
-rw-r--r--app/i18n/hu/conf.php2
-rw-r--r--app/i18n/hu/index.php1
-rw-r--r--app/i18n/hu/sub.php3
-rw-r--r--app/i18n/id/conf.php2
-rw-r--r--app/i18n/id/index.php1
-rw-r--r--app/i18n/id/sub.php3
-rw-r--r--app/i18n/it/conf.php2
-rw-r--r--app/i18n/it/index.php1
-rw-r--r--app/i18n/it/sub.php3
-rw-r--r--app/i18n/ja/conf.php2
-rw-r--r--app/i18n/ja/index.php1
-rw-r--r--app/i18n/ja/sub.php3
-rw-r--r--app/i18n/ko/conf.php2
-rw-r--r--app/i18n/ko/index.php1
-rw-r--r--app/i18n/ko/sub.php3
-rw-r--r--app/i18n/lv/conf.php2
-rw-r--r--app/i18n/lv/index.php1
-rw-r--r--app/i18n/lv/sub.php3
-rw-r--r--app/i18n/nl/conf.php2
-rw-r--r--app/i18n/nl/index.php1
-rw-r--r--app/i18n/nl/sub.php3
-rw-r--r--app/i18n/oc/conf.php2
-rw-r--r--app/i18n/oc/index.php1
-rw-r--r--app/i18n/oc/sub.php3
-rw-r--r--app/i18n/pl/conf.php2
-rw-r--r--app/i18n/pl/index.php1
-rw-r--r--app/i18n/pl/sub.php3
-rw-r--r--app/i18n/pt-br/conf.php2
-rw-r--r--app/i18n/pt-br/index.php1
-rw-r--r--app/i18n/pt-br/sub.php3
-rw-r--r--app/i18n/ru/conf.php2
-rw-r--r--app/i18n/ru/index.php1
-rw-r--r--app/i18n/ru/sub.php3
-rw-r--r--app/i18n/sk/conf.php2
-rw-r--r--app/i18n/sk/index.php1
-rw-r--r--app/i18n/sk/sub.php3
-rw-r--r--app/i18n/tr/conf.php2
-rw-r--r--app/i18n/tr/index.php1
-rw-r--r--app/i18n/tr/sub.php3
-rw-r--r--app/i18n/zh-cn/conf.php2
-rw-r--r--app/i18n/zh-cn/index.php1
-rw-r--r--app/i18n/zh-cn/sub.php3
-rw-r--r--app/i18n/zh-tw/conf.php2
-rw-r--r--app/i18n/zh-tw/index.php1
-rw-r--r--app/i18n/zh-tw/sub.php3
-rw-r--r--app/layout/aside_feed.phtml8
-rw-r--r--app/views/helpers/feed/update.phtml7
-rw-r--r--app/views/index/normal.phtml13
-rw-r--r--app/views/index/reader.phtml8
-rw-r--r--app/views/subscription/index.phtml2
-rw-r--r--p/api/greader.php2
-rw-r--r--p/scripts/main.js9
-rw-r--r--p/themes/base-theme/frss.css5
-rw-r--r--p/themes/base-theme/frss.rtl.css5
-rw-r--r--p/themes/icons/important.svg16
89 files changed, 228 insertions, 96 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2916e7ce4..4b966b497 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,13 +2,15 @@
## 202X-XX-XX FreshRSS 1.22.2-dev
-* Compatibility
- * Require PHP 7.4+, and implement *typed properties* [#5720](https://github.com/FreshRSS/FreshRSS/pull/5720)
- * Require Apache 2.4+ (but repair minimal compatibility with Apache 2.2) [#5791](https://github.com/FreshRSS/FreshRSS/pull/5791), [#5804](https://github.com/FreshRSS/FreshRSS/pull/5804)
* Features
+ * New *Important feeds* group in the main view, with corresponding new priority level for feeds [#5782](https://github.com/FreshRSS/FreshRSS/pull/5782)
+ * Entries from important feeds are not marked as read during scroll, nor during *Mark all as read*
* Add support for more thumbnail types [#5806](https://github.com/FreshRSS/FreshRSS/pull/5806)
* Increase SQL (`VARCHAR`) text fields length to maximum possible [#5788](https://github.com/FreshRSS/FreshRSS/pull/5788)
* Increase SQL date fields to 64-bit to be ready for year 2038+ [#5570](https://github.com/FreshRSS/FreshRSS/pull/5570)
+* Compatibility
+ * Require PHP 7.4+, and implement *typed properties* [#5720](https://github.com/FreshRSS/FreshRSS/pull/5720)
+ * Require Apache 2.4+ (but repair minimal compatibility with Apache 2.2) [#5791](https://github.com/FreshRSS/FreshRSS/pull/5791), [#5804](https://github.com/FreshRSS/FreshRSS/pull/5804)
* Bug fixing
* Fix regression in Docker `CRON_MIN` if any environment variable contains a single quote [#5795](https://github.com/FreshRSS/FreshRSS/pull/5795)
* Fix JavaScript regression in label dropdown [#5785](https://github.com/FreshRSS/FreshRSS/pull/5785)
diff --git a/app/Controllers/entryController.php b/app/Controllers/entryController.php
index 820075f27..b62214970 100644
--- a/app/Controllers/entryController.php
+++ b/app/Controllers/entryController.php
@@ -71,7 +71,7 @@ class FreshRSS_entry_Controller extends FreshRSS_ActionController {
if (!$get) {
// No get? Mark all entries as read (from $id_max)
- $entryDAO->markReadEntries($id_max, false, 0, null, 0, $is_read);
+ $entryDAO->markReadEntries($id_max, false, FreshRSS_Feed::PRIORITY_MAIN_STREAM, FreshRSS_Feed::PRIORITY_IMPORTANT, null, 0, $is_read);
} else {
$type_get = $get[0];
$get = (int)substr($get, 2);
@@ -83,10 +83,16 @@ class FreshRSS_entry_Controller extends FreshRSS_ActionController {
$entryDAO->markReadFeed($get, $id_max, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
break;
case 's':
- $entryDAO->markReadEntries($id_max, true, 0, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
+ $entryDAO->markReadEntries($id_max, true, null, FreshRSS_Feed::PRIORITY_IMPORTANT,
+ FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
break;
case 'a':
- $entryDAO->markReadEntries($id_max, false, 0, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
+ $entryDAO->markReadEntries($id_max, false, FreshRSS_Feed::PRIORITY_MAIN_STREAM, FreshRSS_Feed::PRIORITY_IMPORTANT,
+ FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
+ break;
+ case 'i':
+ $entryDAO->markReadEntries($id_max, false, FreshRSS_Feed::PRIORITY_IMPORTANT, null,
+ FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
break;
case 't':
$entryDAO->markReadTag($get, $id_max, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read);
diff --git a/app/Models/CategoryDAO.php b/app/Models/CategoryDAO.php
index eeb3e9843..72971f44b 100644
--- a/app/Models/CategoryDAO.php
+++ b/app/Models/CategoryDAO.php
@@ -284,11 +284,11 @@ SQL;
. ($details ? 'f.* ' : 'f.id, f.name, f.url, f.kind, f.website, f.priority, f.error, f.`cache_nbEntries`, f.`cache_nbUnreads`, f.ttl ')
. 'FROM `_category` c '
. 'LEFT OUTER JOIN `_feed` f ON f.category=c.id '
- . 'WHERE f.priority >= :priority_normal '
+ . 'WHERE f.priority >= :priority '
. 'GROUP BY f.id, c_id '
. 'ORDER BY c.name, f.name';
$stm = $this->pdo->prepare($sql);
- $values = [ ':priority_normal' => FreshRSS_Feed::PRIORITY_NORMAL ];
+ $values = [ ':priority' => FreshRSS_Feed::PRIORITY_CATEGORY ];
if ($stm !== false && $stm->execute($values)) {
$res = $stm->fetchAll(PDO::FETCH_ASSOC) ?: [];
/** @var array<array{'c_name':string,'c_id':int,'c_kind':int,'c_last_update':int,'c_error':int|bool,'c_attributes'?:string,
diff --git a/app/Models/Context.php b/app/Models/Context.php
index c1fa96ae7..9fac52d44 100644
--- a/app/Models/Context.php
+++ b/app/Models/Context.php
@@ -19,6 +19,7 @@ final class FreshRSS_Context {
public static string $name = '';
public static string $description = '';
public static int $total_unread = 0;
+ public static int $total_important_unread = 0;
/** @var array{'all':int,'read':int,'unread':int} */
public static array $total_starred = [
@@ -29,10 +30,11 @@ final class FreshRSS_Context {
public static int $get_unread = 0;
- /** @var array{'all':bool,'starred':bool,'feed':int|false,'category':int|false,'tag':int|false,'tags':bool} */
+ /** @var array{'all':bool,'starred':bool,'important':bool,'feed':int|false,'category':int|false,'tag':int|false,'tags':bool} */
public static array $current_get = [
'all' => false,
'starred' => false,
+ 'important' => false,
'feed' => false,
'category' => false,
'tag' => false,
@@ -154,9 +156,8 @@ final class FreshRSS_Context {
// Update number of read / unread variables.
$entryDAO = FreshRSS_Factory::createEntryDao();
self::$total_starred = $entryDAO->countUnreadReadFavorites();
- self::$total_unread = FreshRSS_CategoryDAO::countUnread(
- self::$categories, 1
- );
+ self::$total_unread = FreshRSS_CategoryDAO::countUnread(self::$categories, FreshRSS_Feed::PRIORITY_MAIN_STREAM);
+ self::$total_important_unread = FreshRSS_CategoryDAO::countUnread(self::$categories, FreshRSS_Feed::PRIORITY_IMPORTANT);
self::_get(Minz_Request::paramString('get') ?: 'a');
@@ -208,12 +209,14 @@ final class FreshRSS_Context {
* Return the current get as a string or an array.
*
* If $array is true, the first item of the returned value is 'f' or 'c' or 't' and the second is the id.
- * @phpstan-return ($asArray is true ? array{'a'|'c'|'f'|'s'|'t'|'T',bool|int} : string)
+ * @phpstan-return ($asArray is true ? array{'a'|'c'|'f'|'i'|'s'|'t'|'T',bool|int} : string)
* @return string|array{string,bool|int}
*/
public static function currentGet(bool $asArray = false) {
if (self::$current_get['all']) {
return $asArray ? ['a', true] : 'a';
+ } elseif (self::$current_get['important']) {
+ return $asArray ? ['i', true] : 'i';
} elseif (self::$current_get['starred']) {
return $asArray ? ['s', true] : 's';
} elseif (self::$current_get['feed']) {
@@ -248,6 +251,13 @@ final class FreshRSS_Context {
}
/**
+ * @return bool true if the current request targets important feeds, false otherwise.
+ */
+ public static function isImportant(): bool {
+ return self::$current_get['important'] != false;
+ }
+
+ /**
* @return bool true if the current request targets a category, false otherwise.
*/
public static function isCategory(): bool {
@@ -278,6 +288,8 @@ final class FreshRSS_Context {
switch($type) {
case 'a':
return self::$current_get['all'];
+ case 'i':
+ return self::$current_get['important'];
case 's':
return self::$current_get['starred'];
case 'f':
@@ -325,6 +337,12 @@ final class FreshRSS_Context {
self::$description = self::$system_conf->meta_description;
self::$get_unread = self::$total_unread;
break;
+ case 'i':
+ self::$current_get['important'] = true;
+ self::$name = _t('index.menu.important');
+ self::$description = self::$system_conf->meta_description;
+ self::$get_unread = self::$total_unread;
+ break;
case 's':
self::$current_get['starred'] = true;
self::$name = _t('index.feed.title_fav');
diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php
index 017754e04..f2711d448 100644
--- a/app/Models/EntryDAO.php
+++ b/app/Models/EntryDAO.php
@@ -425,7 +425,7 @@ SQL;
* @param string $idMax fail safe article ID
* @return int|false affected rows
*/
- public function markReadEntries(string $idMax = '0', bool $onlyFavorites = false, int $priorityMin = 0,
+ public function markReadEntries(string $idMax = '0', bool $onlyFavorites = false, ?int $priorityMin = null, ?int $prioritMax = null,
?FreshRSS_BooleanSearch $filters = null, int $state = 0, bool $is_read = true) {
FreshRSS_UserDAO::touch();
if ($idMax == '0') {
@@ -434,12 +434,22 @@ SQL;
}
$sql = 'UPDATE `_entry` SET is_read = ? WHERE is_read <> ? AND id <= ?';
+ $values = [$is_read ? 1 : 0, $is_read ? 1 : 0, $idMax];
if ($onlyFavorites) {
$sql .= ' AND is_favorite=1';
- } elseif ($priorityMin >= 0) {
- $sql .= ' AND id_feed IN (SELECT f.id FROM `_feed` f WHERE f.priority > ' . intval($priorityMin) . ')';
}
- $values = [$is_read ? 1 : 0, $is_read ? 1 : 0, $idMax];
+ if ($priorityMin !== null || $prioritMax !== null) {
+ $sql .= ' AND id_feed IN (SELECT f.id FROM `_feed` f WHERE 1=1';
+ if ($priorityMin !== null) {
+ $sql .= ' AND f.priority >= ?';
+ $values[] = $priorityMin;
+ }
+ if ($prioritMax !== null) {
+ $sql .= ' AND f.priority < ?';
+ $values[] = $prioritMax;
+ }
+ $sql .= ')';
+ }
[$searchValues, $search] = $this->sqlListEntriesWhere('', $filters, $state);
@@ -1019,7 +1029,7 @@ SQL;
}
/**
- * @phpstan-param 'a'|'A'|'s'|'S'|'c'|'f'|'t'|'T'|'ST' $type
+ * @phpstan-param 'a'|'A'|'i'|'s'|'S'|'c'|'f'|'t'|'T'|'ST' $type
* @param int $id category/feed/tag ID
* @param 'ASC'|'DESC' $order
* @return array{0:array<int|string>,1:string}
@@ -1034,20 +1044,23 @@ SQL;
$values = [];
switch ($type) {
case 'a': //All PRIORITY_MAIN_STREAM
- $where .= 'f.priority > ' . FreshRSS_Feed::PRIORITY_NORMAL . ' ';
+ $where .= 'f.priority >= ' . FreshRSS_Feed::PRIORITY_MAIN_STREAM . ' ';
break;
case 'A': //All except PRIORITY_ARCHIVED
- $where .= 'f.priority >= ' . FreshRSS_Feed::PRIORITY_NORMAL . ' ';
+ $where .= 'f.priority > ' . FreshRSS_Feed::PRIORITY_ARCHIVED . ' ';
+ break;
+ case 'i': //Priority important feeds
+ $where .= 'f.priority >= ' . FreshRSS_Feed::PRIORITY_IMPORTANT . ' ';
break;
case 's': //Starred. Deprecated: use $state instead
- $where .= 'f.priority >= ' . FreshRSS_Feed::PRIORITY_NORMAL . ' ';
+ $where .= 'f.priority > ' . FreshRSS_Feed::PRIORITY_ARCHIVED . ' ';
$where .= 'AND e.is_favorite=1 ';
break;
case 'S': //Starred
$where .= 'e.is_favorite=1 ';
break;
case 'c': //Category
- $where .= 'f.priority >= ' . FreshRSS_Feed::PRIORITY_NORMAL . ' ';
+ $where .= 'f.priority >= ' . FreshRSS_Feed::PRIORITY_CATEGORY . ' ';
$where .= 'AND f.category=? ';
$values[] = $id;
break;
@@ -1083,7 +1096,7 @@ SQL;
}
/**
- * @phpstan-param 'a'|'A'|'s'|'S'|'c'|'f'|'t'|'T'|'ST' $type
+ * @phpstan-param 'a'|'A'|'s'|'S'|'i'|'c'|'f'|'t'|'T'|'ST' $type
* @param 'ASC'|'DESC' $order
* @param int $id category/feed/tag ID
* @return PDOStatement|false
@@ -1118,7 +1131,7 @@ SQL;
}
/**
- * @phpstan-param 'a'|'A'|'s'|'S'|'c'|'f'|'t'|'T'|'ST' $type
+ * @phpstan-param 'a'|'A'|'s'|'S'|'i'|'c'|'f'|'t'|'T'|'ST' $type
* @param int $id category/feed/tag ID
* @param 'ASC'|'DESC' $order
* @return Traversable<FreshRSS_Entry>
@@ -1360,20 +1373,20 @@ SELECT c FROM (
FROM `_entry` AS e1
JOIN `_feed` AS f1 ON e1.id_feed = f1.id
WHERE e1.is_favorite = 1
- AND f1.priority >= :priority_normal1
+ AND f1.priority >= :priority1
UNION
SELECT COUNT(e2.id) AS c, 2 AS o
FROM `_entry` AS e2
JOIN `_feed` AS f2 ON e2.id_feed = f2.id
WHERE e2.is_favorite = 1
- AND e2.is_read = 0 AND f2.priority >= :priority_normal2
+ AND e2.is_read = 0 AND f2.priority >= :priority2
) u
ORDER BY o
SQL;
//Binding a value more than once is not standard and does not work with native prepared statements (e.g. MySQL) https://bugs.php.net/bug.php?id=40417
$res = $this->fetchColumn($sql, 0, [
- ':priority_normal1' => FreshRSS_Feed::PRIORITY_NORMAL,
- ':priority_normal2' => FreshRSS_Feed::PRIORITY_NORMAL,
+ ':priority1' => FreshRSS_Feed::PRIORITY_CATEGORY,
+ ':priority2' => FreshRSS_Feed::PRIORITY_CATEGORY,
]);
if ($res === null) {
return ['all' => -1, 'unread' => -1, 'read' => -1];
diff --git a/app/Models/Feed.php b/app/Models/Feed.php
index 405327ceb..b75d12b4e 100644
--- a/app/Models/Feed.php
+++ b/app/Models/Feed.php
@@ -28,8 +28,9 @@ class FreshRSS_Feed extends Minz_Model {
*/
public const KIND_JSON_XPATH = 20;
+ public const PRIORITY_IMPORTANT = 20;
public const PRIORITY_MAIN_STREAM = 10;
- public const PRIORITY_NORMAL = 0;
+ public const PRIORITY_CATEGORY = 0;
public const PRIORITY_ARCHIVED = -10;
public const TTL_DEFAULT = 0;
diff --git a/app/Models/Themes.php b/app/Models/Themes.php
index ab99ea63c..902d3c94b 100644
--- a/app/Models/Themes.php
+++ b/app/Models/Themes.php
@@ -101,6 +101,7 @@ class FreshRSS_Themes extends Minz_Model {
'FreshRSS-logo' => '⊚',
'help' => 'ℹ️', //ⓘ
'icon' => '⊚',
+ 'important' => '📌',
'key' => '🔑', //⚿
'label' => '🏷️',
'link' => '↗️', //↗
diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php
index 0d6d5893f..ae5dd83aa 100644
--- a/app/i18n/cz/conf.php
+++ b/app/i18n/cz/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'když je článek otevřen na své původní webové stránce',
'article_viewed' => 'když je článek zobrazen',
'keep_max_n_unread' => 'Maximální počet článků, které ponechat jako nepřečtené',
- 'scroll' => 'během posouvání',
+ 'scroll' => 'během posouvání (except for important feeds)', // DIRTY
'upon_gone' => 'když se již nenachází v upstreamu zpráv.',
'upon_reception' => 'po obdržení článku',
'when' => 'Označit článek jako přečtený…',
diff --git a/app/i18n/cz/index.php b/app/i18n/cz/index.php
index 71e1b385e..2f298a2c2 100644
--- a/app/i18n/cz/index.php
+++ b/app/i18n/cz/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Uložit aktuální dotaz do záložek',
'favorites' => 'Oblíbené (%s)',
'global_view' => 'Zobrazení přehledu',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Hlavní kanál',
'mark_all_read' => 'Označit vše jako přečtené',
'mark_cat_read' => 'Označit kategorii jako přečtenou',
diff --git a/app/i18n/cz/sub.php b/app/i18n/cz/sub.php
index 9da084b31..75381cf53 100644
--- a/app/i18n/cz/sub.php
+++ b/app/i18n/cz/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Viditelnost',
'archived' => 'Nezobrazovat (archivováno)',
+ 'category' => 'Zobrazit v jeho kategorii',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Zobrazit ve hlavním kanálu',
- 'normal' => 'Zobrazit v jeho kategorii',
),
'proxy' => 'Nastavete proxy pro načítání tohoto kanálu',
'proxy_help' => 'Vyberte protokol (např.: SOCKS5) a zadejte adresu proxy (např.: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php
index 98eae619b..9152d2bdf 100644
--- a/app/i18n/de/conf.php
+++ b/app/i18n/de/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'wenn der Artikel auf der Original-Webseite geöffnet wird',
'article_viewed' => 'wenn der Artikel angesehen wird',
'keep_max_n_unread' => 'Max. Anzahl von ungelesenen Artikeln',
- 'scroll' => 'beim Scrollen bzw. Überspringen',
+ 'scroll' => 'beim Scrollen bzw. Überspringen (except for important feeds)', // DIRTY
'upon_gone' => 'wenn der Artikel nicht mehr im Feed enthalten ist',
'upon_reception' => 'beim Empfang des Artikels',
'when' => 'Artikel als gelesen markieren…',
diff --git a/app/i18n/de/index.php b/app/i18n/de/index.php
index 0e158199b..98c853014 100644
--- a/app/i18n/de/index.php
+++ b/app/i18n/de/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Aktuelle Abfrage speichern',
'favorites' => 'Favoriten (%s)',
'global_view' => 'Globale Ansicht',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Haupt-Feeds',
'mark_all_read' => 'Alle als gelesen markieren',
'mark_cat_read' => 'Kategorie als gelesen markieren',
diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php
index bb166076e..e2247a97e 100644
--- a/app/i18n/de/sub.php
+++ b/app/i18n/de/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Sichtbarkeit',
'archived' => 'Nicht anzeigen (archiviert)',
+ 'category' => 'Zeige in eigener Kategorie',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'In Haupt-Feeds zeigen',
- 'normal' => 'Zeige in eigener Kategorie',
),
'proxy' => 'Verwende einen Proxy, um den Feed abzuholen',
'proxy_help' => 'Wähle ein Protokoll (z.B. SOCKS5) und einen Proxy mit Port (z.B. <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/el/conf.php b/app/i18n/el/conf.php
index 9f55b3f5c..ea4c28457 100644
--- a/app/i18n/el/conf.php
+++ b/app/i18n/el/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'when the article is opened on its original website', // TODO
'article_viewed' => 'when the article is viewed', // TODO
'keep_max_n_unread' => 'Max number of articles to keep unread', // TODO
- 'scroll' => 'while scrolling', // TODO
+ 'scroll' => 'while scrolling (except for important feeds)', // TODO
'upon_gone' => 'when it is no longer in the upstream news feed', // TODO
'upon_reception' => 'upon receiving the article', // TODO
'when' => 'Mark an article as read…', // TODO
diff --git a/app/i18n/el/index.php b/app/i18n/el/index.php
index f9d84d49a..acee104e3 100644
--- a/app/i18n/el/index.php
+++ b/app/i18n/el/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Bookmark current query', // TODO
'favorites' => 'Favourites (%s)', // TODO
'global_view' => 'Global view', // TODO
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Main stream', // TODO
'mark_all_read' => 'Mark all as read', // TODO
'mark_cat_read' => 'Mark category as read', // TODO
diff --git a/app/i18n/el/sub.php b/app/i18n/el/sub.php
index 5353307b3..6b7867149 100644
--- a/app/i18n/el/sub.php
+++ b/app/i18n/el/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibility', // TODO
'archived' => 'Do not show (archived)', // TODO
+ 'category' => 'Show in its category', // TODO
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Show in main stream', // TODO
- 'normal' => 'Show in its category', // TODO
),
'proxy' => 'Set a proxy for fetching this feed', // TODO
'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // TODO
diff --git a/app/i18n/en-us/conf.php b/app/i18n/en-us/conf.php
index 7e0232c04..4736812f4 100644
--- a/app/i18n/en-us/conf.php
+++ b/app/i18n/en-us/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'when the article is opened on its original website', // IGNORE
'article_viewed' => 'when the article is viewed', // IGNORE
'keep_max_n_unread' => 'Max number of articles to keep unread', // IGNORE
- 'scroll' => 'while scrolling', // IGNORE
+ 'scroll' => 'while scrolling (except for important feeds)', // IGNORE
'upon_gone' => 'when it is no longer in the upstream news feed', // IGNORE
'upon_reception' => 'upon receiving the article', // IGNORE
'when' => 'Mark an article as read…', // IGNORE
diff --git a/app/i18n/en-us/index.php b/app/i18n/en-us/index.php
index 0ebdb9c57..2496fb159 100644
--- a/app/i18n/en-us/index.php
+++ b/app/i18n/en-us/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Bookmark current query', // IGNORE
'favorites' => 'Favorites (%s)',
'global_view' => 'Global view', // IGNORE
+ 'important' => 'Important feeds', // IGNORE
'main_stream' => 'Main stream', // IGNORE
'mark_all_read' => 'Mark all as read', // IGNORE
'mark_cat_read' => 'Mark category as read', // IGNORE
diff --git a/app/i18n/en-us/sub.php b/app/i18n/en-us/sub.php
index f6e5308a1..848b929dc 100644
--- a/app/i18n/en-us/sub.php
+++ b/app/i18n/en-us/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibility', // IGNORE
'archived' => 'Do not show (archived)', // IGNORE
+ 'category' => 'Show in its category', // IGNORE
+ 'important' => 'Show in important feeds', // IGNORE
'main_stream' => 'Show in main stream', // IGNORE
- 'normal' => 'Show in its category', // IGNORE
),
'proxy' => 'Set a proxy for fetching this feed', // IGNORE
'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // IGNORE
diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php
index 6f1805f9e..5cb8af04f 100644
--- a/app/i18n/en/conf.php
+++ b/app/i18n/en/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'when the article is opened on its original website',
'article_viewed' => 'when the article is viewed',
'keep_max_n_unread' => 'Max number of articles to keep unread',
- 'scroll' => 'while scrolling',
+ 'scroll' => 'while scrolling (except for important feeds)',
'upon_gone' => 'when it is no longer in the upstream news feed',
'upon_reception' => 'upon receiving the article',
'when' => 'Mark an article as read…',
diff --git a/app/i18n/en/index.php b/app/i18n/en/index.php
index 0d0af728e..ac72b983d 100644
--- a/app/i18n/en/index.php
+++ b/app/i18n/en/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Bookmark current query',
'favorites' => 'Favourites (%s)',
'global_view' => 'Global view',
+ 'important' => 'Important feeds',
'main_stream' => 'Main stream',
'mark_all_read' => 'Mark all as read',
'mark_cat_read' => 'Mark category as read',
diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php
index 7ebdfed57..f57e91537 100644
--- a/app/i18n/en/sub.php
+++ b/app/i18n/en/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibility',
'archived' => 'Do not show (archived)',
+ 'category' => 'Show in its category',
+ 'important' => 'Show in important feeds',
'main_stream' => 'Show in main stream',
- 'normal' => 'Show in its category',
),
'proxy' => 'Set a proxy for fetching this feed',
'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)',
diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php
index b6d414d03..e8f8fc4a3 100644
--- a/app/i18n/es/conf.php
+++ b/app/i18n/es/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'cuando el artículo se abra en su web original',
'article_viewed' => 'cuando se muestre el artículo',
'keep_max_n_unread' => 'Número máximo de artículos para mantener sin leer',
- 'scroll' => 'durante el desplazamiento',
+ 'scroll' => 'durante el desplazamiento (except for important feeds)', // DIRTY
'upon_gone' => 'cuando ya no está disponible en el feed de noticias previo',
'upon_reception' => 'al recibir el artículo',
'when' => 'Marcar el artículo como leído…',
diff --git a/app/i18n/es/index.php b/app/i18n/es/index.php
index dd773c88d..c27809389 100644
--- a/app/i18n/es/index.php
+++ b/app/i18n/es/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Marcar consulta actual',
'favorites' => 'Favoritos (%s)',
'global_view' => 'Vista Global',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Salida Principal',
'mark_all_read' => 'Marcar todo como leído',
'mark_cat_read' => 'Marcar categoría como leída',
diff --git a/app/i18n/es/sub.php b/app/i18n/es/sub.php
index 7016a35ff..ef19f5ad3 100644
--- a/app/i18n/es/sub.php
+++ b/app/i18n/es/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibilidad',
'archived' => 'No mostrar (archivado)',
+ 'category' => 'Mostrar en su categoría',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Mostrar en salida principal',
- 'normal' => 'Mostrar en su categoría',
),
'proxy' => 'Establecer un proxy para obtener esta fuente',
'proxy_help' => 'Seleccione un protocolo (e.g: SOCKS5) e introduzca la dirección del proxy (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/fa/conf.php b/app/i18n/fa/conf.php
index a2c7291a1..898f68385 100644
--- a/app/i18n/fa/conf.php
+++ b/app/i18n/fa/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => ' هنگامی که مقاله در وب سایت اصلی خود باز می شود',
'article_viewed' => ' هنگام مشاهده مقاله',
'keep_max_n_unread' => ' حداکثر تعداد مقالات خوانده نشده',
- 'scroll' => ' در حین پیمایش',
+ 'scroll' => '(except for important feeds) در حین پیمایش', // DIRTY
'upon_gone' => ' زمانی که دیگر در فید اخبار بالادستی نیست',
'upon_reception' => ' پس از دریافت مقاله',
'when' => ' علامت گذاری یک مقاله به عنوان خوانده شده…',
diff --git a/app/i18n/fa/index.php b/app/i18n/fa/index.php
index 518ab4dfa..310cf02fa 100644
--- a/app/i18n/fa/index.php
+++ b/app/i18n/fa/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => ' درخواست فعلی را نشانک‌گذاری کنید',
'favorites' => ' موارد دلخواه (%s)',
'global_view' => ' نمای جهانی',
+ 'important' => 'Important feeds', // TODO
'main_stream' => ' جریان اصلی',
'mark_all_read' => ' همه را به عنوان خوانده شده علامت گذاری کنید',
'mark_cat_read' => ' دسته را به عنوان خوانده شده علامت گذاری کنید',
diff --git a/app/i18n/fa/sub.php b/app/i18n/fa/sub.php
index 29a41245b..9f89ff675 100644
--- a/app/i18n/fa/sub.php
+++ b/app/i18n/fa/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => ' دید',
'archived' => ' نشان داده نشود (بایگانی شده)',
+ 'category' => ' نمایش در دسته بندی خود',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => ' نمایش در جریان اصلی',
- 'normal' => ' نمایش در دسته بندی خود',
),
'proxy' => ' یک پروکسی برای واکشی این فید تنظیم کنید',
'proxy_help' => ' یک پروتکل (به عنوان مثال: SOCKS5) انتخاب کنید و آدرس پراکسی را وارد کنید (به عنوان مثال: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php
index ac4cebc4a..37ca60117 100644
--- a/app/i18n/fr/conf.php
+++ b/app/i18n/fr/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'lorsque l’article est ouvert sur le site d’origine',
'article_viewed' => 'lorsque l’article est affiché',
'keep_max_n_unread' => 'Nombre maximum d’articles conservés non lus',
- 'scroll' => 'au défilement de la page',
+ 'scroll' => 'au défilement de la page (sauf pour les flux importants)',
'upon_gone' => 'lorsqu’il n’est plus dans le flux d’actualités en amont',
'upon_reception' => 'dès la réception du nouvel article',
'when' => 'Marquer un article comme lu…',
diff --git a/app/i18n/fr/index.php b/app/i18n/fr/index.php
index 75131452a..76631edc7 100644
--- a/app/i18n/fr/index.php
+++ b/app/i18n/fr/index.php
@@ -43,9 +43,10 @@ return array(
'before_one_day' => 'Antérieurs à 1 jour',
'before_one_week' => 'Antérieurs à 1 semaine',
'bookmark_query' => 'Enregistrer la recherche courante',
- 'favorites' => 'Favoris (%s)',
+ 'favorites' => 'Articles favoris (%s)',
'global_view' => 'Vue globale',
- 'main_stream' => 'Flux principal',
+ 'important' => 'Flux importants', // DIRTY
+ 'main_stream' => 'Flux principaux',
'mark_all_read' => 'Tout marquer comme lu',
'mark_cat_read' => 'Marquer la catégorie comme lue',
'mark_feed_read' => 'Marquer le flux comme lu',
diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php
index 893678168..9ec9ad5f7 100644
--- a/app/i18n/fr/sub.php
+++ b/app/i18n/fr/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibilité',
'archived' => 'Ne pas afficher (archivé)',
- 'main_stream' => 'Afficher dans le flux principal',
- 'normal' => 'Afficher dans sa catégorie',
+ 'category' => 'Afficher dans sa catégorie',
+ 'important' => 'Afficher dans les flux importants',
+ 'main_stream' => 'Afficher dans les flux principaux',
),
'proxy' => 'Utiliser un proxy pour télécharger ce flux',
'proxy_help' => 'Sélectionner un protocole (ex : SOCKS5) et entrer l’adresse du proxy (ex. : <kbd>127.0.0.1:1080</kbd> ou <kbd>utilisateur:mot-de-passe@127.0.0.1:1080</kbd>)',
diff --git a/app/i18n/he/conf.php b/app/i18n/he/conf.php
index 96def73f2..eb40f1862 100644
--- a/app/i18n/he/conf.php
+++ b/app/i18n/he/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'כאשר מאמר נפתח באתר המקורי',
'article_viewed' => 'כאשר מאמר נצפה',
'keep_max_n_unread' => 'Max number of articles to keep unread', // TODO
- 'scroll' => 'כאשר גוללים',
+ 'scroll' => '(except for important feeds) כאשר גוללים', // DIRTY
'upon_gone' => 'when it is no longer in the upstream news feed', // TODO
'upon_reception' => 'כאשר המאמר מתקבל',
'when' => 'סימון מאמרים כנקראו…',
diff --git a/app/i18n/he/index.php b/app/i18n/he/index.php
index 452426dd1..78ee180f1 100644
--- a/app/i18n/he/index.php
+++ b/app/i18n/he/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Bookmark current query', // TODO
'favorites' => 'מועדפים (%s)',
'global_view' => 'תצוגה גלובלית',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'הזנה ראשית',
'mark_all_read' => 'סימון הכל כנקרא',
'mark_cat_read' => 'סימון קטגוריה כנקראה',
diff --git a/app/i18n/he/sub.php b/app/i18n/he/sub.php
index b91fcea4b..3c1b65b87 100644
--- a/app/i18n/he/sub.php
+++ b/app/i18n/he/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibility', // TODO
'archived' => 'Do not show (archived)', // TODO
+ 'category' => 'Show in its category', // TODO
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'הצגה בזרם המרכזי',
- 'normal' => 'Show in its category', // TODO
),
'proxy' => 'Set a proxy for fetching this feed', // TODO
'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // TODO
diff --git a/app/i18n/hu/conf.php b/app/i18n/hu/conf.php
index 058322fe3..83adcb76b 100644
--- a/app/i18n/hu/conf.php
+++ b/app/i18n/hu/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'ha a cikk megnyitásra került az eredeti weblapon',
'article_viewed' => 'ha a cikk megtekintésre került',
'keep_max_n_unread' => 'Cikkek maximális száma olvasatlanként tartva',
- 'scroll' => 'görgetés közben',
+ 'scroll' => 'görgetés közben (except for important feeds)', // DIRTY
'upon_gone' => 'ha már nincs benne a hírforrásban',
'upon_reception' => 'a cikk beérkezésekor',
'when' => 'Jelölje a cikket olvasottként…',
diff --git a/app/i18n/hu/index.php b/app/i18n/hu/index.php
index 7b33c52d9..9e2854b58 100644
--- a/app/i18n/hu/index.php
+++ b/app/i18n/hu/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Jelenlegi lekérdezés könyvjelzőzése',
'favorites' => 'Kedvencek (%s)',
'global_view' => 'Globális nézet',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Minden cikk',
'mark_all_read' => 'Legyen mind olvasott',
'mark_cat_read' => 'Kategória megjelölése olvasottként',
diff --git a/app/i18n/hu/sub.php b/app/i18n/hu/sub.php
index fc332ed79..1ad060a4a 100644
--- a/app/i18n/hu/sub.php
+++ b/app/i18n/hu/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Láthatóság',
'archived' => 'Ne jelenjen meg (archivált)',
+ 'category' => 'Jelenjen meg a saját kategóriájában',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Megjelenítés a Minden cikk között',
- 'normal' => 'Jelenjen meg a saját kategóriájában',
),
'proxy' => 'Állíts be egy proxy-t a hírforráshoz ',
'proxy_help' => 'Válassz egy protokolt (pl: SOCKS5) és add meg a proxy címét (pl: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/id/conf.php b/app/i18n/id/conf.php
index abf2da35d..c875407b7 100644
--- a/app/i18n/id/conf.php
+++ b/app/i18n/id/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'when the article is opened on its original website', // TODO
'article_viewed' => 'when the article is viewed', // TODO
'keep_max_n_unread' => 'Max number of articles to keep unread', // TODO
- 'scroll' => 'while scrolling', // TODO
+ 'scroll' => 'while scrolling (except for important feeds)', // TODO
'upon_gone' => 'when it is no longer in the upstream news feed', // TODO
'upon_reception' => 'upon receiving the article', // TODO
'when' => 'Mark an article as read…', // TODO
diff --git a/app/i18n/id/index.php b/app/i18n/id/index.php
index 82aded9cf..2bb9d2d3d 100644
--- a/app/i18n/id/index.php
+++ b/app/i18n/id/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Bookmark current query', // TODO
'favorites' => 'Favorites (%s)',
'global_view' => 'Global view', // TODO
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Main stream', // TODO
'mark_all_read' => 'Mark all as read', // TODO
'mark_cat_read' => 'Mark category as read', // TODO
diff --git a/app/i18n/id/sub.php b/app/i18n/id/sub.php
index ba55176b1..bc71e086e 100644
--- a/app/i18n/id/sub.php
+++ b/app/i18n/id/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibility', // TODO
'archived' => 'Do not show (archived)', // TODO
+ 'category' => 'Show in its category', // TODO
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Show in main stream', // TODO
- 'normal' => 'Show in its category', // TODO
),
'proxy' => 'Set a proxy for fetching this feed', // TODO
'proxy_help' => 'Select a protocol (e.g: SOCKS5) and enter the proxy address (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // TODO
diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php
index 80dc31f92..c00e9056e 100644
--- a/app/i18n/it/conf.php
+++ b/app/i18n/it/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'Quando un articolo è aperto nel suo sito di origine',
'article_viewed' => 'Quando un articolo viene letto',
'keep_max_n_unread' => 'Massimo numero di articoli da mantenere come non letti',
- 'scroll' => 'Scorrendo la pagina',
+ 'scroll' => 'Scorrendo la pagina (except for important feeds)', // DIRTY
'upon_gone' => 'quando non si trova più nel feed di notizie in alto',
'upon_reception' => 'Alla ricezione del contenuto',
'when' => 'Segna articoli come letti…',
diff --git a/app/i18n/it/index.php b/app/i18n/it/index.php
index ee7db8d3b..4143c3310 100644
--- a/app/i18n/it/index.php
+++ b/app/i18n/it/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Inserisci la ricerca corrente nei segnalibri',
'favorites' => 'Preferiti (%s)',
'global_view' => 'Vista globale per categorie',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Flusso principale',
'mark_all_read' => 'Segna tutto come letto',
'mark_cat_read' => 'Segna la categoria come letta',
diff --git a/app/i18n/it/sub.php b/app/i18n/it/sub.php
index 335ff2e3c..1860b9894 100644
--- a/app/i18n/it/sub.php
+++ b/app/i18n/it/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibilità',
'archived' => 'Non mostrare (archiviato)',
+ 'category' => 'Mostra nella sua categoria',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Mostra in homepage',
- 'normal' => 'Mostra nella sua categoria',
),
'proxy' => 'Imposta un proxy per recuperare questo feed',
'proxy_help' => 'Seleziona un protocollo (e.g: SOCKS5) ed inserisci l’indirizzo del proxy (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/ja/conf.php b/app/i18n/ja/conf.php
index c48b7b7f1..b76444ebc 100644
--- a/app/i18n/ja/conf.php
+++ b/app/i18n/ja/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => '記事を元のwebサイトで開いたとき',
'article_viewed' => '記事を読んだとき',
'keep_max_n_unread' => '未読の記事として残す最大数',
- 'scroll' => 'スクロールしているとき',
+ 'scroll' => 'スクロールしているとき (except for important feeds)', // DIRTY
'upon_gone' => 'ニュースフィードの提供元がなくなったとき',
'upon_reception' => '記事を受け取ったとき',
'when' => '記事を既読にする…',
diff --git a/app/i18n/ja/index.php b/app/i18n/ja/index.php
index a5f3daf7d..3d1a84ff7 100644
--- a/app/i18n/ja/index.php
+++ b/app/i18n/ja/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => '現在のブックマーククエリ',
'favorites' => 'お気に入り (%s)',
'global_view' => 'グローバルビュー',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'メイン',
'mark_all_read' => 'すべての記事に既読をつける',
'mark_cat_read' => 'カテゴリーに既読をつける',
diff --git a/app/i18n/ja/sub.php b/app/i18n/ja/sub.php
index 623b08902..f2752be95 100644
--- a/app/i18n/ja/sub.php
+++ b/app/i18n/ja/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => '表示する場所',
'archived' => '非表示にする(アーカイブ)',
+ 'category' => 'カテゴリで表示する',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'メインストリームで表示する',
- 'normal' => 'カテゴリで表示する',
),
'proxy' => 'フィードを読み込み時にproxyを設定してください',
'proxy_help' => 'プロトコルを選択し (例: SOCKS5) proxyアドレスを入力してください (例: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/ko/conf.php b/app/i18n/ko/conf.php
index c666b0035..bba75096f 100644
--- a/app/i18n/ko/conf.php
+++ b/app/i18n/ko/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => '글이 게재된 웹사이트를 방문했을 때',
'article_viewed' => '글을 읽었을 때',
'keep_max_n_unread' => '읽지 않은 상태로 유지할 최대 글 개수',
- 'scroll' => '스크롤을 하며 지나갈 때',
+ 'scroll' => '스크롤을 하며 지나갈 때 (except for important feeds)', // DIRTY
'upon_gone' => '원본 뉴스 피드에서 글 삭제 되었을 때',
'upon_reception' => '글을 가져오자마자',
'when' => '읽음으로 표시…',
diff --git a/app/i18n/ko/index.php b/app/i18n/ko/index.php
index a95eebf09..356258f4f 100644
--- a/app/i18n/ko/index.php
+++ b/app/i18n/ko/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => '현재 쿼리 북마크',
'favorites' => '즐겨찾기 (%s)',
'global_view' => '전체 모드',
+ 'important' => 'Important feeds', // TODO
'main_stream' => '메인 스트림',
'mark_all_read' => '모두 읽음으로 표시',
'mark_cat_read' => '카테고리를 읽음으로 표시',
diff --git a/app/i18n/ko/sub.php b/app/i18n/ko/sub.php
index 74bbc75d5..f4661de28 100644
--- a/app/i18n/ko/sub.php
+++ b/app/i18n/ko/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => '표시',
'archived' => '표시하지 않음 (보관됨)',
+ 'category' => '피드가 속한 카테고리에만 표시하기',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => '메인 스트림에 표시하기',
- 'normal' => '피드가 속한 카테고리에만 표시하기',
),
'proxy' => '이 피드를 가져올 때 사용할 프록시 설정',
'proxy_help' => '프로토콜 선택 (예: SOCKS5) 그리고 프록시 주소 입력 (예: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/lv/conf.php b/app/i18n/lv/conf.php
index 993667d8a..1c98bb52a 100644
--- a/app/i18n/lv/conf.php
+++ b/app/i18n/lv/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'kad raksts tiek atvērts tā sākotnējā mājaslapā',
'article_viewed' => 'kad raksts tiek skatīts',
'keep_max_n_unread' => 'Maksimālais nelasīto rakstu skaits',
- 'scroll' => 'ritināšanas laikā',
+ 'scroll' => 'ritināšanas laikā (except for important feeds)', // DIRTY
'upon_gone' => 'kad tas vairs nav augšupējā ziņu barotnē',
'upon_reception' => 'pēc raksta saņemšanas',
'when' => 'Atzīmēt rakstu kā izlasītu…',
diff --git a/app/i18n/lv/index.php b/app/i18n/lv/index.php
index ff9639882..7e786c32a 100644
--- a/app/i18n/lv/index.php
+++ b/app/i18n/lv/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Pievienot grāmatzīmi pašreizējam pieprasījumam',
'favorites' => 'Mīļākie (%s)',
'global_view' => 'Globālais skats',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Galvenā plūsma',
'mark_all_read' => 'Atzīmēt visus kā izlasītus',
'mark_cat_read' => 'Atzīmēt kategoriju kā izlasītu',
diff --git a/app/i18n/lv/sub.php b/app/i18n/lv/sub.php
index cdd4668e5..3f0f0e36c 100644
--- a/app/i18n/lv/sub.php
+++ b/app/i18n/lv/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Prioritāte',
'archived' => 'Nerādīt (arhivēts)',
+ 'category' => 'Rādīt kategorijā',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Rādīt galvenajā plūsmā',
- 'normal' => 'Rādīt kategorijā',
),
'proxy' => 'Iestatīt starpniekserveri šīs plūsmas iegūšanai',
'proxy_help' => 'Izvēlieties protokolu (piemēram, SOCKS5) un ievadiet starpniekservera adresi (piemēram, <kbd>127.0.0.0.1:1080</kbd>).',
diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php
index 8feea1ee6..31291fe54 100644
--- a/app/i18n/nl/conf.php
+++ b/app/i18n/nl/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'als het artikel wordt geopend op de originele website',
'article_viewed' => 'als het artikel wordt bekeken',
'keep_max_n_unread' => 'Max aantal artikelen ongelezen houden',
- 'scroll' => 'tijdens het scrollen',
+ 'scroll' => 'tijdens het scrollen (except for important feeds)', // DIRTY
'upon_gone' => 'als het niet langer in de nieuwsfeed staat',
'upon_reception' => 'bij ontvangst van het artikel',
'when' => 'Markeer artikel als gelezen…',
diff --git a/app/i18n/nl/index.php b/app/i18n/nl/index.php
index 573447d1c..264298916 100644
--- a/app/i18n/nl/index.php
+++ b/app/i18n/nl/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Huidige query opslaan',
'favorites' => 'Favorieten (%s)',
'global_view' => 'Globale weergave',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Overzicht',
'mark_all_read' => 'Markeer alles als gelezen',
'mark_cat_read' => 'Markeer categorie als gelezen',
diff --git a/app/i18n/nl/sub.php b/app/i18n/nl/sub.php
index 84b76dcaf..1cb7e546f 100644
--- a/app/i18n/nl/sub.php
+++ b/app/i18n/nl/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Zichtbaarheid',
'archived' => 'Niet weergeven (gearchiveerd)',
+ 'category' => 'Toon in categorie',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Zichtbaar in het overzicht',
- 'normal' => 'Toon in categorie',
),
'proxy' => 'Proxy instellen om deze feed op te halen',
'proxy_help' => 'Selecteer een protocol (bv. SOCKS5) en voer een proxy-adres in (b.v. <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/oc/conf.php b/app/i18n/oc/conf.php
index 28207dc6a..a06697459 100644
--- a/app/i18n/oc/conf.php
+++ b/app/i18n/oc/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'quand l’article es dobèrt sul site d’origina',
'article_viewed' => 'quand l’article es mostrat',
'keep_max_n_unread' => 'Nombre max d’articles a gardar pas legits',
- 'scroll' => 'en davalant la pagina',
+ 'scroll' => 'en davalant la pagina (except for important feeds)', // DIRTY
'upon_gone' => 'quand es pas mai dins lo flux de novèla font',
'upon_reception' => 'en recebre un article novèl',
'when' => 'Marcar un article coma legit…',
diff --git a/app/i18n/oc/index.php b/app/i18n/oc/index.php
index 7d0a5a29f..ef37cb177 100644
--- a/app/i18n/oc/index.php
+++ b/app/i18n/oc/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Marcar aquesta requèsta',
'favorites' => 'Favorits (%s)',
'global_view' => 'Vista generala',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Flux màger',
'mark_all_read' => 'O marcar tot coma legit',
'mark_cat_read' => 'Marcar la categoria coma legida',
diff --git a/app/i18n/oc/sub.php b/app/i18n/oc/sub.php
index 78dbe9724..e4c3ce07f 100644
--- a/app/i18n/oc/sub.php
+++ b/app/i18n/oc/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibilitat',
'archived' => 'Mostrar pas (archivat)',
+ 'category' => 'Mostar dins sa categoria',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Mostar al flux màger',
- 'normal' => 'Mostar dins sa categoria',
),
'proxy' => 'Definir un servidor proxy per trapar aqueste flux',
'proxy_help' => 'Seleccionatz un protocòl (ex : SOCKS5) e picatz l’adreça del proxy (ex : <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/pl/conf.php b/app/i18n/pl/conf.php
index 3a05933c6..9485d91fc 100644
--- a/app/i18n/pl/conf.php
+++ b/app/i18n/pl/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'gdy wiadomość jest otworzona na pierwotnej stronie',
'article_viewed' => 'gdy wiadomość jest otworzona',
'keep_max_n_unread' => 'Maksymalna liczba nieprzeczytanych wiadomości',
- 'scroll' => 'podczas przewijania',
+ 'scroll' => 'podczas przewijania (except for important feeds)', // DIRTY
'upon_gone' => 'gdy nie jest już listowana w źródle kanału',
'upon_reception' => 'po otrzymaniu wiadomości',
'when' => 'Oznacz wiadomość jako przeczytaną…',
diff --git a/app/i18n/pl/index.php b/app/i18n/pl/index.php
index 22f0297ce..b97a36172 100644
--- a/app/i18n/pl/index.php
+++ b/app/i18n/pl/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Zapisz bieżące zapytanie',
'favorites' => 'Ulubione (%s)',
'global_view' => 'Widok globalny',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Kanał główny',
'mark_all_read' => 'Oznacz wszystkie jako przeczytane',
'mark_cat_read' => 'Oznacz kategorię jako przeczytaną',
diff --git a/app/i18n/pl/sub.php b/app/i18n/pl/sub.php
index 1af46fa65..00019c17a 100644
--- a/app/i18n/pl/sub.php
+++ b/app/i18n/pl/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Widoczność',
'archived' => 'Nie pokazuj (zarchiwizowany)',
+ 'category' => 'Pokaż w kategorii kanału',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Pokaż w kanale głównym',
- 'normal' => 'Pokaż w kategorii kanału',
),
'proxy' => 'Użyj mechanizmu proxy podczas pobierania kanału',
'proxy_help' => 'Wybierz protokół (np. SOCKS5) i podaj adres serwera proxy (np. <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php
index 019fe8744..c115c80dc 100644
--- a/app/i18n/pt-br/conf.php
+++ b/app/i18n/pt-br/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'quando o artigo é aberto no site original',
'article_viewed' => 'Quando o artigo é visualizado',
'keep_max_n_unread' => 'Número máximo de artigos para manter como não lido',
- 'scroll' => 'enquanto scrolling',
+ 'scroll' => 'enquanto scrolling (except for important feeds)', // DIRTY
'upon_gone' => 'QUuando não estiver mais no feed de noticiais principais',
'upon_reception' => 'ao receber um artigo',
'when' => 'Marcar artigo como lido…',
diff --git a/app/i18n/pt-br/index.php b/app/i18n/pt-br/index.php
index d22446ab7..f26abaf97 100644
--- a/app/i18n/pt-br/index.php
+++ b/app/i18n/pt-br/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Salvar pesquisa atual',
'favorites' => 'Favoritos (%s)',
'global_view' => 'Visualização global',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Stream principal',
'mark_all_read' => 'Marcar todos como lidos',
'mark_cat_read' => 'Marcar categoria como lida',
diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php
index 93732452f..528e2cfbd 100644
--- a/app/i18n/pt-br/sub.php
+++ b/app/i18n/pt-br/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Visibilidade',
'archived' => 'Não exibir (arquivado)',
+ 'category' => 'Mostrar na sua categoria',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Mostrar na tela principal',
- 'normal' => 'Mostrar na sua categoria',
),
'proxy' => 'Defina um proxy para buscar esse feed',
'proxy_help' => 'Selecione um protocolo (e.g: SOCKS5) e digite o endereço do proxy (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php
index a5bdf1605..dd7849f40 100644
--- a/app/i18n/ru/conf.php
+++ b/app/i18n/ru/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'когда статья открывается на её сайте',
'article_viewed' => 'когда статья просматривается',
'keep_max_n_unread' => 'Максимальное количество непрочитанных статей',
- 'scroll' => 'во время прокрутки',
+ 'scroll' => 'во время прокрутки (except for important feeds)', // DIRTY
'upon_gone' => 'когда это больше не в новостной ленте',
'upon_reception' => 'по получении статьи',
'when' => 'Отмечать статью прочитанной…',
diff --git a/app/i18n/ru/index.php b/app/i18n/ru/index.php
index 6c1d0b560..2bf6802de 100644
--- a/app/i18n/ru/index.php
+++ b/app/i18n/ru/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Сохранить текущий запрос',
'favorites' => 'Избранное (%s)',
'global_view' => 'Глобальный вид',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Основной поток',
'mark_all_read' => 'Отметить всё прочитанным',
'mark_cat_read' => 'Отметить категорию прочитанной',
diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php
index 8c38b3ce1..a675583cb 100644
--- a/app/i18n/ru/sub.php
+++ b/app/i18n/ru/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Видимость',
'archived' => 'Не показывать (архивировано)',
+ 'category' => 'Показывать в категории ленты',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Показывать в основном потоке',
- 'normal' => 'Показывать в категории ленты',
),
'proxy' => 'Указать прокси для извлечения этой ленты',
'proxy_help' => 'Выберите протокол (например, SOCKS5) и введите адрес прокси (например, <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/sk/conf.php b/app/i18n/sk/conf.php
index 14a501e6c..9835591d4 100644
--- a/app/i18n/sk/conf.php
+++ b/app/i18n/sk/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'keď je článok otvorený na svojej webovej stránke',
'article_viewed' => 'keď je článok zobrazený',
'keep_max_n_unread' => 'Maximálny počet článkov ponechať ako neprečítané',
- 'scroll' => 'počas skrolovania',
+ 'scroll' => 'počas skrolovania (except for important feeds)', // DIRTY
'upon_gone' => 'keď už nie je v hlavnom kanály noviniek',
'upon_reception' => 'po načítaní článku',
'when' => 'Označiť článok ako prečítaný…',
diff --git a/app/i18n/sk/index.php b/app/i18n/sk/index.php
index 56684bd26..07eb40364 100644
--- a/app/i18n/sk/index.php
+++ b/app/i18n/sk/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Pridať aktuálny dopyt do obľúbených',
'favorites' => 'Obľúbené (%s)',
'global_view' => 'Prehľad',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Všetky kanály',
'mark_all_read' => 'Označiť všetko ako prečítané',
'mark_cat_read' => 'Označiť kategóriu ako prečítanú',
diff --git a/app/i18n/sk/sub.php b/app/i18n/sk/sub.php
index 9f90e81a1..339e12aa2 100644
--- a/app/i18n/sk/sub.php
+++ b/app/i18n/sk/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Viditeľnosť',
'archived' => 'Nezobrazovať (archivované)',
+ 'category' => 'Zobraziť vo svojej kategórii',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Zobraziť v prehľade kanálov',
- 'normal' => 'Zobraziť vo svojej kategórii',
),
'proxy' => 'Na sťahovanie tohto kanálu nastaviť proxy',
'proxy_help' => 'Vyberte protokol (napr.: SOCKS5) a zadajte adresu proxy servera (napr.: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php
index 15569faed..e34f8b02f 100644
--- a/app/i18n/tr/conf.php
+++ b/app/i18n/tr/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => 'orijinal makale sitesi açıldığında',
'article_viewed' => 'makale görüntülendiğinde',
'keep_max_n_unread' => 'Okunmadı tutulacak maksimum metin sayısı',
- 'scroll' => 'kaydırma yapılırken',
+ 'scroll' => 'kaydırma yapılırken (except for important feeds)', // DIRTY
'upon_gone' => 'Yeni akışta üst sıralarda değilken',
'upon_reception' => 'makale üzerinde gelince',
'when' => 'Makaleyi okundu olarak işaretle…',
diff --git a/app/i18n/tr/index.php b/app/i18n/tr/index.php
index b53ca5893..de7c36fc5 100644
--- a/app/i18n/tr/index.php
+++ b/app/i18n/tr/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => 'Şuana ait yer imi sorgusu',
'favorites' => 'Favoriler (%s)',
'global_view' => 'Evrensel görünüm',
+ 'important' => 'Important feeds', // TODO
'main_stream' => 'Ana akış',
'mark_all_read' => 'Hepsini okundu olarak işaretle',
'mark_cat_read' => 'Kategoriyi okundu olarak işaretle',
diff --git a/app/i18n/tr/sub.php b/app/i18n/tr/sub.php
index 54eedee40..640117a65 100644
--- a/app/i18n/tr/sub.php
+++ b/app/i18n/tr/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => 'Görünürlük',
'archived' => 'Gösterme (arşivlenmiş)',
+ 'category' => 'Kendi kategorisinde göster',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => 'Ana akışda göster',
- 'normal' => 'Kendi kategorisinde göster',
),
'proxy' => 'Bu akışı güncellemek için vekil sunucu kullan',
'proxy_help' => 'Bir protokol seçin (ör: SOCKS5) vekil sunucu adresini girin (e.g: <kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php
index 6bf3324fa..4f98fc90f 100644
--- a/app/i18n/zh-cn/conf.php
+++ b/app/i18n/zh-cn/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => '在打开原文章后',
'article_viewed' => '在文章被浏览后',
'keep_max_n_unread' => '未读最多保留 n 条',
- 'scroll' => '在滚动浏览后',
+ 'scroll' => '在滚动浏览后 (except for important feeds)', // DIRTY
'upon_gone' => '在被原订阅源被移除后',
'upon_reception' => '在接收文章后',
'when' => '何时将文章标记为已读',
diff --git a/app/i18n/zh-cn/index.php b/app/i18n/zh-cn/index.php
index 405c3f562..e42d37d5f 100644
--- a/app/i18n/zh-cn/index.php
+++ b/app/i18n/zh-cn/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => '收藏当前查询',
'favorites' => '收藏(%s)',
'global_view' => '全局视图',
+ 'important' => 'Important feeds', // TODO
'main_stream' => '首页',
'mark_all_read' => '全部设为已读',
'mark_cat_read' => '此分类设为已读',
diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php
index 88876f86c..d293cb833 100644
--- a/app/i18n/zh-cn/sub.php
+++ b/app/i18n/zh-cn/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => '可见性',
'archived' => '不显示(归档)',
+ 'category' => '在分类中显示',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => '在首页中显示',
- 'normal' => '在分类中显示',
),
'proxy' => '获取订阅源时的代理',
'proxy_help' => '选择协议(例:SOCKS5)和代理地址(例:<kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/i18n/zh-tw/conf.php b/app/i18n/zh-tw/conf.php
index 8b26fee80..440fe499f 100644
--- a/app/i18n/zh-tw/conf.php
+++ b/app/i18n/zh-tw/conf.php
@@ -205,7 +205,7 @@ return array(
'article_open_on_website' => '在打開原文章後',
'article_viewed' => '在文章被瀏覽後',
'keep_max_n_unread' => '未讀最多保留 n 條',
- 'scroll' => '在滾動瀏覽後',
+ 'scroll' => '在滾動瀏覽後 (except for important feeds)', // DIRTY
'upon_gone' => '在被原訂閱源移除後',
'upon_reception' => '在接收文章後',
'when' => '何時將文章標記為已讀',
diff --git a/app/i18n/zh-tw/index.php b/app/i18n/zh-tw/index.php
index ee8eda20f..a63b833b8 100644
--- a/app/i18n/zh-tw/index.php
+++ b/app/i18n/zh-tw/index.php
@@ -45,6 +45,7 @@ return array(
'bookmark_query' => '收藏當前查詢',
'favorites' => '收藏(%s)',
'global_view' => '全局視圖',
+ 'important' => 'Important feeds', // TODO
'main_stream' => '首頁',
'mark_all_read' => '全部設為已讀',
'mark_cat_read' => '此分類設為已讀',
diff --git a/app/i18n/zh-tw/sub.php b/app/i18n/zh-tw/sub.php
index 461fb12e1..0485e12da 100644
--- a/app/i18n/zh-tw/sub.php
+++ b/app/i18n/zh-tw/sub.php
@@ -140,8 +140,9 @@ return array(
'priority' => array(
'_' => '可見性',
'archived' => '不顯示(歸檔)',
+ 'category' => '在分類中顯示',
+ 'important' => 'Show in important feeds', // TODO
'main_stream' => '在首頁中顯示',
- 'normal' => '在分類中顯示',
),
'proxy' => '獲取訂閱源時的代理',
'proxy_help' => '選擇協議(例:SOCKS5)和代理地址(例:<kbd>127.0.0.1:1080</kbd> or <kbd>username:password@127.0.0.1:1080</kbd>)', // DIRTY
diff --git a/app/layout/aside_feed.phtml b/app/layout/aside_feed.phtml
index a70b680d2..1d23a66d3 100644
--- a/app/layout/aside_feed.phtml
+++ b/app/layout/aside_feed.phtml
@@ -35,6 +35,14 @@
</div>
</li>
+ <li class="tree-folder category important<?= FreshRSS_Context::isCurrentGet('i') ? ' active' : '' ?>">
+ <div class="tree-folder-title">
+ <?= _i('important') ?><a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_important_unread) ?>" href="<?= _url('index', $actual_view, 'get', 'i') . $state_filter_manual ?>">
+ <?= _t('index.menu.important') ?>
+ </a>
+ </div>
+ </li>
+
<li class="tree-folder category favorites<?= FreshRSS_Context::isCurrentGet('s') ? ' active' : '' ?>">
<div class="tree-folder-title">
<?= _i('starred') ?><a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_starred['unread']) ?>" href="<?= _url('index', $actual_view, 'get', 's') . $state_filter_manual ?>">
diff --git a/app/views/helpers/feed/update.phtml b/app/views/helpers/feed/update.phtml
index a02634e32..680bc2399 100644
--- a/app/views/helpers/feed/update.phtml
+++ b/app/views/helpers/feed/update.phtml
@@ -80,13 +80,16 @@
<label class="group-name" for="priority"><?= _t('sub.feed.priority') ?></label>
<div class="group-controls">
<select name="priority" id="priority" class="w50">
+ <option value='<?= FreshRSS_Feed::PRIORITY_IMPORTANT ?>' <?php
+ if (FreshRSS_Feed::PRIORITY_IMPORTANT === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.important') ?></option>
<option value='<?= FreshRSS_Feed::PRIORITY_MAIN_STREAM ?>' <?php
if (FreshRSS_Feed::PRIORITY_MAIN_STREAM === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.main_stream') ?></option>
- <option value='<?= FreshRSS_Feed::PRIORITY_NORMAL ?>' <?php
- if (FreshRSS_Feed::PRIORITY_NORMAL === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.normal') ?></option>
+ <option value='<?= FreshRSS_Feed::PRIORITY_CATEGORY ?>' <?php
+ if (FreshRSS_Feed::PRIORITY_CATEGORY === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.category') ?></option>
<option value='<?= FreshRSS_Feed::PRIORITY_ARCHIVED ?>' <?php
if (FreshRSS_Feed::PRIORITY_ARCHIVED === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.archived') ?></option>
</select>
+ <?= _i('important') ?>
</div>
</div>
diff --git a/app/views/index/normal.phtml b/app/views/index/normal.phtml
index c99cf07e7..aee2ea2a2 100644
--- a/app/views/index/normal.phtml
+++ b/app/views/index/normal.phtml
@@ -37,14 +37,9 @@ $today = @strtotime('today');
}
$this->entry = $item;
- // We most likely already have the feed object in cache
- $this->feed = FreshRSS_CategoryDAO::findFeed($this->categories, $this->entry->feedId());
- if ($this->feed == null) {
- $this->feed = $this->entry->feed() ?: null;
- if ($this->feed == null) {
- $this->feed = FreshRSS_Feed::example();
- }
- }
+ // We most likely already have the feed object in cache, otherwise make a request
+ $this->feed = FreshRSS_CategoryDAO::findFeed($this->categories, $this->entry->feedId()) ??
+ $this->entry->feed() ?? FreshRSS_Feed::example();
if ($display_today && $this->entry->isDay(FreshRSS_Days::TODAY, $today)) {
?><div class="day" id="day_today"><?php
@@ -71,8 +66,10 @@ $today = @strtotime('today');
}
?><div class="flux<?= !$this->entry->isRead() ? ' not_read' : ''
?><?= $this->entry->isFavorite() ? ' favorite' : ''
+ ?><?= $this->feed->priority() >= FreshRSS_Feed::PRIORITY_IMPORTANT ? ' keep_unread ' : ''
?>" id="flux_<?= $this->entry->id()
?>" data-feed="<?= $this->feed->id()
+ ?>" data-priority="<?= $this->feed->priority()
?>"><?php
$this->renderHelper('index/normal/entry_header');
diff --git a/app/views/index/reader.phtml b/app/views/index/reader.phtml
index af5caccdc..014b1ab42 100644
--- a/app/views/index/reader.phtml
+++ b/app/views/index/reader.phtml
@@ -45,15 +45,15 @@ $MAX_TAGS_DISPLAYED = FreshRSS_Context::$user_conf->show_tags_max;
}
}
}
- ?><div class="flux<?= !$item->isRead() ? ' not_read' : '' ?><?= $item->isFavorite() ? ' favorite' : '' ?>" id="flux_<?= $item->id() ?>">
+
+ //We most likely already have the feed object in cache, otherwise make a request
+ $feed = FreshRSS_CategoryDAO::findFeed($this->categories, $item->feedId()) ?? $item->feed() ?? FreshRSS_Feed::example();
+ ?><div class="flux<?= !$item->isRead() ? ' not_read' : '' ?><?= $item->isFavorite() ? ' favorite' : '' ?>" id="flux_<?= $item->id() ?>" data-priority="<?= $feed->priority() ?>">
<article class="flux_content" dir="auto">
<div class="content <?= $content_width ?>">
<header>
<?php
- $feed = FreshRSS_CategoryDAO::findFeed($this->categories, $item->feedId()); //We most likely already have the feed object in cache
- if ($feed == null) $feed = $item->feed();
- if ($feed == null) continue;
$favoriteUrl = array('c' => 'entry', 'a' => 'bookmark', 'params' => array('id' => $item->id()));
if ($item->isFavorite()) {
$favoriteUrl['params']['is_favorite'] = 0;
diff --git a/app/views/subscription/index.phtml b/app/views/subscription/index.phtml
index 7ee7a3188..6881d0a8d 100644
--- a/app/views/subscription/index.phtml
+++ b/app/views/subscription/index.phtml
@@ -61,7 +61,7 @@
$mute_class = $feed->mute() ? ' mute' : '';
?>
<li class="item feed<?= $error_class, $empty_class, $mute_class ?>" title="<?= $error_title, $empty_title ?>"
- draggable="true" data-feed-id="<?= $feed->id() ?>">
+ draggable="true" data-feed-id="<?= $feed->id() ?>" data-priority="<?= $feed->priority() ?>">
<a class="configure open-slider" href="<?= _url('subscription', 'feed', 'id', $feed->id()) ?>" title="<?= _t('gen.action.manage') ?>"><?= _i('configure') ?></a>
<?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?>
<span class="item-title"><?= $feed->name() ?></span>
diff --git a/p/api/greader.php b/p/api/greader.php
index a014a4db1..a93bad52e 100644
--- a/p/api/greader.php
+++ b/p/api/greader.php
@@ -963,7 +963,7 @@ final class GReaderAPI {
}
}
} elseif ($streamId === 'user/-/state/com.google/reading-list') {
- $entryDAO->markReadEntries($olderThanId, false, -1);
+ $entryDAO->markReadEntries($olderThanId, false);
} else {
self::badRequest();
}
diff --git a/p/scripts/main.js b/p/scripts/main.js
index 4ddafb2bd..b3876f628 100644
--- a/p/scripts/main.js
+++ b/p/scripts/main.js
@@ -135,6 +135,15 @@ function incUnreadsFeed(article, feed_id, nb) {
}
}
+ // Update unread: important
+ if (feed_priority >= 20) {
+ elem = document.querySelector('#aside_feed .important .title');
+ if (elem) {
+ feed_unreads = elem ? str2int(elem.getAttribute('data-unread')) : 0;
+ elem.setAttribute('data-unread', numberFormat(feed_unreads + nb));
+ }
+ }
+
// Update unread: favourites
if (article && article.closest('div').classList.contains('favorite')) {
elem = document.querySelector('#aside_feed .favorites .title');
diff --git a/p/themes/base-theme/frss.css b/p/themes/base-theme/frss.css
index 49188f888..219a78dce 100644
--- a/p/themes/base-theme/frss.css
+++ b/p/themes/base-theme/frss.css
@@ -1978,6 +1978,11 @@ html.slider-active {
color: var(--frss-font-color-light);
}
+.feed[data-priority="20"] .item-title,
+.flux[data-priority="20"] .website > a {
+ text-decoration: underline double;
+}
+
.aside .category .title:not([data-unread="0"])::after,
.aside .feed .item-title:not([data-unread="0"])::after {
margin: calc(0.125rem + var(--frss-padding-top-bottom)) 0 0 0;
diff --git a/p/themes/base-theme/frss.rtl.css b/p/themes/base-theme/frss.rtl.css
index 1452b1f7c..3bb38e88b 100644
--- a/p/themes/base-theme/frss.rtl.css
+++ b/p/themes/base-theme/frss.rtl.css
@@ -1978,6 +1978,11 @@ html.slider-active {
color: var(--frss-font-color-light);
}
+.feed[data-priority="20"] .item-title,
+.flux[data-priority="20"] .website > a {
+ text-decoration: underline double;
+}
+
.aside .category .title:not([data-unread="0"])::after,
.aside .feed .item-title:not([data-unread="0"])::after {
margin: calc(0.125rem + var(--frss-padding-top-bottom)) 0 0 0;
diff --git a/p/themes/icons/important.svg b/p/themes/icons/important.svg
new file mode 100644
index 000000000..6c354bef1
--- /dev/null
+++ b/p/themes/icons/important.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ width="72mm"
+ height="72mm"
+ viewBox="0 0 71.999999 72"
+ version="1.1"
+ id="svg5"
+ xml:space="preserve"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
+ id="defs2" /><g
+ id="layer1"
+ transform="translate(-122.44279,-77.410739)"><path
+ style="fill:#666666;fill-opacity:1;stroke-width:0.264583"
+ d="m 155.36278,125.51274 -23.40677,-0.267 c 0.37363,-6.79753 6.08526,-15.40892 10.29516,-18.966 l 0.18842,-14.416001 c -2.08469,-2.992382 -3.17159,-9.454502 -2.90518,-13.134 h 37.73107 c 0.55646,4.844593 -2.38864,11.922429 -3.21412,13.134 l 0.66741,14.416001 c 6.09605,4.12103 10.68435,11.5874 10.1717,18.966 l -23.13629,0.267 c 0,0 0.53578,23.15291 -2.689,23.21131 -3.22478,0.0584 -3.7024,-23.21131 -3.7024,-23.21131 z m 20.94348,-7.48921 c -0.87839,-5.10027 -7.7188,-8.00726 -9.06022,-9.36379 l -0.46497,-18.060001 c 0.93662,-1.542882 2.08799,-2.833625 2.83719,-5.066 H 147.4665 c 0.2891,2.515209 2.13895,3.39548 2.77999,5.066 l -0.11232,18.060001 c -1.28385,1.35457 -8.57876,5.82732 -9.32679,9.83151 10.08085,0.18667 26.33338,-0.71732 35.49866,-0.46768 z"
+ id="path248" /></g></svg>