mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 15:25:46 +00:00
c119a32277
* feat(tooltip): 2s open delay and shared tooltipAttrs helper Add a 2s hover open delay in TooltipPortal (single behaviour source) so tooltips no longer flash on quick pointer passes; hiding stays immediate. Add tooltipAttrs() to pair data-tooltip with a matching aria-label for buttons touched in the unification work. Covered by Vitest. * feat(tooltip): lower open delay to 1s 2s felt too long in testing; 1s gives the same anti-flash behaviour without making intentional hovers wait. * feat(tooltip): action tooltips on the artist overview Add tooltips describing the action to Last.fm, Wikipedia, Play All, Shuffle and Radio. Shuffle/Radio now show a tooltip on desktop too, not just mobile. Strings added to all 9 locales. * feat(tooltip): action tooltips on the album overview Add tooltips describing the action to the desktop Play, Artist Bio and Download (ZIP) buttons, matching the mobile layout. Strings added to all 9 locales. * feat(tooltip): action tooltips on the All Albums toolbar Add tooltips describing the action to the sort, year and genre filter buttons. SortDropdown gains an optional tooltip prop; the year and genre filter components carry their own, so the tooltips also appear on the other browse pages that reuse them. Strings added to all 9 locales. * feat(tooltip): action tooltips on song-list rows Add Play and Add-to-queue tooltips to the per-row icons in SongRow, used by the Tracks browse list, Search and Advanced Search. Also localizes the aria-labels, which were hardcoded English. New common.addToQueue in all 9 locales. * fix(tooltip): uniform tooltip placement on the Artists toolbar The favourite and multi-select buttons forced tooltips below while the view-mode buttons auto-flipped above, so the row looked inconsistent. Pin the view-mode buttons below too, matching the rest of the row and the Albums toolbar. * feat(tooltip): clarify and align the Advanced Search scope row Add a leading "Search in:" label and per-chip tooltips so the All/Artists/Albums/Songs row reads as a scope limiter. Drop the forced below-placement on the small star filter (used only here) so the favourites chip flips with the others instead of sitting alone below. Strings added to all 9 locales. * docs(changelog): tooltip unification (#972)
88 lines
3.9 KiB
TypeScript
88 lines
3.9 KiB
TypeScript
export const search = {
|
|
placeholder: 'Suchen nach Künstler, Album oder Song…',
|
|
noResults: 'Keine Ergebnisse für „{{query}}"',
|
|
artists: 'Künstler',
|
|
albums: 'Alben',
|
|
songs: 'Songs',
|
|
clearLabel: 'Suche leeren',
|
|
addedToQueueToast: '„{{title}}" zur Warteschlange hinzugefügt',
|
|
title: 'Suche',
|
|
resultsFor: 'Ergebnisse für „{{query}}"',
|
|
album: 'Album',
|
|
advanced: 'Erweiterte Suche',
|
|
localIndexBadge: 'Lokaler Index',
|
|
localIndexBadgeTooltip: 'Ergebnisse aus dem lokalen Bibliotheksindex auf diesem Gerät',
|
|
networkSearchBadge: 'Serversuche',
|
|
networkSearchBadgeTooltip: 'Ergebnisse der Live-Suche auf dem verbundenen Server',
|
|
liveSearchFailed: 'Suche fehlgeschlagen — bitte erneut versuchen',
|
|
advancedSearchTerm: 'Suchbegriff',
|
|
advancedSearchPlaceholder: 'Titel, Album, Künstler…',
|
|
advancedGenre: 'Genre',
|
|
advancedAllGenres: 'Alle Genres',
|
|
advancedYear: 'Jahr',
|
|
advancedYearFrom: 'von',
|
|
advancedYearTo: 'bis',
|
|
advancedBpm: 'BPM',
|
|
advancedBpmClear: 'BPM-Filter zurücksetzen',
|
|
advancedLossless: 'Format',
|
|
advancedLosslessOnly: 'Nur Lossless',
|
|
bpmSourceTag: 'BPM from file tag',
|
|
bpmSourceAnalysis: 'BPM from audio analysis',
|
|
advancedMoodGroup: 'Mood',
|
|
advancedAllMoods: 'All moods',
|
|
advancedMoodLocalNote: 'Requires local library index and track analysis',
|
|
scopeRowLabel: 'Suchen in:',
|
|
scopeAllTooltip: 'Alles durchsuchen',
|
|
scopeArtistsChipTooltip: 'Ergebnisse auf Künstler beschränken',
|
|
scopeAlbumsChipTooltip: 'Ergebnisse auf Alben beschränken',
|
|
scopeSongsChipTooltip: 'Ergebnisse auf Titel beschränken',
|
|
advancedAll: 'Alle',
|
|
advancedSearch: 'Suchen',
|
|
advancedEmpty: 'Suchbegriff eingeben oder Filter wählen, um zu beginnen.',
|
|
advancedNoResults: 'Keine Ergebnisse gefunden.',
|
|
advancedGenreNote: 'Songs werden zufällig aus dem Genre gewählt.',
|
|
recentSearches: 'Zuletzt gesucht',
|
|
browse: 'Stöbern',
|
|
emptyHint: 'Was möchtest du hören?',
|
|
scopeArtistsPlaceholder: 'Künstler suchen…',
|
|
scopeArtistsBadgeTooltip: 'Klicken zum Entfernen',
|
|
scopeArtistsGhostTooltip: 'Klicken — nur auf dieser Seite suchen',
|
|
scopeAlbumsPlaceholder: 'Album suchen…',
|
|
scopeAlbumsBadgeTooltip: 'Klicken zum Entfernen',
|
|
scopeAlbumsGhostTooltip: 'Klicken — nur auf dieser Seite suchen',
|
|
scopeNewReleasesPlaceholder: 'Neuerscheinungen suchen…',
|
|
scopeNewReleasesBadgeTooltip: 'Klicken zum Entfernen',
|
|
scopeNewReleasesGhostTooltip: 'Klicken — nur auf dieser Seite suchen',
|
|
scopeTracksPlaceholder: 'Titel, Künstler oder Album suchen…',
|
|
scopeTracksBadgeTooltip: 'Klicken zum Entfernen',
|
|
scopeTracksGhostTooltip: 'Klicken — nur auf dieser Seite suchen',
|
|
scopeComposersPlaceholder: 'Komponist suchen…',
|
|
scopeComposersBadgeTooltip: 'Klicken — entfernen',
|
|
scopeComposersGhostTooltip: 'Klicken — nur auf dieser Seite suchen',
|
|
genres: 'Genres',
|
|
shareLink: 'Share link',
|
|
shareTrackTitle: 'Shared track',
|
|
shareQueueTitle_one: 'Shared queue ({{count}} track)',
|
|
shareQueueTitle_other: 'Shared queue ({{count}} tracks)',
|
|
shareQueueAction: 'Add to queue',
|
|
shareQueueing: 'Adding to queue…',
|
|
shareQueued_one: 'Added {{count}} shared track to queue',
|
|
shareQueued_other: 'Added {{count}} shared tracks to queue',
|
|
shareQueuedPartial: 'Added {{queued}} of {{total}} shared tracks to queue ({{skipped}} not found).',
|
|
shareUnsupportedTitle: 'This share link cannot be used here',
|
|
shareUnsupportedSub: 'Use a track, album, artist, composer, or queue share link.',
|
|
shareFromServer: 'From {{server}}',
|
|
shareQueuePreview: 'Preview tracks',
|
|
shareQueuePreviewLoading: 'Loading tracks…',
|
|
shareQueuePreviewEmpty: 'No tracks from this link could be found on the server.',
|
|
shareQueuePreviewSkipped: '{{skipped}} of {{total}} tracks were not found on this server.',
|
|
moodGroups: {
|
|
joy: 'Joy',
|
|
sadness: 'Sadness',
|
|
dance: 'Dance',
|
|
work: 'Work',
|
|
romance: 'Romance',
|
|
anger: 'Anger',
|
|
},
|
|
};
|