From 059dce31140029bb0c0c0707aca79b6f7dbd7e92 Mon Sep 17 00:00:00 2001 From: vicrodh <103399283+vicrodh@users.noreply.github.com> Date: Mon, 2 Feb 2026 18:14:32 -0600 Subject: [PATCH] i18n: translate PlaylistModal to Spanish - Translated modal titles (new/edit/add to playlist) - Translated form labels and placeholders - Translated buttons (create, save, cancel, delete) - Translated track count and playlist count labels - Added missing translation keys for actions (add, create, deleteConfirm) - Used get(t) in $derived() to avoid PostCSS extraction issues --- src/lib/components/PlaylistModal.svelte | 54 +++++++++++++------------ src/lib/i18n/locales/en.json | 21 +++++++++- src/lib/i18n/locales/es.json | 21 +++++++++- 3 files changed, 68 insertions(+), 28 deletions(-) diff --git a/src/lib/components/PlaylistModal.svelte b/src/lib/components/PlaylistModal.svelte index 4a4e00158..01d42c292 100644 --- a/src/lib/components/PlaylistModal.svelte +++ b/src/lib/components/PlaylistModal.svelte @@ -5,6 +5,7 @@ import { subscribe as subscribeOffline, getStatus, createPendingPlaylist } from '$lib/stores/offlineStore'; import { showToast } from '$lib/stores/toastStore'; import { t } from '$lib/i18n'; + import { get } from 'svelte/store'; import { subscribe as subscribeFolders, getVisibleFolders, @@ -107,10 +108,11 @@ // Get display text for selected playlist const selectedPlaylistDisplay = $derived(() => { + const translate = get(t); if (selectedPlaylistId === null) return ''; - if (selectedPlaylistId === CREATE_NEW_PLAYLIST) return '+ Create new playlist'; + if (selectedPlaylistId === CREATE_NEW_PLAYLIST) return '+ ' + translate('playlist.createNewPlaylist'); const pl = userPlaylists.find(p => p.id === selectedPlaylistId); - return pl ? `${pl.name} (${getTotalTrackCount(pl)} tracks)` : ''; + return pl ? translate('playlist.playlistWithTracks', { count: getTotalTrackCount(pl), name: pl.name }) : ''; }); // Handle dropdown item click @@ -519,11 +521,11 @@ @@ -639,14 +641,14 @@