Files
Psychotoxical-psysonic/src/locales/fr/playlists.ts
T
Frank Stellmacher 2409a1fec8 refactor(i18n): split locale files into per-namespace modules (Phase K) (#688)
Each src/locales/<lang>.ts (~1800 LOC) becomes a folder src/locales/<lang>/
with one module per i18n namespace (44 each) plus an index.ts barrel that
reassembles <lang>Translation in the original key order.

Mechanical, script-driven split with a JSON round-trip check: every
locale object is byte-identical to its pre-split form. i18n.ts is
unchanged — './locales/<lang>' now resolves to the folder index.

The per-namespace settings.ts files land ~440-460 LOC; a single i18n
namespace is the natural, non-arbitrary split unit for a flat string
table, so they are intentionally left whole.
2026-05-14 14:06:31 +02:00

102 lines
4.6 KiB
TypeScript

export const playlists = {
title: 'Playlists',
newPlaylist: 'Nouvelle playlist',
unnamed: 'Playlist sans nom',
createName: 'Nom de la playlist…',
create: 'Créer',
cancel: 'Annuler',
empty: 'Aucune playlist pour l\'instant.',
emptyPlaylist: 'Cette playlist est vide.',
addFirstSong: 'Ajouter votre premier titre',
notFound: 'Playlist introuvable.',
songs: '{{n}} titres',
playAll: 'Tout lire',
shuffle: 'Aléatoire',
addToQueue: 'Ajouter à la file',
back: 'Retour aux playlists',
deletePlaylist: 'Supprimer',
confirmDelete: 'Cliquer à nouveau pour confirmer',
removeSong: 'Retirer de la playlist',
addSongs: 'Ajouter des titres',
searchPlaceholder: 'Rechercher dans la bibliothèque…',
noResults: 'Aucun résultat.',
suggestions: 'Titres suggérés',
noSuggestions: 'Aucune suggestion disponible.',
titleBadge: 'Playlist',
refreshSuggestions: 'Nouvelles suggestions',
addSong: 'Ajouter à la playlist',
preview: 'Aperçu (30 s)',
previewStop: 'Arrêter l\'aperçu',
playNextSuggestion: 'Lire ensuite',
suggestionsHint: "Double-cliquez sur une ligne pour l'ajouter à la playlist",
addSelected: 'Ajouter la sélection',
cacheOffline: 'Mettre la playlist hors ligne',
offlineCached: 'Playlist en cache',
removeOffline: 'Retirer du cache hors ligne',
offlineDownloading: 'En cache… ({{done}}/{{total}} albums)',
publicLabel: 'Publique',
privateLabel: 'Privée',
editMeta: 'Modifier la playlist',
editNamePlaceholder: 'Nom de la playlist…',
editCommentPlaceholder: 'Ajouter une description…',
editPublic: 'Playlist publique',
editSave: 'Enregistrer',
editCancel: 'Annuler',
changeCover: 'Changer la pochette',
changeCoverLabel: 'Changer la photo',
removeCover: 'Supprimer la photo',
coverUpdated: 'Pochette mise à jour',
metaSaved: 'Playlist mise à jour',
downloadZip: 'Télécharger (ZIP)',
// Toast notifications for multi-select
addSuccess: '{{count}} morceaux ajoutés à {{playlist}}',
addPartial: '{{added}} ajoutés, {{skipped}} ignorés (doublons)',
addAllSkipped: 'Tous ignorés ({{count}} doublons)',
addedAsDuplicates: '{{count}} morceaux ajoutés à {{playlist}} (en doublons)',
duplicateConfirmTitle: 'Déjà dans la playlist',
duplicateConfirmMessage: 'Les {{count}} morceaux sont déjà dans « {{playlist}} ». Les ajouter quand même en doublons ?',
duplicateConfirmAction: 'Ajouter quand même',
addError: 'Erreur lors de l\'ajout des morceaux',
createAndAddSuccess: 'Playlist "{{playlist}}" créée avec {{count}} morceaux',
createError: 'Erreur lors de la création de la playlist',
deleteSuccess: '{{count}} playlists supprimées',
deleteFailed: 'Erreur lors de la suppression de {{name}}',
deleteSelected: 'Supprimer la sélection',
deleteSelectedPartial: 'Seulement {{n}} des {{total}} playlists sélectionnées peuvent être supprimées (les autres appartiennent à quelqu\'un d\'autre).',
mergeSuccess: '{{count}} morceaux fusionnés dans {{playlist}}',
mergeNoNewSongs: 'Aucun nouveau morceau à ajouter',
mergeError: 'Erreur lors de la fusion des playlists',
mergeInto: 'Fusionner dans',
selectionCount: '{{count}} sélectionnés',
select: 'Sélectionner',
startSelect: 'Activer la sélection',
cancelSelect: 'Annuler',
loadingAlbums: 'Résolution de {{count}} albums…',
loadingArtists: 'Résolution de {{count}} artistes…',
myPlaylists: 'Mes Playlists',
noOtherPlaylists: 'Aucune autre playlist disponible',
addToPlaylistSuccess: '{{count}} morceaux ajoutés à {{playlist}}',
addToPlaylistNoNew: 'Aucun nouveau morceau pour {{playlist}}',
addToPlaylistError: 'Erreur lors de l\'ajout à la playlist',
removeSuccess: 'Morceau retiré de la playlist',
removeError: 'Erreur lors du retrait de la playlist',
importCSV: 'Importer CSV',
importCSVTooltip: 'Importer depuis CSV Spotify',
csvImportReport: 'Rapport d\'Import CSV',
csvImportTotal: 'Total',
csvImportAdded: 'Ajoutés',
csvImportDuplicates: 'Doublons',
csvImportNotFound: 'Non Trouvés',
csvImportNetworkErrors: 'Erreurs Réseau',
csvImportDuplicatesTitle: 'Titres en Doublon (Déjà dans la Playlist):',
csvImportNotFoundTitle: 'Titres Non Trouvés:',
csvImportNetworkErrorsTitle: 'Erreurs Réseau (peut réessayer l\'import):',
csvImportDownloadReport: 'Télécharger le Rapport',
csvImportClose: 'Fermer',
csvImportNoValidTracks: 'Aucun titre valide trouvé dans le fichier CSV',
csvImportFailed: 'Échec de l\'import CSV',
csvImportToast: '{{added}} ajoutés, {{notFound}} non trouvés, {{duplicates}} doublons',
csvImportDownloadSuccess: 'Rapport téléchargé avec succès',
csvImportDownloadError: 'Échec du téléchargement du rapport',
};