feat(ratings): mix cutoff filter for random flows and home, i18n

Apply the same per-axis star cutoff to random mix (multi-batch fetch until
full), random albums, Hero, and Home hero/discover rows. Prefetch artist and
album ratings via Subsonic when list payloads omit them. Exclude items when
0 < rating ≤ threshold; 0 or missing counts as unrated.

Settings: rating filter description interpolates sidebar menu labels; Russian
strings for custom title bar; short axis labels aligned across locales.
This commit is contained in:
Maxim Isaev
2026-04-08 04:57:26 +03:00
parent 8a1d942128
commit 1624880c2a
21 changed files with 557 additions and 137 deletions
+4 -6
View File
@@ -509,17 +509,15 @@ export const frTranslation = {
ratingsSectionTitle: 'Notes',
ratingsSkipStarTitle: 'Passer pour 1 étoile',
ratingsSkipStarDesc:
'Après N sauts manuels du même morceau : note serveur 1 étoile si encore sans note.',
'Après N sauts daffilée : mettre le morceau à 1 étoile. Uniquement sil n’était pas encore noté.',
ratingsSkipStarThresholdLabel: 'Sauts avant 1★',
ratingsSkipStarThresholdHint:
'Uniquement si vous quittez le morceau avec Suivant / touche média « suivant », pas en fin de lecture. Aucun effet si le morceau a déjà au moins 1 étoile.',
ratingsMixFilterTitle: 'Filtrage par note',
ratingsMixFilterDesc:
'Filtrer le contenu peu noté dans les mix aléatoires et les albums aléatoires. Cliquer de nouveau sur la même étoile désactive le seuil.',
ratingsMixMinSong: 'Morceaux (note du titre)',
'Filtrer le contenu peu noté dans {{mix}} et {{albums}}. Cliquer de nouveau sur l’étoile choisie désactive le seuil.',
ratingsMixMinSong: 'Morceaux',
ratingsMixMinAlbum: 'Albums',
ratingsMixMinArtist: 'Artistes',
ratingsMixMinThresholdAria: 'Étoiles minimum ({{label}})',
ratingsMixMinThresholdAria: 'Étoiles minimum : {{label}}',
backupTitle: 'Sauvegarde & Restauration',
backupExport: 'Exporter les paramètres',
backupExportDesc: 'Enregistre tous les paramètres, profils serveur, configuration Last.fm, thème, EQ et raccourcis dans un fichier .psybkp. Les mots de passe sont stockés en clair — conservez le fichier en sécurité.',