fix(seekbar): pulsewave clean connection, retrotape rolling wheel at playhead

Pulsewave: draw flat played line only up to where the Gaussian envelope
starts (startX), eliminating overlap between the flat line and the wave.

Retrotape: replace dual fixed-position reels with a single spinning reel
that tracks the playhead position across the full seek bar width.

fix(i18n): remove literal 'N' from skip-star descriptions in all languages

Replace 'After N skips' with natural phrasing ('after several skips') in
EN, FR, NL, NB, ZH. Simplify ratingsSkipStarThresholdLabel to a single
word (Skips / Sauts / Overslagen / Hopp / 跳过次数). DE was already fixed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Psychotoxical
2026-04-08 12:46:58 +02:00
parent e64d151079
commit f0438cae5e
7 changed files with 80 additions and 84 deletions
+5 -5
View File
@@ -520,13 +520,13 @@ export const deTranslation = {
tabSystem: 'System',
tabGeneral: 'Allgemein',
ratingsSectionTitle: 'Bewertungen',
ratingsSkipStarTitle: 'Überspringen für 1 Stern',
ratingsSkipStarTitle: 'Skip → 1 Stern',
ratingsSkipStarDesc:
'Bei N Überspringen hintereinander: Titel auf 1 Stern setzen. Nur für zuvor unbewertete Titel.',
ratingsSkipStarThresholdLabel: 'Überspringer bis 1★',
ratingsMixFilterTitle: 'Filter nach Bewertung',
'Wird ein Titel mehrmals hintereinander übersprungen, bekommt er automatisch 1★. Nur für noch nicht bewertete Titel.',
ratingsSkipStarThresholdLabel: 'Skips',
ratingsMixFilterTitle: 'Nach Bewertung filtern',
ratingsMixFilterDesc:
'Inhalte mit niedriger Bewertung in {{mix}} und {{albums}} filtern. Erneut auf den gewählten Stern klicken, um die Schwelle zu deaktivieren.',
'Gering bewertete Titel in {{mix}} und {{albums}} ausblenden. Nochmals auf den gewählten Stern klicken, um den Filter zu deaktivieren.',
ratingsMixMinSong: 'Titel',
ratingsMixMinAlbum: 'Alben',
ratingsMixMinArtist: 'Interpreten',
+2 -2
View File
@@ -507,8 +507,8 @@ export const enTranslation = {
ratingsSectionTitle: 'Ratings',
ratingsSkipStarTitle: 'Skip for 1 star',
ratingsSkipStarDesc:
'After N skips in a row, set the track to 1★. Only for tracks not rated before.',
ratingsSkipStarThresholdLabel: 'Skips before 1★',
'After several skips in a row, set the track to 1★. Only for tracks not yet rated.',
ratingsSkipStarThresholdLabel: 'Skips',
ratingsMixFilterTitle: 'Filter by rating',
ratingsMixFilterDesc:
'Filter low-rated items in {{mix}} and {{albums}}. Click the selected star again to turn off the threshold.',
+3 -3
View File
@@ -520,11 +520,11 @@ export const frTranslation = {
ratingsSectionTitle: 'Notes',
ratingsSkipStarTitle: 'Passer pour 1 étoile',
ratingsSkipStarDesc:
'Après N sauts daffilée : mettre le morceau à 1 étoile. Uniquement sil n’était pas encore noté.',
ratingsSkipStarThresholdLabel: 'Sauts avant 1★',
"Après plusieurs sauts daffilée, le morceau passe à 1 étoile. Uniquement sil n’était pas encore noté.",
ratingsSkipStarThresholdLabel: 'Sauts',
ratingsMixFilterTitle: 'Filtrage par note',
ratingsMixFilterDesc:
'Filtrer le contenu peu noté dans {{mix}} et {{albums}}. Cliquer de nouveau sur l’étoile choisie désactive le seuil.',
"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',
+2 -2
View File
@@ -503,8 +503,8 @@ export const nbTranslation = {
ratingsSectionTitle: 'Vurderinger',
ratingsSkipStarTitle: 'Hopp for 1 stjerne',
ratingsSkipStarDesc:
'Etter N hopp på rad: sett sporet til 1 stjerne. Bare for spor som ikke var vurdert før.',
ratingsSkipStarThresholdLabel: 'Hopp før 1★',
'Etter flere hopp på rad: sett sporet til 1 stjerne. Bare for spor som ikke var vurdert før.',
ratingsSkipStarThresholdLabel: 'Hopp',
ratingsMixFilterTitle: 'Filtrering etter vurdering',
ratingsMixFilterDesc:
'Filtrer innhold med lav vurdering i {{mix}} og {{albums}}. Klikk på den valgte stjerna igjen for å slå av terskelen.',
+2 -2
View File
@@ -520,8 +520,8 @@ export const nlTranslation = {
ratingsSectionTitle: 'Beoordelingen',
ratingsSkipStarTitle: 'Overslaan voor 1 ster',
ratingsSkipStarDesc:
'Na N overslagen op rij: nummer op 1 ster zetten. Alleen voor nummers die nog niet beoordeeld waren.',
ratingsSkipStarThresholdLabel: 'Overslagen voor 1★',
'Na meerdere overslagen op rij: nummer op 1 ster zetten. Alleen voor nummers die nog niet beoordeeld waren.',
ratingsSkipStarThresholdLabel: 'Overslagen',
ratingsMixFilterTitle: 'Filter op beoordeling',
ratingsMixFilterDesc:
'Content met lage beoordeling filteren in {{mix}} en {{albums}}. Klik opnieuw op de gekozen ster om de drempel uit te zetten.',
+2 -2
View File
@@ -500,8 +500,8 @@ export const zhTranslation = {
ratingsSectionTitle: '评分',
ratingsSkipStarTitle: '跳过以评 1 星',
ratingsSkipStarDesc:
'连续跳过 N 次后将曲目设为 1 星。仅适用于此前未评分的曲目。',
ratingsSkipStarThresholdLabel: '跳过次数(至 1★)',
'连续多次跳过后将曲目设为 1 星。仅适用于此前未评分的曲目。',
ratingsSkipStarThresholdLabel: '跳过次数',
ratingsMixFilterTitle: '按评分筛选',
ratingsMixFilterDesc:
'在{{mix}}与{{albums}}中筛选低评分内容。再次点击所选星标可关闭阈值。',