mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 07:15:47 +00:00
2409a1fec8
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.
102 lines
4.6 KiB
TypeScript
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',
|
|
};
|