diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/Controllers/entryController.php | 39 | ||||
| -rw-r--r-- | app/Models/Context.php | 8 | ||||
| -rw-r--r-- | app/i18n/cs/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/de/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/el/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/en-us/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/en/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/es/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/fa/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/fr/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/he/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/hu/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/id/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/it/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/ja/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/ko/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/lv/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/nl/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/oc/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/pl/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/pt-br/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/ru/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/sk/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/tr/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/zh-cn/conf.php | 2 | ||||
| -rw-r--r-- | app/i18n/zh-tw/conf.php | 2 |
26 files changed, 71 insertions, 24 deletions
diff --git a/app/Controllers/entryController.php b/app/Controllers/entryController.php index 4f8fa3452..2cbd256bc 100644 --- a/app/Controllers/entryController.php +++ b/app/Controllers/entryController.php @@ -102,6 +102,45 @@ class FreshRSS_entry_Controller extends FreshRSS_ActionController { break; case 't': $entryDAO->markReadTag($get, $id_max, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read); + // Marking all entries in a tag as read can result in other tags also having all entries marked as read, + // so the next unread tag calculation is deferred by passing next_get = 'a' instead of the current get ID. + if ($next_get === 'a' && $is_read) { + $tagDAO = FreshRSS_Factory::createTagDao(); + $tagsList = $tagDAO->listTags() ?: []; + $found_tag = false; + foreach ($tagsList as $tag) { + if ($found_tag) { + // Found the tag matching our current ID already, so now we're just looking for the first unread + if ($tag->nbUnread() > 0) { + $next_get = 't_' . $tag->id(); + break; + } + } else { + // Still looking for the tag ID matching our $get that was just marked as read + if ($tag->id() === $get) { + $found_tag = true; + } + } + } + // Didn't find any unread tags after the current one? Start over from the beginning. + if ($next_get === 'a') { + foreach ($tagsList as $tag) { + // Check this first so we can return to the current tag if it's the only one that's unread + if ($tag->nbUnread() > 0) { + $next_get = 't_' . $tag->id(); + break; + } + // Give up if reached our first tag again + if ($tag->id() === $get) { + break; + } + } + } + // If we still haven't found any unread tags, fallback to the full tag list + if ($next_get === 'a') { + $next_get = 'T'; + } + } break; case 'T': $entryDAO->markReadTag(0, $id_max, FreshRSS_Context::$search, FreshRSS_Context::$state, $is_read); diff --git a/app/Models/Context.php b/app/Models/Context.php index 8634b5e71..26212a0ef 100644 --- a/app/Models/Context.php +++ b/app/Models/Context.php @@ -541,6 +541,14 @@ final class FreshRSS_Context { // If there is no more unread category, show main stream self::$next_get = $another_unread_id == '' ? 'a' : 'c_' . $another_unread_id; break; + case 't': + // We can't know what the next unread tag is because entries can be in multiple tags + // so marking all entries in a tag can indirectly mark all entries in multiple tags. + // Default is to return to the current tag, so mark it as next_get = 'a' instead when + // userconf -> onread_jump_next so the readAction knows to jump to the next unread + // tag. + self::$next_get = 'a'; + break; } } } diff --git a/app/i18n/cs/conf.php b/app/i18n/cs/conf.php index a16d06553..b6564cbfe 100644 --- a/app/i18n/cs/conf.php +++ b/app/i18n/cs/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Skrýt kategorie a kanály bez nepřečtených článků (nefunguje s nastavením „Zobrazit všechny články“)', 'img_with_lazyload' => 'Použít režim „líné načítání“ pro načítaní obrázků', - 'jump_next' => 'skočit na další nepřečtenou položku na stejné úrovni (kanál nebo kategorie)', + 'jump_next' => 'skočit na další nepřečtenou položku na stejné úrovni', 'mark_updated_article_unread' => 'Označit aktualizované články jako nepřečtené', 'number_divided_when_reader' => 'Děleno dvěma v zobrazení pro čtení.', 'read' => array( diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php index 78543e242..1bee015cf 100644 --- a/app/i18n/de/conf.php +++ b/app/i18n/de/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Kategorien & Feeds ohne ungelesene Artikel verstecken (funktioniert nicht mit der Einstellung „Alle Artikel zeigen“)', 'img_with_lazyload' => 'Verwende die „träges Laden“-Methode zum Laden von Bildern', - 'jump_next' => 'springe zum nächsten ungelesenen Geschwisterelement (Feed oder Kategorie)', + 'jump_next' => 'springe zum nächsten ungelesenen Geschwisterelement', 'mark_updated_article_unread' => 'Markieren Sie aktualisierte Artikel als ungelesen', 'number_divided_when_reader' => 'Geteilt durch 2 in der Lese-Ansicht.', 'read' => array( diff --git a/app/i18n/el/conf.php b/app/i18n/el/conf.php index d74e7a9b1..aa84a26fb 100644 --- a/app/i18n/el/conf.php +++ b/app/i18n/el/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Hide categories & feeds with no unread articles (does not work with “Show all articles” configuration)', // TODO 'img_with_lazyload' => 'Use <em>lazy load</em> mode to load pictures', // TODO - 'jump_next' => 'jump to next unread sibling (feed or category)', // TODO + 'jump_next' => 'jump to next unread sibling', // TODO 'mark_updated_article_unread' => 'Mark updated articles as unread', // TODO 'number_divided_when_reader' => 'Divide by 2 in the reading view.', // TODO 'read' => array( diff --git a/app/i18n/en-us/conf.php b/app/i18n/en-us/conf.php index 0f3c5e402..588e60c76 100644 --- a/app/i18n/en-us/conf.php +++ b/app/i18n/en-us/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Hide categories & feeds with no unread articles (does not work with “Show all articles” configuration)', // IGNORE 'img_with_lazyload' => 'Use <em>lazy load</em> mode to load pictures', // IGNORE - 'jump_next' => 'jump to next unread sibling (feed or category)', // IGNORE + 'jump_next' => 'jump to next unread sibling', // IGNORE 'mark_updated_article_unread' => 'Mark updated articles as unread', // IGNORE 'number_divided_when_reader' => 'Divide by 2 in the reading view.', // IGNORE 'read' => array( diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php index 79a69a44d..829687dd0 100644 --- a/app/i18n/en/conf.php +++ b/app/i18n/en/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Hide categories & feeds with no unread articles (does not work with “Show all articles” configuration)', 'img_with_lazyload' => 'Use <em>lazy load</em> mode to load pictures', - 'jump_next' => 'jump to next unread sibling (feed or category)', + 'jump_next' => 'jump to next unread sibling', 'mark_updated_article_unread' => 'Mark updated articles as unread', 'number_divided_when_reader' => 'Divide by 2 in the reading view.', 'read' => array( diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php index b27557af2..a5d1cc978 100644 --- a/app/i18n/es/conf.php +++ b/app/i18n/es/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Ocultar categorías & fuentes sin artículos no leídos (no funciona con la configuración “Mostrar todos los artículos”)', 'img_with_lazyload' => 'Usar el modo de “carga perezosa” para las imágenes', - 'jump_next' => 'saltar al siguiente archivo sin leer emparentado (fuente o categoría)', + 'jump_next' => 'saltar al siguiente archivo sin leer emparentado', 'mark_updated_article_unread' => 'Marcar artículos actualizados como no leídos', 'number_divided_when_reader' => 'Dividido en 2 en la vista de lectura.', 'read' => array( diff --git a/app/i18n/fa/conf.php b/app/i18n/fa/conf.php index 0ad91cca1..b7a9b0293 100644 --- a/app/i18n/fa/conf.php +++ b/app/i18n/fa/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => ' دستهها و فیدها را بدون مقاله خوانده نشده پنهان کنید (با پیکربندی «نمایش همه مقالهها» کار نمیکند)', 'img_with_lazyload' => ' از حالت <em>بار تنبل</em> برای بارگیری تصاویر استفاده کنید', - 'jump_next' => ' پرش به خواهر و برادر خوانده نشده بعدی (فید یا دسته)', + 'jump_next' => ' پرش به خواهر و برادر خوانده نشده بعدی', 'mark_updated_article_unread' => ' مقالات به روز شده را به عنوان خوانده نشده علامت گذاری کنید', 'number_divided_when_reader' => ' در نمای خواندن بر 2 تقسیم کنید.', 'read' => array( diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index 542bcc700..b1b06eb25 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Cacher les catégories & flux sans article non-lu (ne fonctionne pas avec la configuration « Afficher tous les articles »)', 'img_with_lazyload' => 'Utiliser le mode <em>chargement différé</em> pour les images', - 'jump_next' => 'sauter au prochain voisin non lu (flux ou catégorie)', + 'jump_next' => 'sauter au prochain voisin non lu', 'mark_updated_article_unread' => 'Marquer les articles mis à jour comme non-lus', 'number_divided_when_reader' => 'Divisé par 2 dans la vue de lecture.', 'read' => array( diff --git a/app/i18n/he/conf.php b/app/i18n/he/conf.php index 1e2542019..318f64f70 100644 --- a/app/i18n/he/conf.php +++ b/app/i18n/he/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'הסתרת קטגוריות & הזנות ללא מאמרים שלא נקראו (לא עובד יחד עם “הצגת כל המאמרים”)', 'img_with_lazyload' => 'שימוש ב "טעינה עצלה" על מנת לטעון תמונות', - 'jump_next' => 'קפיצה לפריט הבא שלא נקרא (הזנה או קטגוריה)', + 'jump_next' => 'קפיצה לפריט הבא שלא נקרא', 'mark_updated_article_unread' => 'Mark updated articles as unread', // TODO 'number_divided_when_reader' => 'חלוקה ב2 במצב קריאה.', 'read' => array( diff --git a/app/i18n/hu/conf.php b/app/i18n/hu/conf.php index fc489cd3f..acfb04b91 100644 --- a/app/i18n/hu/conf.php +++ b/app/i18n/hu/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Rejtse el a kategóriákat és hírforrásokat ahol nincs olvasatlan cikk (nem működik egyszerre a „Minden cikk megjelenítése” beállítással)', 'img_with_lazyload' => 'Használjon <em>lazy load</em> módot a képek betöltésére', - 'jump_next' => 'ugorjon a következő olvasatlan testvérre (hírforrás vagy kategória)', + 'jump_next' => 'ugorjon a következő olvasatlan testvérre', 'mark_updated_article_unread' => 'Frissített cikkek megjelölése olvasatlanként', 'number_divided_when_reader' => 'Olvasó módban 2-vel osztható szám.', 'read' => array( diff --git a/app/i18n/id/conf.php b/app/i18n/id/conf.php index 02f0ba4e6..7c67c64d7 100644 --- a/app/i18n/id/conf.php +++ b/app/i18n/id/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Sembunyikan kategori & feed yang tidak memiliki artikel belum dibaca (tidak berlaku untuk konfigurasi “Tampilkan semua artikel”)', 'img_with_lazyload' => 'Gunakan mode “lazy load” untuk memuat gambar', - 'jump_next' => 'loncat ke saudara yang belum dibaca berikutnya (feed atau kategori)', + 'jump_next' => 'loncat ke saudara yang belum dibaca berikutnya', 'mark_updated_article_unread' => 'Tandai artikel yang diperbarui sebagai belum dibaca', 'number_divided_when_reader' => 'Bagi dua dalam tampilan baca.', 'read' => array( diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php index 446111c66..8417bbc13 100644 --- a/app/i18n/it/conf.php +++ b/app/i18n/it/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Nascondi categorie e feed con articoli già letti (non funziona se “Mostra tutti gli articoli” è selezionato)', 'img_with_lazyload' => 'Usa la modalità “caricamento ritardato” per le immagini', - 'jump_next' => 'Salta al successivo feed o categoria non letto', + 'jump_next' => 'Salta al successivo fratello non letto', 'mark_updated_article_unread' => 'Segna articoli aggiornati come non letti', 'number_divided_when_reader' => 'Diviso 2 nella modalità di lettura.', 'read' => array( diff --git a/app/i18n/ja/conf.php b/app/i18n/ja/conf.php index fca438862..9832c636a 100644 --- a/app/i18n/ja/conf.php +++ b/app/i18n/ja/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'カテゴリを非表示 & 未読の記事がないフィード ("すべてに既読を付ける”では適用しません)', 'img_with_lazyload' => '<em>lazy load</em>を写真の読み込み時に使う', - 'jump_next' => '次の未読の姉妹記事へ移る (フィードやカテゴリ)', + 'jump_next' => '次の未読の姉妹記事へ移る', 'mark_updated_article_unread' => '更新された記事を未読とする', 'number_divided_when_reader' => 'リーディングビューを2分割する', 'read' => array( diff --git a/app/i18n/ko/conf.php b/app/i18n/ko/conf.php index ddbb8cb02..f14a67ba8 100644 --- a/app/i18n/ko/conf.php +++ b/app/i18n/ko/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => '읽지 않은 글이 없는 카테고리와 피드 감추기 (“모든 글 표시”가 설정된 경우 동작하지 않습니다)', 'img_with_lazyload' => '그림을 불러오는 데에 <em>lazy load</em> 모드 사용하기', - 'jump_next' => '다음 읽지 않은 항목으로 이동 (피드 또는 카테고리)', + 'jump_next' => '다음 읽지 않은 항목으로 이동', 'mark_updated_article_unread' => '갱신 된 글을 읽지 않음으로 표시', 'number_divided_when_reader' => '읽기 모드에서는 절반만 표시됩니다.', 'read' => array( diff --git a/app/i18n/lv/conf.php b/app/i18n/lv/conf.php index a2993ecea..87eef7260 100644 --- a/app/i18n/lv/conf.php +++ b/app/i18n/lv/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Paslēpt kategorijas un barotnes, kurās nav nelasītu rakstu (nedarbojas ar konfigurāciju "Rādīt visus rakstus")', 'img_with_lazyload' => 'Izmantot <em>slinkās ielādes</em> režīmu, lai ielādētu attēlus', - 'jump_next' => 'pāriet uz nākamo nelasīto radinieku (barotni vai kategoriju)', + 'jump_next' => 'pāriet uz nākamo nelasīto radinieku', 'mark_updated_article_unread' => 'Atjauninātos rakstus atzīmēt kā nelasītus', 'number_divided_when_reader' => 'Dalīt ar 2 lasīšanas skatā.', 'read' => array( diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php index 59eaa38aa..ed87b253f 100644 --- a/app/i18n/nl/conf.php +++ b/app/i18n/nl/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Categorieën en feeds zonder ongelezen artikelen verbergen (werkt niet met „Toon alle artikelen” configuratie)', 'img_with_lazyload' => 'Gebruik <em>lazy load</em> methode om afbeeldingen te laden', - 'jump_next' => 'Ga naar volgende ongelezen (feed of categorie)', + 'jump_next' => 'Ga naar volgende ongelezen', 'mark_updated_article_unread' => 'Markeer vernieuwd artikel als ongelezen', 'number_divided_when_reader' => 'Gedeeld door 2 in de lees modus.', 'read' => array( diff --git a/app/i18n/oc/conf.php b/app/i18n/oc/conf.php index dcdbf2ff2..2e2afa73d 100644 --- a/app/i18n/oc/conf.php +++ b/app/i18n/oc/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Rescondre las categorias & fluxes sens articles pas legits (fonciona pas amb la configuracion « Mostrar totes los articles »)', 'img_with_lazyload' => 'Utilizar lo mòde “cargament tardiu” pels imatges', - 'jump_next' => 'sautar al vesin venent pas legit (flux o categoria)', + 'jump_next' => 'sautar al vesin venent pas legit', 'mark_updated_article_unread' => 'Marcar los articles actualizats coma pas legits', 'number_divided_when_reader' => 'Devisat per 2 dins la vista de lectura.', 'read' => array( diff --git a/app/i18n/pl/conf.php b/app/i18n/pl/conf.php index b02442bef..77a15b3b5 100644 --- a/app/i18n/pl/conf.php +++ b/app/i18n/pl/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Ukryj kategorie i kanały nie zawierające nieprzeczytanych wiadomości (nie działa gdy włączone jest wyświetlanie wszystkich wiadomości)', 'img_with_lazyload' => 'Opóźnij ładowanie obrazów dopóki nie będą widoczne', - 'jump_next' => 'przejdź do następnego nieprzeczytanego kanału bądź kategorii', + 'jump_next' => 'przejdź do następnego nieprzeczytanego rodzeństwa', 'mark_updated_article_unread' => 'Oznacz zaktualizowane wiadomości jako nieprzeczytane', 'number_divided_when_reader' => 'Dzielone przez 2 w widoku czytania.', 'read' => array( diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php index c5f43146f..39180b03c 100644 --- a/app/i18n/pt-br/conf.php +++ b/app/i18n/pt-br/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Esconder categorias e feeds com nenhum artigo não lido (não funciona com a configuração “Mostrar todos os artigos”)', 'img_with_lazyload' => 'Utilizar o modo <em>lazy load</em> para carregar as imagens', - 'jump_next' => 'Vá para o próximo irmão não lido (feed ou categoria)', + 'jump_next' => 'Vá para o próximo irmão não lido', 'mark_updated_article_unread' => 'Marcar artigos atualizados como não lidos', 'number_divided_when_reader' => 'Dividido por 2 no modo de leitura .', 'read' => array( diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php index 7443c1d40..1ec861269 100644 --- a/app/i18n/ru/conf.php +++ b/app/i18n/ru/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Скрывать категории и ленты без непрочитанных статей (не работает с «Показывать все статьи»)', 'img_with_lazyload' => 'Использовать режим «ленивой загрузки» для загрузки картинок', - 'jump_next' => 'перейти к следующей ленте или категории', + 'jump_next' => 'перейти к следующей', 'mark_updated_article_unread' => 'Отмечать обновлённые статьи непрочитанными', 'number_divided_when_reader' => 'Делится на 2 в виде для чтения.', 'read' => array( diff --git a/app/i18n/sk/conf.php b/app/i18n/sk/conf.php index bc95a7468..7e8604037 100644 --- a/app/i18n/sk/conf.php +++ b/app/i18n/sk/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Skryť kategórie a kanály s nulovým počtom neprečítaných článkov (nefunguje s nastaveným “Zobraziť všetky články”)', 'img_with_lazyload' => 'Pre načítanie obrázkov použiť <em>lazy load</em>', - 'jump_next' => 'skočiť na ďalší neprečítaný (kanál ale kategóriu)', + 'jump_next' => 'skočiť na ďalší neprečítaný', 'mark_updated_article_unread' => 'Označiť aktualizované články ako neprečítané', 'number_divided_when_reader' => 'V režime čítania predeliť na dve časti.', 'read' => array( diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php index aeb85a974..0619125f4 100644 --- a/app/i18n/tr/conf.php +++ b/app/i18n/tr/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => 'Okunmamış makalesi olmayan kategori veya akışı gizle (“Tüm makaleleri göster” komutunda çalışmaz)', 'img_with_lazyload' => 'Resimleri yüklemek için “tembel modu” kullan', - 'jump_next' => 'Bir sonraki benzer okunmamışa geç (akış veya kategori)', + 'jump_next' => 'Bir sonraki benzer okunmamışa geç', 'mark_updated_article_unread' => 'Güncellenen makaleleri okundu olarak işaretle', 'number_divided_when_reader' => 'Okuma modunda ikiye bölünecek.', 'read' => array( diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php index 3e63d7485..891031f6f 100644 --- a/app/i18n/zh-cn/conf.php +++ b/app/i18n/zh-cn/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => '隐藏没有未读文章的分类和订阅源(启用“显示所有文章”后不生效)', 'img_with_lazyload' => '延迟加载图片', - 'jump_next' => '跳转到下一未读项(订阅源或分类)', + 'jump_next' => '跳转到下一未读项', 'mark_updated_article_unread' => '将有更新的文章设为未读', 'number_divided_when_reader' => '阅读视图中显示一半', 'read' => array( diff --git a/app/i18n/zh-tw/conf.php b/app/i18n/zh-tw/conf.php index 268fec282..7b57c4403 100644 --- a/app/i18n/zh-tw/conf.php +++ b/app/i18n/zh-tw/conf.php @@ -220,7 +220,7 @@ return array( ), 'hide_read_feeds' => '隱藏沒有未讀文章的分類和訂閱源 (啟用「顯示所有文章」後不生效)', 'img_with_lazyload' => '延遲加載圖片', - 'jump_next' => '跳轉到下一未讀項(訂閱源或分類)', + 'jump_next' => '跳轉到下一未讀項', 'mark_updated_article_unread' => '將更新的文章設為未讀', 'number_divided_when_reader' => '閱讀視圖中顯示一半', 'read' => array( |
