mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
f3a0b3f7af
* fix(artist-detail): keep ext-link border visible on hover Hover used --border-subtle, which on Catppuccin matches --bg-card and visually erased the rim while only the fill changed. Match btn-surface: --ctp-surface1 border, --ctp-overlay0 on hover. * docs(changelog): credit zunoz on Psysonic Discord for PR #966 * fix(playlists): tooltips on Play/Add Songs and song count pluralization Add data-tooltip to Play and Add Songs in playlist hero; switch playlists.songs to count-based _one/_other forms (was {{n}} without i18next plural suffix, breaking spacing and singular). * fix(playlists): render BPM and optional cols in Suggested Songs rows PlaylistSuggestions shared column headers with the main tracklist but its row switch omitted bpm, genre, playCount, and lastPlayed.
105 lines
4.6 KiB
TypeScript
105 lines
4.6 KiB
TypeScript
export const playlists = {
|
|
title: 'Listas de Reproducción',
|
|
newPlaylist: 'Nueva Lista',
|
|
unnamed: 'Lista sin nombre',
|
|
createName: 'Nombre de lista…',
|
|
create: 'Crear',
|
|
cancel: 'Cancelar',
|
|
empty: 'Aún no hay listas.',
|
|
emptyPlaylist: 'Esta lista está vacía.',
|
|
addFirstSong: 'Agrega tu primera canción',
|
|
notFound: 'Lista no encontrada.',
|
|
songs_one: '{{count}} canción',
|
|
songs_other: '{{count}} canciones',
|
|
playAll: 'Reproducir Todo',
|
|
playTooltip: 'Reproducir lista',
|
|
shuffle: 'Aleatorio',
|
|
addToQueue: 'Agregar a Cola',
|
|
back: 'Volver a Listas',
|
|
deletePlaylist: 'Eliminar',
|
|
confirmDelete: 'Click de nuevo para confirmar',
|
|
removeSong: 'Quitar de lista',
|
|
addSongs: 'Agregar Canciones',
|
|
addSongsTooltip: 'Buscar en la biblioteca y agregar canciones',
|
|
searchPlaceholder: 'Buscar en tu biblioteca…',
|
|
noResults: 'Sin resultados.',
|
|
suggestions: 'Canciones Sugeridas',
|
|
noSuggestions: 'No hay sugerencias disponibles.',
|
|
titleBadge: 'Lista',
|
|
refreshSuggestions: 'Nuevas sugerencias',
|
|
addSong: 'Agregar a lista',
|
|
preview: 'Vista previa (30 s)',
|
|
previewStop: 'Detener vista previa',
|
|
playNextSuggestion: 'Reproducir a continuación',
|
|
suggestionsHint: 'Doble clic en una fila para añadirla a la lista',
|
|
addSelected: 'Agregar seleccionados',
|
|
cacheOffline: 'Guardar lista offline',
|
|
offlineCached: 'Lista guardada',
|
|
removeOffline: 'Quitar de caché offline',
|
|
offlineDownloading: 'Descargando… ({{done}}/{{total}} álbumes)',
|
|
publicLabel: 'Pública',
|
|
privateLabel: 'Privada',
|
|
editMeta: 'Editar lista',
|
|
editNamePlaceholder: 'Nombre de lista…',
|
|
editCommentPlaceholder: 'Agregar descripción…',
|
|
editPublic: 'Lista pública',
|
|
editSave: 'Guardar',
|
|
editCancel: 'Cancelar',
|
|
changeCover: 'Cambiar imagen de portada',
|
|
changeCoverLabel: 'Cambiar foto',
|
|
removeCover: 'Quitar foto',
|
|
coverUpdated: 'Portada actualizada',
|
|
metaSaved: 'Lista actualizada',
|
|
downloadZip: 'Descargar (ZIP)',
|
|
// Toast notifications for multi-select
|
|
addSuccess: '{{count}} canciones agregadas a {{playlist}}',
|
|
addPartial: '{{added}} agregadas, {{skipped}} skippeadas por duplicadas',
|
|
addAllSkipped: 'Todas skippeadas ({{count}} duplicadas)',
|
|
addedAsDuplicates: '{{count}} canciones añadidas a {{playlist}} (como duplicados)',
|
|
duplicateConfirmTitle: 'Ya en la lista',
|
|
duplicateConfirmMessage: 'Las {{count}} canciones ya están en "{{playlist}}". ¿Añadirlas igualmente como duplicados?',
|
|
duplicateConfirmAction: 'Añadir igualmente',
|
|
addError: 'Error al agregar canciones',
|
|
createAndAddSuccess: 'Lista "{{playlist}}" creada con {{count}} canciones',
|
|
createError: 'Error al crear lista',
|
|
deleteSuccess: '{{count}} listas eliminadas',
|
|
deleteFailed: 'Error al eliminar {{name}}',
|
|
deleteSelected: 'Eliminar seleccionadas',
|
|
deleteSelectedPartial: 'Solo {{n}} de {{total}} listas seleccionadas pueden eliminarse (las demás pertenecen a otro usuario).',
|
|
mergeSuccess: '{{count}} canciones unificadas en {{playlist}}',
|
|
mergeNoNewSongs: 'No hay canciones nuevas para agregar',
|
|
mergeError: 'Error al unificar listas',
|
|
mergeInto: 'Unificar en',
|
|
selectionCount: '{{count}} seleccionadas',
|
|
select: 'Seleccionar',
|
|
startSelect: 'Activar selección',
|
|
cancelSelect: 'Cancelar',
|
|
loadingAlbums: 'Resolviendo {{count}} álbumes…',
|
|
loadingArtists: 'Resolviendo {{count}} artistas…',
|
|
myPlaylists: 'Mis Listas',
|
|
noOtherPlaylists: 'No hay otras listas disponibles',
|
|
addToPlaylistSuccess: '{{count}} canciones agregadas a {{playlist}}',
|
|
addToPlaylistNoNew: 'No hay canciones nuevas para agregar a {{playlist}}',
|
|
addToPlaylistError: 'Error al agregar a la lista',
|
|
removeSuccess: 'Canción quitada de la playlist',
|
|
removeError: 'Error al quitar la canción de la playlist',
|
|
importCSV: 'Importar CSV',
|
|
importCSVTooltip: 'Importar desde CSV de Spotify',
|
|
csvImportReport: 'Reporte de Importación CSV',
|
|
csvImportTotal: 'Total',
|
|
csvImportAdded: 'Agregadas',
|
|
csvImportDuplicates: 'Duplicadas',
|
|
csvImportNotFound: 'No Encontradas',
|
|
csvImportNetworkErrors: 'Errores de Red',
|
|
csvImportDuplicatesTitle: 'Canciones Duplicadas (Ya en la Lista):',
|
|
csvImportNotFoundTitle: 'Canciones No Encontradas:',
|
|
csvImportNetworkErrorsTitle: 'Errores de Red (puede reintentar la importación):',
|
|
csvImportDownloadReport: 'Descargar Reporte',
|
|
csvImportClose: 'Cerrar',
|
|
csvImportNoValidTracks: 'No se encontraron canciones válidas en el archivo CSV',
|
|
csvImportFailed: 'Error al importar el archivo CSV',
|
|
csvImportToast: '{{added}} agregadas, {{notFound}} no encontradas, {{duplicates}} duplicadas',
|
|
csvImportDownloadSuccess: 'Reporte descargado exitosamente',
|
|
csvImportDownloadError: 'Error al descargar el reporte',
|
|
};
|