diff options
| author | 2024-07-08 11:32:19 +0200 | |
|---|---|---|
| committer | 2024-07-08 11:32:19 +0200 | |
| commit | 5a5ccc94f39d5207a5c4be2523b4bcf4e87d9457 (patch) | |
| tree | baa853ebb3593c280f58479b299ccbce14b6c979 /app | |
| parent | 4738ca851207f07bdfc409ecb16d3fc754e5bf48 (diff) | |
Improve aside feed bar (#6446)
* delete theme BlueLagoon
* delete theme Screwdriver
* phpstan level 7 for feedController.php (#5373)
* phpstan level 7 for feedController.php
* phpstan level 7 for feedController.php
* phpstan level 7 for feedController.php
* phpstan level 7 for feedController.php
* A few fixes
---------
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* phpstan level 7 for updateController.php (#5376)
* phpstan level 7 for updateController.php
* phpstan level 7 for updateController.php
* Minor array syntax
---------
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* docs: language table added (#5375)
* docs: language table added
* Update 05_Configuration.md
* Update 05_Configuration.md
* french docs
* Unicode quote and a few fixes
(Same search&replace aslo applied to a few other files)
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Share in anonymous mode (#5261)
#fix https://github.com/FreshRSS/FreshRSS/issues/5248
Co-authored-by: maTh <math-home@web.de>
* Minor development config fixes (#5379)
* Add compatibility with MacOS for `paste` command
* Addition to .editorconfig
* Fix markAsReadUponGone (#5382)
Fix regression from https://github.com/FreshRSS/FreshRSS/pull/5315
which indroduced a bug for cached feeds.
We now update the `lastSeen` property of entries to account for the fact that they are unchanged but still existing.
* phpstan level 7 for indexController.php (#5384)
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
* Improved: "Mark an article as read…" text area. Added a link to the documentation (#5349)
* i18n
* Update sub.php
* Update app/i18n/fr/sub.php
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* fix target="_blank"
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Update Docker image Alpine 3.18 (#5383)
https://alpinelinux.org/posts/Alpine-3.18.0-released.html
Minor updates with Apache 2.4.57 and PHP 8.1.19
* Docs: delete 04_Changing_source_code.md (#5391)
* delete 04_Changing_source_code.md
* make pot
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Typed view model classes (#5380)
* Typed view model classes
* Add ability to provide a typed view model class to a controller
* Use `::class` instead of string for referring to classes
* Examplified with `stats` and `javascript` controllers / views (more to do)
* Also useful for extensions (my usecase today), which did not have the ability to define own view model attributes before.
* Typo
* A few additional PHPStan rules (#5388)
A subset of
https://github.com/phpstan/phpstan-strict-rules
* Improved: Install process: give more infos (#5350)
* comments added for each step
* infos about FreshRSS added in first step
* Remove reference to Kriss and Leed from install page
I do not find that informative, and quite confusing. Moved to readme instead.
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* PHPMailer 6.8.0 (#5389)
* PHPMailer 6.8.0
https://github.com/PHPMailer/PHPMailer/releases/tag/v6.8.0
https://github.com/PHPMailer/PHPMailer/releases
* Exclude unused DSNConfigurator
* fix: docs: array syntax (#5392)
* Link configuration to proper parameter (#5394)
Before, the system configuration was linked to the user parameter while the
user configuration was linked to the system parameter. This was an issue when
trying to retrieve some kind of configuration value in an extension.
Now, the configurations are properly linked to their parameters.
* PHPStan Level 7 for Share userController logs_pagination (#5393)
* fix: "for" attribute in config display (#5398)
* move darkMode_auto from body to html root (#5397)
* CSS: refactor of a.btn (#5401)
* Fix logs pagination (#5403)
* Fix logs pagination
Regression from https://github.com/FreshRSS/FreshRSS/pull/5269
* Add better default
* PHPStan Level 7 for Minz_Request, FreshRSS_Feed, Minz_Error (#5400)
* PHPStan Level 7 for Minz_Request
* PHPStan Level 7 for FreshRSS_Feed
* PHPStan Level 7 for Minz_Error
* Fix again updateLastSeenUnchanged (#5404)
* Fix again updateLastSeenUnchanged
https://github.com/FreshRSS/FreshRSS/pull/5382 was not good enough to fix markAsReadUponGone and introduced a regression in `entry.lastSeen`.
New approach.
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5315
* Minor change of mind
* Fix handling of lastSeen
entry.lastSeen was not always correctly initialised, and sometimes overriden
* Remove debug line
Forgotten from https://github.com/FreshRSS/FreshRSS/pull/5404
* Avoid falsy guid (#5412)
Whitespace strings, empty strings, 0 are all problematic when working with GUIDs. so avoid them.
* PHPStan Level 7 complete (#5406)
* PHPStan Level 7 complete
* Start PHPStan Level 8
* Forgot exclude .phtml
* Fix favicon fetching while using proxies (#5421)
* Fix favicon fetching while using proxies
This ensures that if curl_options are defined in config.php, those
settings are respected while fetching favicons.
Fixes FreshRSS#4951
* Change options priority
* Credits keep alphabticorder
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Fixed: i18n extensions: 'en' as fallback (#5426)
* Update Translate.php
* Small improvements
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Improve Dev Container (#5423)
* Improve Dev Container
PHPStan was failing in Dev Container
* Update Docker to Alpine Linux 3.18
* New DATA_PATH environment variable
* README
* Update of Spanish translation (#5408)
* Update admin.php
Update Spanish
* Update conf.php
Spanish update
* Fix
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Linkding share now passes title #5432 (#5433)
* phpstan-8 typehinting (#5429)
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
* Forgotten debug line
https://github.com/FreshRSS/FreshRSS/pull/5404
* phpstan-9 for Share.php (#5431)
* phpstan 9 for Search.php
phpstan 9 for Share.php
* phpstan-9 for Search.php
* Better consistency for search results
---------
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Pull request of spanish translation (#5436)
* Update sub.php
Update spanish translation
* Update conf.php
Update Spanish translation
* Update gen.php
Update spanish translation
* Update index.php
Update spanish translation
* Update admin.php
update spanish translation
* Fix ignore
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* improved background colors (#5437)
* phpstan-8 for category class (#5434)
* phpstan-8 for category class
* Another approach to nullable
https://github.com/FreshRSS/FreshRSS/pull/5434#discussion_r1210776699
---------
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Docker example of PostgreSQL tuning (#5446)
Provide example of how to easily tune selected PostgreSQL settings
https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server
* Update SECURITY.md (#5448)
Link to GitHub security advisory process + PGP key
* fix: new article banner in Ansum/mapco theme (#5453)
* fix
* rtl
* Update dark theme css to lower brightness to all icons (#5439)
* Update dark.css to lower brightness to all icons
* Update dark.rtl.css to lower brightness to all icons
* re-add p.help .icon
* re-add p.help .icon
* Remove core extensions Google Groups and Tumblr (#5457)
* Remove core extensions Google Groups and Tumblr
* Google Groups seems to have remove support for RSS/ATOM https://github.com/FreshRSS/FreshRSS/pull/2838 (see e.g. https://www.theregister.com/2021/08/16/google_groups_rss/ )
* Tumblr seems to have fixed their RSS/ATOM post-GDPR https://github.com/FreshRSS/FreshRSS/pull/1924
So for both of thems, the extensions have become irrelevant.
* Cleaning
* Clarify that maximum number to keep is per feed (#5458)
* Clarify that maximum number to keep is per feed
Signed-off-by: Christian König <ckoenig@posteo.de>
* Append //DIRTY
Signed-off-by: Christian König <ckoenig@posteo.de>
* make fix-all
* Revert wrong whitespace
* Amend Credits.md
Signed-off-by: Christian König <ckoenig@posteo.de>
---------
Signed-off-by: Christian König <ckoenig@posteo.de>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Add OpenID Connect (#5351)
* Add OIDC
* Update documentation.
* Update apache conf adding IfModule
* Use IfDefine for OIDC in apache conf
* Fix non-oidc support
* Fix typing
* Use IfDefine to enable OIDC
* Add OIDC support to all dockerfiles
* Re add apache Require option
* Fixes and documentation
* A few more fixes
* A bit more doc
* Change type of environment variable
* Update readme
* Correct apache config for OIDC support.
* Fix README formatting
* Update oidc control path
* Fix oidc endpoint being cached
* A bit more review
* Simplify ExpiresActive
* Add session refresh and improve caching
* Allow more different setups
* A bit more documentation
* A bit more readme
---------
Co-authored-by: Aaron Schif <aschif@netdevgroup.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: maTh <math-home@web.de>
* Fix OpenID Connect crash on ARM (#5463)
Only enable the Apache auth_openidc module when actually used
Fix https://github.com/FreshRSS/FreshRSS/issues/5460
Follow-up of https://github.com/FreshRSS/FreshRSS/pull/5351
* Readme minor typo
* Fix: conf.php (German i18n) (#5468)
* Improved: update page (#5420)
* prependTitle()
* do not need the "damn" in the alert
* update page layout improved
* release channel
* i18n labels
* add log messages while updating
* Delete updatee.php
* Update updateController.php
* Update updateController.php
* Update updateController.php
* Update updateController.php
* add getCurrentGitBranch()
* Update updateController.php
* state2 buttons
* i18n
* loading
* Update feedback.php
* Update feedback.php
* Update feedback.php
* Update extra.js
* Apply suggestions from code review
Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com>
* Update updateController.php
* Update terminology
* update button is now armed
---------
Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
* Allow deep link to extension configuration (#5449)
* Allow deep link to extension configuration
Full screen
* Support slider
* Add aside_configure
Fix https://github.com/FreshRSS/FreshRSS/pull/5449#issuecomment-1588089769
* category title improved
* Feed title: better HTML structure + have a correct semantic <a>
* feed title: CSS
* feed title special cases
* improved feed mouseover titles
* cog icon half transparent. Shining while hovering
* i18n labels
* improve hover of more menu
* Update gen.php
* fix
* i18n: fr
---------
Signed-off-by: Christian König <ckoenig@posteo.de>
Co-authored-by: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com>
Co-authored-by: Luc <sanchezluc+freshrss@gmail.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: Alexis Degrugillier <aledeg@users.noreply.github.com>
Co-authored-by: vrachnis <vrachnis@users.noreply.github.com>
Co-authored-by: LleanaRuv <133794633+LleanaRuv@users.noreply.github.com>
Co-authored-by: acbgbca <60839662+acbgbca@users.noreply.github.com>
Co-authored-by: Alwaysin <adrien@demma.fr>
Co-authored-by: yubiuser <ckoenig@posteo.de>
Co-authored-by: Aaron Schif <aaronschif@gmail.com>
Co-authored-by: Aaron Schif <aschif@netdevgroup.com>
Co-authored-by: math-gh <>
Diffstat (limited to 'app')
49 files changed, 264 insertions, 39 deletions
diff --git a/app/i18n/cs/gen.php b/app/i18n/cs/gen.php index 5cb56829c..9c3106e65 100644 --- a/app/i18n/cs/gen.php +++ b/app/i18n/cs/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Načíst výchozí zkratky', 'manage' => 'Spravovat', 'mark_read' => 'Označit jako přečtené', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/cs/sub.php b/app/i18n/cs/sub.php index 667bca949..c031e5efb 100644 --- a/app/i18n/cs/sub.php +++ b/app/i18n/cs/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Zadejte adresu URL na <a href="http://opml.org/" target="_blank">OPML soubor</a> k dynamickému naplnění této kategorie RSS kanály', ), 'empty' => 'Vyprázdit kategorii', + 'expand' => 'Expand category', // TODO 'information' => 'Informace', + 'open' => 'Open category', // TODO 'opml_url' => 'ADRESA URL OPML', 'position' => 'Zobrazit pozici', 'position_help' => 'Pro ovládání pořadí řazení kategorií', @@ -183,9 +185,13 @@ return array( 'method_help' => 'Payload metody POST má automatickou podporu pro <code>application/x-www-form-urlencoded</code> a <code>application/json</code>', 'method_postparams' => 'Payload pro metodu POST', 'moved_category_deleted' => 'Když odstraníte kategorii, její kanály jsou automaticky přesunuty do <em>%s</em>.', - 'mute' => 'ztlumit', + 'mute' => array( + '_' => 'ztlumit', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Nejsou vybrány žádné kanály.', 'number_entries' => '%d článků', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Viditelnost', 'archived' => 'Nezobrazovat (archivováno)', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 8cb974039..4e59553fe 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Standard-Kürzel laden', 'manage' => 'Verwalten', 'mark_read' => 'Als gelesen markieren', + 'menu' => array( + 'open' => 'Menü öffnen', + ), 'nav_buttons' => array( 'next' => 'Nächster Artikel', 'prev' => 'Vorheriger Artikel', diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php index e791cc951..ad622d911 100644 --- a/app/i18n/de/sub.php +++ b/app/i18n/de/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'URL zu einer <a href="http://opml.org/" target="_blank">OPML Datei</a>, um die Kategorie dynamisch mit Feeds zu befüllen', ), 'empty' => 'Leere Kategorie', + 'expand' => 'Kategory aufklappen', 'information' => 'Information', // IGNORE + 'open' => 'Kategory öffnen', 'opml_url' => 'OPML-Datei URL', 'position' => 'Reihenfolge', 'position_help' => 'Steuert die Kategoriesortierung', @@ -183,9 +185,13 @@ return array( 'method_help' => 'Der POST-Payload unterstützt automatisch <code>application/x-www-form-urlencoded</code> und <code>application/json</code>', 'method_postparams' => 'Payload für POST', 'moved_category_deleted' => 'Wenn Sie eine Kategorie entfernen, werden deren Feeds automatisch in die Kategorie <em>%s</em> eingefügt.', - 'mute' => 'Stumm schalten', + 'mute' => array( + '_' => 'Stumm schalten', + 'state_is_muted' => 'Dieser Feed ist stummgeschaltet', + ), 'no_selected' => 'Kein Feed ausgewählt.', 'number_entries' => '%d Artikel', + 'open_feed' => 'Feed %s öffnen', 'priority' => array( '_' => 'Sichtbarkeit', 'archived' => 'Nicht anzeigen (archiviert)', diff --git a/app/i18n/el/gen.php b/app/i18n/el/gen.php index 99abffc88..1798f2084 100644 --- a/app/i18n/el/gen.php +++ b/app/i18n/el/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Load default shortcuts', // TODO 'manage' => 'Manage', // TODO 'mark_read' => 'Mark as read', // TODO + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/el/sub.php b/app/i18n/el/sub.php index 046f60a84..b5bcc2eba 100644 --- a/app/i18n/el/sub.php +++ b/app/i18n/el/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Provide the URL to an <a href="http://opml.org/" target="_blank">OPML file</a> to dynamically populate this category with feeds', // TODO ), 'empty' => 'Empty category', // TODO + 'expand' => 'Expand category', // TODO 'information' => 'Information', // TODO + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // TODO 'position' => 'Display position', // TODO 'position_help' => 'To control category sort order', // TODO @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // TODO 'method_postparams' => 'Payload for POST', // TODO 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.', // TODO - 'mute' => 'mute', // TODO + 'mute' => array( + '_' => 'mute', // TODO + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'No feed selected.', // TODO 'number_entries' => '%d articles', // TODO + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Visibility', // TODO 'archived' => 'Do not show (archived)', // TODO diff --git a/app/i18n/en-us/gen.php b/app/i18n/en-us/gen.php index cad075f54..8bb101ca3 100644 --- a/app/i18n/en-us/gen.php +++ b/app/i18n/en-us/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Load default shortcuts', // IGNORE 'manage' => 'Manage', // IGNORE 'mark_read' => 'Mark as read', // IGNORE + 'menu' => array( + 'open' => 'Open menu', // IGNORE + ), 'nav_buttons' => array( 'next' => 'Next article', // IGNORE 'prev' => 'Previous article', // IGNORE diff --git a/app/i18n/en-us/sub.php b/app/i18n/en-us/sub.php index 714b7d433..057f5158c 100644 --- a/app/i18n/en-us/sub.php +++ b/app/i18n/en-us/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Provide the URL to an <a href="http://opml.org/" target="_blank">OPML file</a> to dynamically populate this category with feeds', // IGNORE ), 'empty' => 'Empty category', // IGNORE + 'expand' => 'Expand category', // IGNORE 'information' => 'Information', // IGNORE + 'open' => 'Open category', // IGNORE 'opml_url' => 'OPML URL', // IGNORE 'position' => 'Display position', // IGNORE 'position_help' => 'To control category sort order', // IGNORE @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // IGNORE 'method_postparams' => 'Payload for POST', // IGNORE 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.', // IGNORE - 'mute' => 'mute', // IGNORE + 'mute' => array( + '_' => 'mute', // IGNORE + 'state_is_muted' => 'This feed is muted', // IGNORE + ), 'no_selected' => 'No feed selected.', // IGNORE 'number_entries' => '%d articles', // IGNORE + 'open_feed' => 'Open feed %s', // IGNORE 'priority' => array( '_' => 'Visibility', // IGNORE 'archived' => 'Do not show (archived)', // IGNORE diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 641569c23..a267d15fb 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Load default shortcuts', 'manage' => 'Manage', 'mark_read' => 'Mark as read', + 'menu' => array( + 'open' => 'Open menu', + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php index 82f913a4e..9b3f9e9e8 100644 --- a/app/i18n/en/sub.php +++ b/app/i18n/en/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Provide the URL to an <a href="http://opml.org/" target="_blank">OPML file</a> to dynamically populate this category with feeds', ), 'empty' => 'Empty category', + 'expand' => 'Expand category', 'information' => 'Information', + 'open' => 'Open category', 'opml_url' => 'OPML URL', 'position' => 'Display position', 'position_help' => 'To control category sort order', @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', 'method_postparams' => 'Payload for POST', 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.', - 'mute' => 'mute', + 'mute' => array( + '_' => 'mute', + 'state_is_muted' => 'This feed is muted', + ), 'no_selected' => 'No feed selected.', 'number_entries' => '%d articles', + 'open_feed' => 'Open feed %s', 'priority' => array( '_' => 'Visibility', 'archived' => 'Do not show (archived)', diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php index 0db02de37..2a7d116de 100644 --- a/app/i18n/es/gen.php +++ b/app/i18n/es/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Cargar accesos directos predeterminados', 'manage' => 'Administrar', 'mark_read' => 'Marcar como leído', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/es/sub.php b/app/i18n/es/sub.php index 146f72ac2..ed0de211d 100644 --- a/app/i18n/es/sub.php +++ b/app/i18n/es/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Provee la URL a un <a href=http://opml.org/ target="_blank">archivo OPML</a> para llenar dinámicamente esta categoría con feeds', ), 'empty' => 'Vaciar categoría', + 'expand' => 'Expand category', // TODO 'information' => 'Información', + 'open' => 'Open category', // TODO 'opml_url' => 'URL del OPML', 'position' => 'Posición de visualización', 'position_help' => 'Para controlar el orden de clasificación de categorías', @@ -183,9 +185,13 @@ return array( 'method_help' => 'La carga útil del POST tiene soporte automático para <code>application/x-www-form-urlencoded</code> y <code>application/json</code>', 'method_postparams' => 'Carga útil para POST', 'moved_category_deleted' => 'Al borrar una categoría todas sus fuentes pasan automáticamente a la categoría <em>%s</em>.', - 'mute' => 'silenciar', + 'mute' => array( + '_' => 'silenciar', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'No hay funentes seleccionadas.', 'number_entries' => '%d artículos', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Visibilidad', 'archived' => 'No mostrar (archivado)', diff --git a/app/i18n/fa/gen.php b/app/i18n/fa/gen.php index b92fd8e0b..a9e5724cd 100644 --- a/app/i18n/fa/gen.php +++ b/app/i18n/fa/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => ' میانبرهای پیش فرض را بارگیری کنید', 'manage' => ' مدیریت', 'mark_read' => ' علامت گذاری به عنوان خوانده شده', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/fa/sub.php b/app/i18n/fa/sub.php index ada4380aa..735576e61 100644 --- a/app/i18n/fa/sub.php +++ b/app/i18n/fa/sub.php @@ -29,7 +29,9 @@ return array( 'help' => ' URL را به <a href="http://opml.org/" target="_blank">فایل OPML</a> ارائه دهید تا به صورت پویا این دسته با فیدها پر شود.', ), 'empty' => ' دسته خالی', + 'expand' => 'Expand category', // TODO 'information' => ' اطلاعات', + 'open' => 'Open category', // TODO 'opml_url' => ' URL OPML', 'position' => ' موقعیت نمایش', 'position_help' => ' برای کنترل ترتیب مرتب سازی دسته بندی', @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // TODO 'method_postparams' => 'Payload for POST', // TODO 'moved_category_deleted' => ' هنگامی که یک دسته را حذف می کنید', - 'mute' => ' بی صدا', + 'mute' => array( + '_' => ' بی صدا', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => ' هیچ خوراکی انتخاب نشده است.', 'number_entries' => ' %d مقاله', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => ' دید', 'archived' => ' نشان داده نشود (بایگانی شده)', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index e2d9c4dd8..ddc8a704d 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Utiliser les raccourcis par défaut', 'manage' => 'Gérer', 'mark_read' => 'Marquer comme lu', + 'menu' => array( + 'open' => 'Ouvrir le menu', + ), 'nav_buttons' => array( 'next' => 'Article suivant', 'prev' => 'Article précédent', diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index ab13a4ead..9bdbdbe5d 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Fournir l’URL d’un <a href="http://opml.org/" target="_blank">fichier OPML</a> qui donnera dynamiquement la liste des flux de cette catégorie', ), 'empty' => 'Catégorie vide', + 'expand' => 'Développer la catégorie', 'information' => 'Informations', + 'open' => 'Ouvrir la catégorie', 'opml_url' => 'URL de l’OPML', 'position' => 'Position d’affichage', 'position_help' => 'Pour contrôler l’ordre de tri des catégories', @@ -183,9 +185,13 @@ return array( 'method_help' => 'Les données POST supportent automatiquement <code>application/x-www-form-urlencoded</code> et <code>application/json</code>', 'method_postparams' => 'Données pour POST', 'moved_category_deleted' => 'Lors de la suppression d’une catégorie, ses flux seront automatiquement classés dans <em>%s</em>.', - 'mute' => 'désactivé', + 'mute' => array( + '_' => 'désactivé', + 'state_is_muted' => 'Ce flux est désactivé', + ), 'no_selected' => 'Aucun flux sélectionné.', 'number_entries' => '%d articles', // IGNORE + 'open_feed' => 'Ouvrir le flux %s', 'priority' => array( '_' => 'Visibilité', 'archived' => 'Ne pas afficher (archivé)', diff --git a/app/i18n/he/gen.php b/app/i18n/he/gen.php index 12f5b17c2..58af160d2 100644 --- a/app/i18n/he/gen.php +++ b/app/i18n/he/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Load default shortcuts', // TODO 'manage' => 'ניהול', 'mark_read' => 'סימון כנקרא', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/he/sub.php b/app/i18n/he/sub.php index ea25fc215..7ac401530 100644 --- a/app/i18n/he/sub.php +++ b/app/i18n/he/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Provide the URL to an <a href="http://opml.org/" target="_blank">OPML file</a> to dynamically populate this category with feeds', // TODO ), 'empty' => 'Empty category', // TODO + 'expand' => 'Expand category', // TODO 'information' => 'מידע', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // TODO 'position' => 'Display position', // TODO 'position_help' => 'To control category sort order', // TODO @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // TODO 'method_postparams' => 'Payload for POST', // TODO 'moved_category_deleted' => 'כאשר הקטגוריה נמחקת ההזנות שבתוכה אוטומטית מקוטלגות תחת <em>%s</em>.', - 'mute' => 'mute', // TODO + 'mute' => array( + '_' => 'mute', // TODO + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'אף הזנה לא נבחרה.', 'number_entries' => '%d מאמרים', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Visibility', // TODO 'archived' => 'Do not show (archived)', // TODO diff --git a/app/i18n/hu/gen.php b/app/i18n/hu/gen.php index 9862833c0..f86ecaf9f 100644 --- a/app/i18n/hu/gen.php +++ b/app/i18n/hu/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Alapértelmezett gyorsgombok visszaállítása', 'manage' => 'Kezelés', 'mark_read' => 'Megjelölés olvasottként', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/hu/sub.php b/app/i18n/hu/sub.php index 24c5092d1..1b942f340 100644 --- a/app/i18n/hu/sub.php +++ b/app/i18n/hu/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Adj meg egy URL-t az <a href="http://opml.org/" target="_blank">OPML fájlhoz</a> hogy automatikusan kitöltődjön ez a kategória hírforrásokkal', ), 'empty' => 'Üres kategória', + 'expand' => 'Expand category', // TODO 'information' => 'Információ', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // IGNORE 'position' => 'Megjelenítési pozíció', 'position_help' => 'Kategória rendezési sorrend', @@ -183,9 +185,13 @@ return array( 'method_help' => 'A POST metódus hasznos adattartalma automatikusan támogatja az <code>application/x-www-form-urlencoded</code> és <code>application/json</code>', 'method_postparams' => 'POST metódus adattartalma', 'moved_category_deleted' => 'Ha kitörölsz egy kategóriát, az alá tartozó hírforrások automatikusan ide kerülnek <em>%s</em>.', - 'mute' => 'némítás', + 'mute' => array( + '_' => 'némítás', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Nincsen hírforrás kiválasztva.', 'number_entries' => '%d cikkek', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Láthatóság', 'archived' => 'Ne jelenjen meg (archivált)', diff --git a/app/i18n/id/gen.php b/app/i18n/id/gen.php index 2d7334b37..064c815d6 100644 --- a/app/i18n/id/gen.php +++ b/app/i18n/id/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Load default shortcuts', // TODO 'manage' => 'Manage', // TODO 'mark_read' => 'Mark as read', // TODO + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/id/sub.php b/app/i18n/id/sub.php index 592d34333..2cc0b8685 100644 --- a/app/i18n/id/sub.php +++ b/app/i18n/id/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Provide the URL to an <a href="http://opml.org/" target="_blank">OPML file</a> to dynamically populate this category with feeds', // TODO ), 'empty' => 'Empty category', // TODO + 'expand' => 'Expand category', // TODO 'information' => 'Information', // TODO + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // TODO 'position' => 'Display position', // TODO 'position_help' => 'To control category sort order', // TODO @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // TODO 'method_postparams' => 'Payload for POST', // TODO 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.', // TODO - 'mute' => 'mute', // TODO + 'mute' => array( + '_' => 'mute', // TODO + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'No feed selected.', // TODO 'number_entries' => '%d articles', // TODO + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Visibility', // TODO 'archived' => 'Do not show (archived)', // TODO diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index bc9a7f04d..0cad5df76 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Carica le scorciatoie di default', 'manage' => 'Gestisci', 'mark_read' => 'Segna come letto', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/it/sub.php b/app/i18n/it/sub.php index b435d343f..ae0a16123 100644 --- a/app/i18n/it/sub.php +++ b/app/i18n/it/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Fornisci l’URL ad un <a href="http://opml.org/" target="_blank">file OPML</a> per popolare dinamicamente questa categoria con i feed', ), 'empty' => 'Categoria vuota', + 'expand' => 'Expand category', // TODO 'information' => 'Informazioni', + 'open' => 'Open category', // TODO 'opml_url' => 'URL OPML', 'position' => 'Mostra posizione', 'position_help' => 'Per controllare l’ordinamento della categoria', @@ -183,9 +185,13 @@ return array( 'method_help' => 'Il payload POST ha il supporto automatico per <code>application/x-www-form-urlencoded</code> e <code>application/json</code>', 'method_postparams' => 'Payload per POST', 'moved_category_deleted' => 'Cancellando una categoria i feed al suo interno verranno classificati automaticamente come <em>%s</em>.', - 'mute' => 'muta', + 'mute' => array( + '_' => 'muta', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Nessun feed selezionato.', 'number_entries' => '%d articoli', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Visibilità', 'archived' => 'Non mostrare (archiviato)', diff --git a/app/i18n/ja/gen.php b/app/i18n/ja/gen.php index 0cd82a3c2..6abe92a4f 100644 --- a/app/i18n/ja/gen.php +++ b/app/i18n/ja/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'デフォルトのショートカットを読み込む', 'manage' => '管理', 'mark_read' => '既読にする', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => '次の記事', 'prev' => '前の記事', diff --git a/app/i18n/ja/sub.php b/app/i18n/ja/sub.php index 0ca9cc37b..614269caf 100644 --- a/app/i18n/ja/sub.php +++ b/app/i18n/ja/sub.php @@ -29,7 +29,9 @@ return array( 'help' => '<a href="http://opml.org/" target="_blank">から提供されたOPMLファイル</a>をこのカテゴリに動的に追加します。', ), 'empty' => 'からのカテゴリ', + 'expand' => 'Expand category', // TODO 'information' => 'インフォメーション', + 'open' => 'Open category', // TODO 'opml_url' => 'OPMLのURL', 'position' => '表示位置', 'position_help' => 'カテゴリの表示順を操作する', @@ -183,9 +185,13 @@ return array( 'method_help' => 'POSTペイロードは <code>application/x-www-form-urlencoded</code> と <code>application/json</code> を自動的にサポートしています', 'method_postparams' => 'POST用ペイロード', 'moved_category_deleted' => 'カテゴリを削除したとき、フィードは自動的に<em>%s</em>下に分類されます。', - 'mute' => 'ミュート', + 'mute' => array( + '_' => 'ミュート', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'どのフィードも選択されていません', 'number_entries' => '%d 記事数', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => '表示する場所', 'archived' => '非表示にする(アーカイブ)', diff --git a/app/i18n/ko/gen.php b/app/i18n/ko/gen.php index 8ef6fcf87..a71389e90 100644 --- a/app/i18n/ko/gen.php +++ b/app/i18n/ko/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => '기본 단축키 불러오기', 'manage' => '관리', 'mark_read' => '읽음으로 표시', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/ko/sub.php b/app/i18n/ko/sub.php index f8fb544be..57eb72ab7 100644 --- a/app/i18n/ko/sub.php +++ b/app/i18n/ko/sub.php @@ -29,7 +29,9 @@ return array( 'help' => '이 카테코리에 피드를 동적으로 채우려면 <a href="http://opml.org/" target="_blank">OPML 파일</a> 의 URL을 제공해주세요', ), 'empty' => '빈 카테고리', + 'expand' => 'Expand category', // TODO 'information' => '정보', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // IGNORE 'position' => '표시 위치', 'position_help' => '정렬 순서 제어', @@ -183,9 +185,13 @@ return array( 'method_help' => 'POST 페이로드는 <code>application/x-www-form-urlencoded</code> 및 <code>application/json</code>을 자동으로 지원합니다.', 'method_postparams' => 'POST용 페이로드', 'moved_category_deleted' => '카테고리를 삭제하면, 해당 카테고리 아래에 있던 피드들은 자동적으로 <em>%s</em> 아래로 분류됩니다.', - 'mute' => '무기한 새로고침 금지', + 'mute' => array( + '_' => '무기한 새로고침 금지', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => '선택된 피드가 없습니다.', 'number_entries' => '%d 개의 글', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => '표시', 'archived' => '표시하지 않음 (보관됨)', diff --git a/app/i18n/lv/gen.php b/app/i18n/lv/gen.php index fbf434f20..ab81b3c45 100644 --- a/app/i18n/lv/gen.php +++ b/app/i18n/lv/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Ielādēt noklusējuma saīsnes', 'manage' => 'Pārvaldīt', 'mark_read' => 'Atzīmēt kā izlasītu', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/lv/sub.php b/app/i18n/lv/sub.php index 08c114f95..cc739194d 100644 --- a/app/i18n/lv/sub.php +++ b/app/i18n/lv/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Norādiet URL uz <a href="http://opml.org/" target="_blank">OPML failu</a>, lai dinamiski papildinātu šo kategoriju ar barotnēm.', ), 'empty' => 'Tukša kategorija', + 'expand' => 'Expand category', // TODO 'information' => 'Informācija', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // IGNORE 'position' => 'Displeja pozīcija', 'position_help' => 'Lai pārvaldītu kategoriju šķirošanas secību', @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // TODO 'method_postparams' => 'Payload for POST', // TODO 'moved_category_deleted' => 'Kad dzēšat kategoriju, tās plūsmas automātiski tiek automātiski klasificētas kategorijā <em>%s</em>.', - 'mute' => 'klusināt', + 'mute' => array( + '_' => 'klusināt', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Barotne nav izvēlēta.', 'number_entries' => '%d raksti', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Prioritāte', 'archived' => 'Nerādīt (arhivēts)', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index f3601f445..aa4598175 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Standaardshortcuts laden', 'manage' => 'Beheren', 'mark_read' => 'Markeer als gelezen', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/nl/sub.php b/app/i18n/nl/sub.php index 31afc7f12..036e631f0 100644 --- a/app/i18n/nl/sub.php +++ b/app/i18n/nl/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Geef de URL naar een <a href="http://opml.org/" target="_blank">OPML-bestand</a> om deze categorie dynamisch met feeds te vullen', ), 'empty' => 'Lege categorie', + 'expand' => 'Expand category', // TODO 'information' => 'Informatie', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // IGNORE 'position' => 'Weergavepositie', 'position_help' => 'Om de categorieweergave-sorteervolgorde te controleren', @@ -183,9 +185,13 @@ return array( 'method_help' => 'De POST-payload ondersteunt automatisch <code>application/x-www-form-urlencoded</code> en <code>application/json</code>', 'method_postparams' => 'Payload voor POST', 'moved_category_deleted' => 'Als u een categorie verwijderd, worden de feeds automatisch geclassificeerd onder <em>%s</em>.', - 'mute' => 'demp', + 'mute' => array( + '_' => 'demp', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Geen feed geselecteerd.', 'number_entries' => '%d artikelen', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Zichtbaarheid', 'archived' => 'Niet weergeven (gearchiveerd)', diff --git a/app/i18n/oc/gen.php b/app/i18n/oc/gen.php index d00c250e3..b2a3cd0ee 100644 --- a/app/i18n/oc/gen.php +++ b/app/i18n/oc/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Cargar los acorchis per defaut', 'manage' => 'Gerir', 'mark_read' => 'Marcar coma legit', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/oc/sub.php b/app/i18n/oc/sub.php index a12069174..d503f0ead 100644 --- a/app/i18n/oc/sub.php +++ b/app/i18n/oc/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Fornís l’URL per un <a href="http://opml.org/" target="_blank">fichièr OPML</a> per garnir automaticament aquesta categoria amb de flux', ), 'empty' => 'Categoria voida', + 'expand' => 'Expand category', // TODO 'information' => 'Informacions', + 'open' => 'Open category', // TODO 'opml_url' => 'URL OPML', 'position' => 'Mostrar la posicion', 'position_help' => 'Per contrarotlar l’òrdre de tria de la categoria', @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // TODO 'method_postparams' => 'Payload for POST', // TODO 'moved_category_deleted' => 'Quand escafatz una categoria, sos fluxes son automaticament classats dins <em>%s</em>.', - 'mute' => 'mut', + 'mute' => array( + '_' => 'mut', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Cap de flux pas seleccionat.', 'number_entries' => '%d articles', // IGNORE + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Visibilitat', 'archived' => 'Mostrar pas (archivat)', diff --git a/app/i18n/pl/gen.php b/app/i18n/pl/gen.php index 978b1e211..0a76a2c97 100644 --- a/app/i18n/pl/gen.php +++ b/app/i18n/pl/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Ustaw domyślne skróty', 'manage' => 'Ustawienia', 'mark_read' => 'Oznacz jako przeczytane', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/pl/sub.php b/app/i18n/pl/sub.php index 03786bcd1..117ec1b88 100644 --- a/app/i18n/pl/sub.php +++ b/app/i18n/pl/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Podaj adres <a href="http://opml.org/" target="_blank">pliku OPML</a>, aby dynamicznie zapełnić tę kategorię kanałami', ), 'empty' => 'Pusta kategoria', + 'expand' => 'Expand category', // TODO 'information' => 'Informacje', + 'open' => 'Open category', // TODO 'opml_url' => 'Adres OPML', 'position' => 'Miejsce wyświetlania', 'position_help' => 'Kontrola porządku sortowania kategorii', @@ -183,9 +185,13 @@ return array( 'method_help' => 'Ładunek w POST automatycznie wspiera <code>application/x-www-form-urlencoded</code> oraz <code>application/json</code>', 'method_postparams' => 'Ładunek w POST', 'moved_category_deleted' => 'Po usunięciu kategorii znajdujące się w niej kanały zostaną automatycznie przeniesione do <em>%s</em>.', - 'mute' => 'wycisz', + 'mute' => array( + '_' => 'wycisz', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Brak kanałów.', 'number_entries' => '%d wiadomości', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Widoczność', 'archived' => 'Nie pokazuj (zarchiwizowany)', diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php index c9f1b6699..04fe0df03 100644 --- a/app/i18n/pt-br/gen.php +++ b/app/i18n/pt-br/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Carregar mais atalhos', 'manage' => 'Gerenciar', 'mark_read' => 'Marcar como lido', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php index 454bab99a..db178e10c 100644 --- a/app/i18n/pt-br/sub.php +++ b/app/i18n/pt-br/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Forneça uma URL para <a href="http://opml.org/" target="_blank">o arquivo OPML </a> para preencher dinamicamente esta categoria com feeds', ), 'empty' => 'Categoria vazia', + 'expand' => 'Expand category', // TODO 'information' => 'Informações', + 'open' => 'Open category', // TODO 'opml_url' => 'URL de OPML', 'position' => 'Posição de exibição', 'position_help' => 'Para controlar a ordem de exibição', @@ -183,9 +185,13 @@ return array( 'method_help' => 'O conteúdo do POST tem suporte automático para <code>application/x-www-form-urlencoded</code> e <code>application/json</code>', 'method_postparams' => 'Conteúdo do POST', 'moved_category_deleted' => 'Quando você deleta uma categoria, seus feeds são automaticamente classificados como <em>%s</em>.', - 'mute' => 'silenciar', + 'mute' => array( + '_' => 'silenciar', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Nenhum feed selecionado.', 'number_entries' => '%d artigos', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Visibilidade', 'archived' => 'Não exibir (arquivado)', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 259131d94..2fdf24324 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Загрузить горячие клавиши по умолчанию', 'manage' => 'Настроить', 'mark_read' => 'Отметить прочитанным', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php index 789f8312e..9c7047364 100644 --- a/app/i18n/ru/sub.php +++ b/app/i18n/ru/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Предоставьте ссылку на <a href="http://opml.org/" target="_blank">OPML файл</a> чтобы динамично заполнять эту категорию лентами', ), 'empty' => 'Пустая категория', + 'expand' => 'Expand category', // TODO 'information' => 'Информация', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML ссылка', 'position' => 'Положение отображения', 'position_help' => 'Влияет на порядок отображения категорий', @@ -183,9 +185,13 @@ return array( 'method_help' => 'Полезная нагрузка POST автоматически поддерживает <code>application/x-www-form-urlencoded</code> и <code>application/json</code>', 'method_postparams' => 'Полезная нагрузка POST', 'moved_category_deleted' => 'Когда вы удаляете категорию, ленты категории автоматически попадают в категорию <em>%s</em>.', - 'mute' => 'заглушить', + 'mute' => array( + '_' => 'заглушить', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Ленты не выбраны.', 'number_entries' => '%d статей', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Видимость', 'archived' => 'Не показывать (архивировано)', diff --git a/app/i18n/sk/gen.php b/app/i18n/sk/gen.php index 4945ace5d..26eded4c4 100644 --- a/app/i18n/sk/gen.php +++ b/app/i18n/sk/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Načítať prednastavené klávesové skratky', 'manage' => 'Spravovať', 'mark_read' => 'Označiť ako prečítané', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/sk/sub.php b/app/i18n/sk/sub.php index fde0b641f..8b30f5865 100644 --- a/app/i18n/sk/sub.php +++ b/app/i18n/sk/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Zadajte URL adresu k <a href="http://opml.org/" target="_blank">OPML súboru</a>, z ktorého sa táto kategória automaticky naplní kanálmi.', ), 'empty' => 'Prázdna kategória', + 'expand' => 'Expand category', // TODO 'information' => 'Informácia', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // IGNORE 'position' => 'Zobrazť pozíciu', 'position_help' => 'Na kontrolu zoradenia kategórií', @@ -183,9 +185,13 @@ return array( 'method_help' => 'Ako parametre metódy POST sú podporované <code>application/x-www-form-urlencoded</code> a <code>application/json</code>', 'method_postparams' => 'Parametre metódy POST', 'moved_category_deleted' => 'Keď vymažete kategóriu, jej kanály sa automaticky zaradia pod <em>%s</em>.', - 'mute' => 'stíšiť', + 'mute' => array( + '_' => 'stíšiť', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Nevybrali ste kanál.', 'number_entries' => 'Počet článkov: %d', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Viditeľnosť', 'archived' => 'Nezobrazovať (archivované)', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index e3c83afb0..268744f95 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => 'Öntanımlı kısayolları yükle', 'manage' => 'Yönet', 'mark_read' => 'Okundu olarak işaretle', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/tr/sub.php b/app/i18n/tr/sub.php index c2414c1c5..6b7a0aaea 100644 --- a/app/i18n/tr/sub.php +++ b/app/i18n/tr/sub.php @@ -29,7 +29,9 @@ return array( 'help' => 'Dinamik olarak bu kategoriyi akışla doldurmak için bir link <a href="http://opml.org/" target="_blank">OPML file</a> sağla', ), 'empty' => 'Boş kategori', + 'expand' => 'Expand category', // TODO 'information' => 'Bilgi', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML linki', 'position' => 'Konumu göster', 'position_help' => 'Kategori sıralama düzenini kontrol etmek için', @@ -183,9 +185,13 @@ return array( 'method_help' => 'POST payload otomatik yardımı için <code>application/x-www-form-urlencoded</code> ve <code>application/json</code>', 'method_postparams' => 'Payload for POST', // IGNORE 'moved_category_deleted' => 'Bir kategoriyi silerseniz, içerisindeki akışlar <em>%s</em> içerisine yerleşir.', - 'mute' => 'sessize al', + 'mute' => array( + '_' => 'sessize al', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => 'Hiçbir akış seçilmedi.', 'number_entries' => '%d makale', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => 'Görünürlük', 'archived' => 'Gösterme (arşivlenmiş)', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index 2845dedfc..077019b9c 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => '加载默认快捷键', 'manage' => '管理', 'mark_read' => '标记已读', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php index ea670acd1..f1d77db1b 100644 --- a/app/i18n/zh-cn/sub.php +++ b/app/i18n/zh-cn/sub.php @@ -29,7 +29,9 @@ return array( 'help' => '使用 URL 上的 <a href="http://opml.org/" target="_blank">OPML 文件</a> 中的订阅源填充这一分类', ), 'empty' => '空分类', + 'expand' => 'Expand category', // TODO 'information' => '信息', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML URL', // IGNORE 'position' => '显示位置', 'position_help' => '控制分类排列顺序', @@ -183,9 +185,13 @@ return array( 'method_help' => '如果荷载非空且是合法的 JSON,HTTP 请求标头将被自动设为 <code>application/json</code>,否则使用 <code>application/x-www-form-urlencoded</code>', 'method_postparams' => 'POST 荷载', 'moved_category_deleted' => '删除分类时,其中的订阅源会自动归类到 <em>%s</em>', - 'mute' => '暂停', + 'mute' => array( + '_' => '暂停', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => '未选择订阅源', 'number_entries' => '%d 篇文章', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => '可见性', 'archived' => '不显示(归档)', diff --git a/app/i18n/zh-tw/gen.php b/app/i18n/zh-tw/gen.php index 68d078173..2372590aa 100644 --- a/app/i18n/zh-tw/gen.php +++ b/app/i18n/zh-tw/gen.php @@ -29,6 +29,9 @@ return array( 'load_default_shortcuts' => '重置快捷鍵', 'manage' => '管理', 'mark_read' => '標記已讀', + 'menu' => array( + 'open' => 'Open menu', // TODO + ), 'nav_buttons' => array( 'next' => 'Next article', // TODO 'prev' => 'Previous article', // TODO diff --git a/app/i18n/zh-tw/sub.php b/app/i18n/zh-tw/sub.php index 9acfb046b..279fe67f0 100644 --- a/app/i18n/zh-tw/sub.php +++ b/app/i18n/zh-tw/sub.php @@ -29,7 +29,9 @@ return array( 'help' => '使用地址上的 <a href="http://opml.org/" target="_blank">OPML 文件</a> 中的訂閱源填充這一分類', ), 'empty' => '空分類', + 'expand' => 'Expand category', // TODO 'information' => '信息', + 'open' => 'Open category', // TODO 'opml_url' => 'OPML 地址', 'position' => '顯示位置', 'position_help' => '控制分類排列順序', @@ -183,9 +185,13 @@ return array( 'method_help' => 'The POST payload has automatic support for <code>application/x-www-form-urlencoded</code> and <code>application/json</code>', // TODO 'method_postparams' => 'Payload for POST', // TODO 'moved_category_deleted' => '刪除分類時,其中的訂閱源會自動歸類到 <em>%s</em>', - 'mute' => '暫停', + 'mute' => array( + '_' => '暫停', + 'state_is_muted' => 'This feed is muted', // TODO + ), 'no_selected' => '未選擇訂閱源', 'number_entries' => '%d 篇文章', + 'open_feed' => 'Open feed %s', // TODO 'priority' => array( '_' => '可見性', 'archived' => '不顯示(歸檔)', diff --git a/app/layout/aside_feed.phtml b/app/layout/aside_feed.phtml index c106c9ed9..a9705a296 100644 --- a/app/layout/aside_feed.phtml +++ b/app/layout/aside_feed.phtml @@ -57,9 +57,9 @@ $t_show = ($t_active && in_array(FreshRSS_Context::userConf()->display_categories, ['active', 'remember'], true)) || FreshRSS_Context::userConf()->display_categories === 'all'; ?> <li id="tags" class="tree-folder category tags<?= $t_active ? ' active' : '' ?>" data-unread="<?= format_number($this->nbUnreadTags) ?>"> - <div class="tree-folder-title"> - <a class="dropdown-toggle" href="#"><?= _i($t_show ? 'up' : 'down') ?></a><a class="title" data-unread="<?= format_number($this->nbUnreadTags) ?>" href="<?= _url('index', $actual_view, 'get', 'T') . $state_filter_manual ?>"><?= _t('index.menu.tags') ?></a> - </div> + <a href="<?= _url('index', $actual_view, 'get', 'T') . $state_filter_manual ?>" class="tree-folder-title"> + <button class="dropdown-toggle" title="<?= _t('sub.category.expand') ?>"><?= _i($t_show ? 'up' : 'down') ?></button><span class="title" title="<?= _t('sub.category.open') ?>" data-unread="<?= format_number($this->nbUnreadTags) ?>"><?= _t('index.menu.tags') ?></span> + </a> <ul class="tree-folder-items<?= $t_show ? ' active' : '' ?>"> <?php foreach ($this->tags as $tag): @@ -93,16 +93,18 @@ ?> <li id="c_<?= $cat->id() ?>" class="tree-folder category<?= $c_active ? ' active' : '' ?>"<?= null === $position ? '' : " data-position='$position'" ?> data-unread="<?= $cat->nbNotRead() ?>"> - <div class="tree-folder-title"> - <a class="dropdown-toggle" href="#"><?= _i($c_show ? 'up' : 'down') ?></a><a class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?= - format_number($cat->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) . $state_filter_manual ?>"><?= + <a href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) . $state_filter_manual ?>" class="tree-folder-title"> + <button class="dropdown-toggle" title="<?= _t('sub.category.expand') ?>"><?= _i($c_show ? 'up' : 'down') ?></button><span title="<?= _t('sub.category.open') ?>" class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?= + format_number($cat->nbNotRead()) ?>" ><?= $cat->name() - ?><?php if ($cat->kind() == FreshRSS_Category::KIND_DYNAMIC_OPML) { echo _i('opml-dyn'); } ?></a> - </div> + ?><?php if ($cat->kind() == FreshRSS_Category::KIND_DYNAMIC_OPML) { echo _i('opml-dyn'); } ?></span> + </a> <ul class="tree-folder-items<?= $c_show ? ' active' : '' ?>"> <?php // NB: Reduce whitespace in that loop + $show_favicon = FreshRSS_Context::userConf()->show_favicons && $nbFeedsTotal < FreshRSS_Context::userConf()->simplify_over_n_feeds; + foreach ($feeds as $feed): $f_active = FreshRSS_Context::isCurrentGet('f_' . $feed->id()); $f_active_class = $f_active ? ' active' : ''; @@ -122,16 +124,23 @@ } $mute_class = $feed->mute() ? ' mute' : ''; ?> -<li id="f_<?= $feed->id() ?>" class="item feed<?= $f_active_class, $mute_class, $error_class, $empty_class ?>" title="<?= $error_title, $empty_title ?>" +<li id="f_<?= $feed->id() ?>" class="item feed<?= $f_active_class, $mute_class, $error_class, $empty_class ?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>"><?php if ($f_active || $nbFeedsTotal < FreshRSS_Context::userConf()->simplify_over_n_feeds): - ?><div class="dropdown no-mobile"> - <div class="dropdown-target"></div><a class="dropdown-toggle" data-fweb="<?= $feed->website() ?>"><?= _i('configure') ?></a><?php /* feed_config_template */ ?> - </div><?php - if (FreshRSS_Context::userConf()->show_favicons) { ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php } + ?><div class="dropdown no-mobile"> + <div id="dropdown-<?= $feed->id() ?>" class="dropdown-target"></div><a href="#dropdown-<?= $feed->id() ?>" class="dropdown-toggle" title="<?= _t('gen.action.menu.open') ?>" data-fweb="<?= $feed->website() ?>"><?= _i('configure') ?></a><?php /* feed_config_template */ ?> + </div><?php endif; - ?><a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= - _url('index', $actual_view, 'get', 'f_' . $feed->id()) . $state_filter_manual ?>"><?= $feed->name() ?></a></li> + $title = _t('sub.feed.open_feed', $feed->name()); + $title .= $error_title !== '' ? ' ⚠ ' . $error_title : ''; + $title .= $empty_title !== '' ? ' ' . $empty_title : ''; + $title .= $feed->mute() ? ' 🔇 ' . _t('sub.feed.mute.state_is_muted') : ''; + ?><a class="item-title" title="<?= $title ?>" + data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= + _url('index', $actual_view, 'get', 'f_' . $feed->id()) . $state_filter_manual ?>"> + <?php + if ($show_favicon || $f_active) { ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php } + ?><span class="title"><?= $feed->name() ?></span></a></li> <?php endforeach; ?> |
