Files
FreshRSS/app/i18n/fr/conf.php
PeterVavercak ee7eb67f3c Implement sort order per feed (#8234)
* added local feed sorting

Addresses https://github.com/FreshRSS/FreshRSS/issues/4761

- Added number of sorted feeds and associative array for feed sorting option in Context.
- Number of sorted feeds and local sorting option by its index saved into Minz Request Parameters.
- Number of sorted feeds and local sorting options deleted when choosing another Option Of Global Sorting.
- Added option of allowing sorting by feed in configuration.
- Added variable for allowing local sorting in userConf.
- Added function to get feeds by current get in context.
- Added menu button for all individual feed sorting.
- New database options for individual feed sorting in EntryDAO.
- Considered choosing new entries based on chosen load limit.
- Local sorting parameter saved into continuation value in Index Controller.

How to test the feature manually:

1. At the bottom of Reading Configuration menu turn on individual sorting option menu 
2. Choose Sorting by feed option
3. Choose feed at next sorting menu and choose sorting option for that feed

* added feed sorting option

* added sort feeds display

* added template for sort feed name

* added title to feed sorting button

* added comments

* added local sorting option

* Added Docs

* css reset

* added getter and seter for local sort

* added getter and seter for local sort

* allowed sorting per feed

* allowed sorting per feed

* added sorting option for category

* deleted changes from NetryDAO

* add setting up sorting for category

* docs reset

* i18 reset

* updated i18 for category

* added i18 for categories

* added i18 for category

* added setting sorting for feeds and category

* removing userConf.allow-local-sort

* removing userConf.allow-local-sort

* removing white space

* added credits

* removed feeds_by_get

* removed whitespace

* changed escaping for values

* added escaping to user set values

* added in_array

* added secondary sort and order

* added secondary sort and order

* fixed readme

* removed whitespace change

* reseted i18n

* added translations

* added feed setting translations

* fixed i18n

* fixed i18n

* changes in sort order per feed

* changes in sort order per feed

* added secondary sort order

* primary sort

* changed to preferred sort order

* i18n

* Revert wrong whitespace changes

* Re-order new options

* added blank option

* fixed escaping

* fixed default sort in feed

* fixed default sort recovery

* siplyfied option

* added rand option

* Revert unrelated change

* Minor plaintext

* Whitespace and formatting fixes

* Avoid unneeded SQL requests and processing

* Improve syntax

* Improve logic

* Reuse existing translations as much as possible

* i18n

* Remove some options that make little sense

* Separators

* Fix old transation key

* Add help messages

* Progress on secondary sort

* raw name

* Pass parameters. Add TODO

* Progress

* Minor ordering

* Fix parenthesis

---------

Co-authored-by: root <root@LAPTOP-C8TCHHPN.localdomain>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
2026-02-01 13:12:47 +01:00

373 lines
16 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/******************************************************************************
* Each entry of that file can be associated with a comment to indicate its *
* state. When there is no comment, it means the entry is fully translated. *
* The recognized comments are (comment matching is case-insensitive): *
* + TODO: the entry has never been translated. *
* + DIRTY: the entry has been translated but needs to be updated. *
* + IGNORE: the entry does not need to be translated. *
* When a comment is not recognized, it is discarded. *
******************************************************************************/
return array(
'archiving' => array(
'_' => 'Archivage',
'exception' => 'Exception de nettoyage',
'help' => 'Dautres options sont disponibles dans la configuration individuelle des flux.',
'keep_favourites' => 'Ne jamais supprimer les articles favoris',
'keep_labels' => 'Ne jamais supprimer les articles étiquetés',
'keep_max' => 'Nombre maximum darticles à conserver par flux',
'keep_min_by_feed' => 'Nombre minimum darticles à conserver par flux',
'keep_period' => 'Âge maximum des articles à conserver',
'keep_unreads' => 'Ne jamais supprimer les articles non lus',
'maintenance' => 'Maintenance', // IGNORE
'optimize' => 'Optimiser la base de données',
'optimize_help' => 'À faire de temps en temps pour réduire la taille de la BDD',
'policy' => 'Politique de nettoyage',
'policy_warning' => 'Si aucune politique de nettoyage nest sélectionnée, tous les articles seront conservés.',
'purge_now' => 'Purger maintenant',
'title' => 'Archivage',
'ttl' => 'Ne pas automatiquement rafraîchir plus souvent que',
),
'display' => array(
'_' => 'Affichage',
'darkMode' => array(
'_' => 'Mode sombre automatique',
'auto' => 'Auto', // IGNORE
'help' => 'Seulement pour les thèmes compatibles',
'no' => 'Non',
),
'icon' => array(
'bottom_line' => 'Ligne du bas',
'display_authors' => 'Auteurs',
'entry' => 'Icônes darticle',
'publication_date' => 'Date de publication',
'related_tags' => 'Tags de larticle',
'sharing' => 'Partage',
'summary' => 'Résumé',
'top_line' => 'Ligne du haut',
),
'language' => 'Langue',
'notif_html5' => array(
'seconds' => 'secondes (0 signifie aucun timeout)',
'timeout' => 'Temps daffichage de la notification HTML5',
),
'show_nav_buttons' => 'Afficher les boutons de navigation',
'theme' => array(
'_' => 'Thème',
'deprecated' => array(
'_' => 'Obsolète',
'description' => 'Ce thème est obsolète et sera supprimé dans une <a href="https://freshrss.github.io/FreshRSS/fr/users/05_Configuration.html#th%C3%A8me" target="_blank">future version de FreshRSS</a>',
),
),
'theme_not_available' => 'Le thème <em>%s</em> nest plus disponible. Veuillez choisir un autre thème.',
'thumbnail' => array(
'label' => 'Miniature',
'landscape' => 'Paysage',
'none' => 'Sans',
'portrait' => 'Portrait', // IGNORE
'square' => 'Carrée',
),
'timezone' => 'Fuseau horaire',
'title' => 'Affichage',
'website' => array(
'full' => 'Icône et nom',
'icon' => 'Icône seulement',
'label' => 'Site Web',
'name' => 'Nom seulement',
'none' => 'Aucun',
),
'width' => array(
'content' => 'Largeur du contenu',
'large' => 'Large', // IGNORE
'medium' => 'Moyenne',
'no_limit' => 'Pas de limite',
'thin' => 'Fine',
),
),
'logs' => array(
'loglist' => array(
'level' => 'Niveau de sévérité',
'message' => 'Message de journal',
'timestamp' => 'Horodatage',
),
'pagination' => array(
'first' => 'Début',
'last' => 'Fin',
'next' => 'Suivant',
'previous' => 'Précédent',
),
),
'mark_read_button' => array(
'_' => 'Bouton « Marquer tout comme lu »',
'big' => 'Gros',
'none' => 'Aucun',
'small' => 'Petit',
),
'notification' => array(
'html5_enable_notif' => 'Activer les notifications',
),
'notification_timeout' => array(
'bad' => array(
'label' => 'Afficher la bannière davertissement',
'seconds' => 'secondes (au moins 1)',
),
'good' => array(
'label' => 'Afficher la bannière de confirmation',
'seconds' => 'secondes (0 pour désactiver)',
),
),
'privacy' => array(
'_' => 'Vie privée',
'retrieve_extension_list' => 'Récupération de la liste des extensions',
),
'profile' => array(
'_' => 'Gestion du profil',
'api' => array(
'_' => 'Gestion de lAPI',
'api_not_set' => 'Pas de mot de passe API défini',
'api_set' => 'Mot de passe API enregistré',
'check_link' => 'Vérifier létat de lAPI via : <kbd><a href="../api/" target="_blank">%s</a></kbd>',
'disabled' => 'Laccès API est désactivé.',
'documentation_link' => 'Voir <a href="https://freshrss.github.io/FreshRSS/fr/users/06_Mobile_access.html" target="_blank">la documentation et une liste dapplications compatibles</a>',
'help' => 'Voir <a href="https://freshrss.github.io/FreshRSS/fr/users/06_Mobile_access.html" target=_blank>la documentation</a>',
),
'change_password' => 'Changer le mot de passe',
'confirm_new_password' => 'Confirmer le mot de passe',
'current_password' => 'Mot de passe actuel<br /><small>(pour connexion par formulaire)</small>',
'delete' => array(
'_' => 'Suppression du compte',
'warn' => 'Le compte et toutes les données associées vont être supprimées.',
),
'email' => 'Adresse électronique',
'new_password' => 'Nouveau mot de passe',
'password_api' => 'Mot de passe API<br /><small>(ex. : pour applis mobiles)</small>',
'password_format' => '7 caractères minimum',
'title' => 'Profil',
),
'query' => array(
'_' => 'Filtres utilisateurs',
'deprecated' => 'Ce filtre nest plus valide. La catégorie ou le flux concerné a été supprimé.',
'description' => 'Description', // IGNORE
'filter' => array(
'_' => 'Filtres appliqués :',
'categories' => 'Afficher par catégorie',
'feeds' => 'Afficher par flux',
'order' => 'Tri par date',
'publish_labels_instead_of_tags' => 'Remplacer les <i>tags des flux</i> par les <i>étiquettes dutilisateur</i> dans le RSS partagé',
'search' => 'Expression', // IGNORE
'shareOpml' => 'Active le partage par OPML des catégories et flux correspondants',
'shareRss' => 'Active le partage par HTML &amp; RSS',
'state' => 'État',
'tags' => 'Afficher par étiquette',
'type' => 'Type', // IGNORE
),
'get_A' => 'Tous les flux, y compris ceux limités à leur catégorie',
'get_Z' => 'Tous les flux, y compris les archivés',
'get_all' => 'Afficher tous les articles',
'get_all_labels' => 'Afficher les articles avec une étiquette',
'get_category' => 'Afficher la catégorie <em>%s<em>',
'get_favorite' => 'Afficher les articles favoris',
'get_feed' => 'Afficher le flux <em>%s</em>',
'get_important' => 'Afficher les articles des flux importants',
'get_label' => 'Afficher les articles avec létiquette “%s”',
'help' => 'Voir la <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">documentation pour les filtres utilisateurs et repartage par HTML / RSS / OPML</a>.',
'image_url' => 'URL de limage',
'name' => 'Nom',
'no_filter' => 'Aucun filtre appliqué',
'no_queries' => array(
'_' => 'Aucun filtre utilisateur na été sauvegardé.',
'help' => 'Voir <a href="https://freshrss.github.io/FreshRSS/en/users/user_queries.html" target="_blank">la documentation</a>',
),
'number' => 'Filtre n°%d',
'order_asc' => 'Afficher les articles les plus anciens en premier',
'order_desc' => 'Afficher les articles les plus récents en premier',
'search' => 'Recherche de « %s »',
'share' => array(
'_' => 'Partager ce filtre par lien',
'disabled' => array(
'_' => 'désactivé',
'title' => 'Partager',
),
'greader' => 'Lien partageable au format JSON GReader',
'help' => 'Donner ce lien pour partager le contenu du filtre avec dautres personnes',
'html' => 'Lien partageable de la page HTML',
'opml' => 'Lien partageable de la liste des flux au format OPML',
'rss' => 'Lien partageable du flux RSS',
),
'state_0' => 'Afficher tous les articles',
'state_1' => 'Afficher les articles lus',
'state_2' => 'Afficher les articles non lus',
'state_3' => 'Afficher tous les articles',
'state_4' => 'Afficher les articles favoris',
'state_5' => 'Afficher les articles lus et favoris',
'state_6' => 'Afficher les articles non lus et favoris',
'state_7' => 'Afficher les articles favoris',
'state_8' => 'Afficher les articles non favoris',
'state_9' => 'Afficher les articles lus et non favoris',
'state_10' => 'Afficher les articles non lus et non favoris',
'state_11' => 'Afficher les articles non favoris',
'state_12' => 'Afficher tous les articles',
'state_13' => 'Afficher les articles lus',
'state_14' => 'Afficher les articles non lus',
'state_15' => 'Afficher tous les articles',
'title' => 'Filtres utilisateurs',
),
'reading' => array(
'_' => 'Lecture',
'after_onread' => 'Après « Marquer tout comme lu »,',
'always_show_favorites' => 'Afficher par défaut tous les articles dans les favoris',
'apply_to_individual_feed' => 'Sapplique aux flux individuellement',
'article' => array(
'authors_date' => array(
'_' => 'Auteurs et date',
'both' => 'En en-tête et en pied darticle',
'footer' => 'En pied darticle',
'header' => 'En en-tête',
'none' => 'Caché',
),
'feed_name' => array(
'above_title' => 'Au-dessus du titre',
'none' => 'Caché',
'with_authors' => 'Sur la ligne « Auteurs et date »',
),
'feed_title' => 'Titre du flux',
'icons' => array(
'_' => 'Position des icônes darticle<br /><small>(Vue lecture seulement)</small>',
'above_title' => 'Au dessus du titre',
'with_authors' => 'Sur la ligne auteur et date',
),
'tags' => array(
'_' => 'Tags', // IGNORE
'both' => 'En en-tête et en pied darticle',
'footer' => 'En pied darticle',
'header' => 'En en-tête',
'none' => 'Caché',
),
'tags_max' => array(
'_' => 'Nombre maximum de tags affichés',
'help' => '0 pour afficher tous les tags sans menu déroulant',
),
),
'articles_per_page' => 'Nombre darticles par page',
'auto_load_more' => 'Charger les articles suivants en bas de page',
'auto_remove_article' => 'Cacher les articles après lecture',
'confirm_enabled' => 'Afficher une confirmation lors des actions « Marquer tout comme lu »',
'display_articles_unfolded' => 'Afficher les articles dépliés par défaut',
'display_categories_unfolded' => 'Catégories à déplier',
'headline' => array(
'articles' => 'Articles : ouverture/fermeture',
'articles_header_footer' => 'Articles : en-tête / pied darticle',
'categories' => 'Navigation de gauche : catégories',
'mark_as_read' => 'Marquer les articles comme lus',
'misc' => 'Divers',
'view' => 'Vue',
),
'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',
'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(
'article_open_on_website' => 'lorsque larticle est ouvert sur le site dorigine',
'article_viewed' => 'lorsque larticle est affiché',
'focus' => 'lorsque larticle est sélectionné (sauf pour les flux importants)',
'keep_max_n_unread' => 'Nombre maximum darticles conservés non lus',
'scroll' => 'au défilement de la page (sauf pour les flux importants)',
'upon_gone' => 'lorsquil nest plus dans le flux dactualités en amont',
'upon_reception' => 'dès la réception du nouvel article',
'when' => 'Marquer un article comme lu…',
'when_same_title_in_category' => 'si un même titre existe déjà dans les <i>n</i> articles plus récents de la catégorie',
'when_same_title_in_feed' => 'si un même titre existe déjà dans les <i>n</i> articles plus récents du flux',
),
'show' => array(
'_' => 'Articles à afficher',
'active_category' => 'La catégorie active',
'adaptive' => 'Afficher les non lus sil y en a, sinon tous les articles',
'all_articles' => 'Afficher tous les articles',
'all_categories' => 'Toutes les catégories',
'no_category' => 'Aucune catégorie',
'remember_categories' => 'Se souvenir des catégories dépliées',
'unread' => 'Afficher les non lus',
'unread_or_favorite' => 'Afficher les non lus et les favoris',
),
'show_fav_unread_help' => 'Sapplique aussi aux étiquettes',
'sides_close_article' => 'Cliquer hors de la zone de texte ferme larticle',
'star' => array(
'when' => 'Marquer un article comme favori…',
),
'sticky_post' => 'Aligner larticle en haut quand il est ouvert',
'title' => 'Lecture',
'view' => array(
'default' => 'Vue par défaut',
'global' => 'Vue globale',
'normal' => 'Vue normale',
'reader' => 'Vue lecture',
),
),
'sharing' => array(
'_' => 'Partage',
'add' => 'Ajouter une méthode de partage',
'bluesky' => 'Bluesky', // IGNORE
'deprecated' => 'Ce service est obsolète et sera supprimé dans une <a href="https://freshrss.github.io/FreshRSS/en/users/08_sharing_services.html" title="Voir la documentation" target="_blank">prochaine version de FreshRSS</a>.',
'diaspora' => 'Diaspora*', // IGNORE
'email' => 'Courriel',
'facebook' => 'Facebook', // IGNORE
'more_information' => 'Plus dinformations',
'print' => 'Imprimer',
'raindrop' => 'Raindrop.io', // IGNORE
'remove' => 'Supprimer la méthode de partage',
'shaarli' => 'Shaarli', // IGNORE
'share_name' => 'Nom du partage à afficher',
'share_url' => 'URL du partage à utiliser',
'title' => 'Partage',
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag', // IGNORE
),
'shortcut' => array(
'_' => 'Raccourcis',
'article_action' => 'Actions associées à larticle courant',
'auto_share' => 'Partager',
'auto_share_help' => 'Sil ny a quun mode de partage, celui-ci est utilisé automatiquement. Sinon ils sont accessibles par leur numéro.',
'close_menus' => 'Fermer les menus',
'collapse_article' => 'Refermer',
'first_article' => 'Passer au premier article',
'focus_search' => 'Accéder à la recherche',
'global_view' => 'Basculer vers la vue globale',
'help' => 'Afficher la documentation',
'javascript' => 'Le JavaScript doit être activé pour pouvoir profiter des raccourcis.',
'last_article' => 'Passer au dernier article',
'load_more' => 'Charger plus darticles',
'mark_favorite' => 'Basculer lindicateur de favori',
'mark_read' => 'Basculer lindicateur de lecture',
'navigation' => 'Navigation', // IGNORE
'navigation_help' => 'Avec le modificateur <kbd>⇧ Maj</kbd>, les raccourcis de navigation sappliquent aux flux.<br />Avec le modificateur <kbd>Alt ⎇</kbd>, les raccourcis de navigation sappliquent aux catégories.',
'navigation_no_mod_help' => 'Les raccourcis suivant ne supportent pas les modificateurs.',
'next_article' => 'Passer à larticle suivant',
'next_unread_article' => 'Passer à larticle non lu suivant',
'non_standard' => 'Certains raccourcis (<kbd>%s</kbd>) peuvent ne pas fonctionner.',
'normal_view' => 'Basculer vers la vue normale',
'other_action' => 'Autres actions',
'previous_article' => 'Passer à larticle précédent',
'reading_view' => 'Basculer vers la vue lecture',
'rss_view' => 'Ouvrir en tant que flux RSS ',
'see_on_website' => 'Voir sur le site dorigine',
'shift_for_all_read' => '+ <kbd>Alt ⎇</kbd> pour marquer les articles précédents comme lus<br />+ <kbd>⇧ Maj</kbd> pour marquer tous les articles comme lus',
'skip_next_article' => 'Passer au suivant sans ouvrir',
'skip_previous_article' => 'Passer au précédent sans ouvrir',
'title' => 'Raccourcis',
'toggle_aside' => 'Afficher/masquer la barre latérale',
'toggle_media' => 'Lire/arrêter le média',
'user_filter' => 'Accéder aux filtres utilisateur',
'user_filter_help' => 'Sil ny a quun filtre utilisateur, celui-ci est utilisé automatiquement. Sinon ils sont accessibles par leur numéro.',
'views' => 'Vues',
),
'user' => array(
'articles_and_size' => '%s articles (%s)', // IGNORE
'current' => 'Utilisateur actuel',
'is_admin' => 'est administrateur',
'users' => 'Utilisateurs',
),
);