mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-22 15:25:46 +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.
74 lines
3.5 KiB
TypeScript
74 lines
3.5 KiB
TypeScript
export const deviceSync = {
|
|
title: 'Sync appareil',
|
|
targetFolder: 'Dossier cible',
|
|
noFolderChosen: 'Aucun dossier sélectionné',
|
|
selectDrive: 'Sélectionner un lecteur…',
|
|
refreshDrives: 'Actualiser les lecteurs',
|
|
noDrivesDetected: 'Aucun lecteur amovible détecté',
|
|
browseManual: 'Parcourir manuellement…',
|
|
free: 'libre',
|
|
notMountedVolume: 'La cible n\u0027est pas sur un volume monté. Le lecteur a peut-être été déconnecté.',
|
|
chooseFolder: 'Choisir…',
|
|
filenameTemplate: 'Modèle de nom de fichier',
|
|
targetDevice: 'Appareil cible',
|
|
templateHint: 'Variables : {artist}, {album}, {title}, {track_number}, {disc_number}, {year}',
|
|
cleanupButton: 'Supprimer les fichiers absents',
|
|
cleanupNothingToDelete: 'Rien à supprimer — l\'appareil est déjà synchronisé.',
|
|
confirmCleanup: 'Supprimer {{count}} fichier(s) de l\'appareil qui ne font pas partie de la sélection actuelle. Continuer ?',
|
|
cleanupComplete: '{{count}} fichier(s) supprimé(s) de l\'appareil.',
|
|
selectedSources: 'Sources sélectionnées',
|
|
noSourcesSelected: 'Aucune source sélectionnée. Cliquez sur des éléments dans le navigateur pour les ajouter.',
|
|
clearAll: 'Tout effacer',
|
|
tabPlaylists: 'Listes de lecture',
|
|
tabAlbums: 'Albums',
|
|
tabArtists: 'Artistes',
|
|
searchPlaceholder: 'Rechercher…',
|
|
syncButton: 'Synchroniser vers l\'appareil',
|
|
actionTransfer: 'Transférer vers l\'appareil',
|
|
actionDelete: 'Supprimer de l\'appareil',
|
|
actionApplyAll: 'Appliquer toutes les modifications',
|
|
templatePreview: 'Aperçu',
|
|
templatePresetStandard: 'Standard',
|
|
templatePresetMultiDisc: 'Multi-Disc',
|
|
templatePresetAltFolder: 'Dossier alt.',
|
|
tokenSlashHint: '/ = séparateur de dossier',
|
|
cancel: 'Annuler',
|
|
noTargetDir: 'Veuillez d\'abord choisir un dossier cible.',
|
|
noSources: 'Veuillez sélectionner au moins une source.',
|
|
noTracks: 'Aucune piste trouvée dans les sources sélectionnées.',
|
|
fetchError: 'Échec du chargement des pistes depuis le serveur.',
|
|
syncComplete: 'Synchronisation terminée.',
|
|
dismiss: 'Fermer',
|
|
cancelSync: 'Annuler',
|
|
syncCancelled: 'Synchronisation annulée ({{done}} / {{total}} transférés).',
|
|
colName: 'Nom',
|
|
colType: 'Type',
|
|
colStatus: 'Statut',
|
|
onDevice: 'Gestionnaire d\'appareil',
|
|
addSources: 'Ajouter…',
|
|
syncResult: '{{done}} transféré(s), {{skipped}} déjà à jour ({{total}} au total)',
|
|
deleteFromDevice: 'Marquer pour suppression ({{count}})',
|
|
confirmDelete: 'Supprimer {{count}} élément(s) du périphérique : {{names}} ?',
|
|
deleteComplete: '{{count}} élément(s) supprimé(s) du périphérique.',
|
|
manifestImported: '{{count}} source(s) importée(s) depuis le manifeste du périphérique.',
|
|
statusSynced: 'Synchronisé',
|
|
statusPending: 'En attente',
|
|
statusDeletion: 'Suppression',
|
|
markForDeletion: 'Marquer pour suppression',
|
|
removeSource: 'Supprimer',
|
|
undoDeletion: 'Annuler la suppression',
|
|
syncInBackground: 'Sync démarré en arrière-plan — vous pouvez naviguer ailleurs.',
|
|
syncInProgress: '{{done}} / {{total}} pistes…',
|
|
syncSummary: 'Résumé de la synchronisation',
|
|
calculating: 'Calcul de la charge utile…',
|
|
filesToAdd: 'Fichiers à ajouter :',
|
|
filesToDelete: 'Fichiers à supprimer :',
|
|
netChange: 'Variation nette :',
|
|
availableSpace: 'Espace disque disponible :',
|
|
spaceWarning: 'Attention : L\'appareil cible ne dispose pas d\'assez d\'espace signalé.',
|
|
proceed: 'Procéder à la synchronisation',
|
|
notEnoughSpace: 'Espace disque physique insuffisant détecté !',
|
|
liveSearch: 'Live',
|
|
randomAlbumsLabel: 'Albums aléatoires',
|
|
};
|