229 lines
11 KiB
TypeScript
229 lines
11 KiB
TypeScript
export const fr = {
|
|
// Header
|
|
myTube: "MyTube",
|
|
manage: "Gérer",
|
|
settings: "Paramètres",
|
|
logout: "Déconnexion",
|
|
pleaseEnterUrlOrSearchTerm: "Veuillez entrer une URL de vidéo ou un terme de recherche",
|
|
unexpectedErrorOccurred: "Une erreur inattendue s'est produite. Veuillez réessayer.",
|
|
uploadVideo: "Mettre en ligne une vidéo",
|
|
enterUrlOrSearchTerm: "Entrez une URL YouTube/Bilibili ou un terme de recherche",
|
|
manageVideos: "Gérer les vidéos",
|
|
|
|
// Home
|
|
pasteUrl: "Coller l'URL de la vidéo ou de la collection",
|
|
download: "Télécharger",
|
|
search: "Rechercher",
|
|
recentDownloads: "Téléchargements récents",
|
|
noDownloads: "Aucun téléchargement pour le moment",
|
|
downloadStarted: "Téléchargement commencé",
|
|
downloadFailed: "Échec du téléchargement",
|
|
loadingVideos: "Chargement des vidéos...",
|
|
searchResultsFor: "Résultats de recherche pour",
|
|
fromYourLibrary: "De votre bibliothèque",
|
|
noMatchingVideos: "Aucune vidéo correspondante dans votre bibliothèque.",
|
|
fromYouTube: "De YouTube",
|
|
loadingYouTubeResults: "Chargement des résultats YouTube...",
|
|
noYouTubeResults: "Aucun résultat YouTube trouvé",
|
|
noVideosYet: "Aucune vidéo pour le moment. Soumettez une URL YouTube pour télécharger votre première vidéo !",
|
|
views: "vues",
|
|
|
|
// Settings
|
|
general: "Général",
|
|
security: "Sécurité",
|
|
videoDefaults: "Paramètres par défaut du lecteur",
|
|
downloadSettings: "Paramètres de téléchargement",
|
|
language: "Langue",
|
|
enableLogin: "Activer la protection par connexion",
|
|
password: "Mot de passe",
|
|
passwordHelper: "Laisser vide pour conserver le mot de passe actuel, ou taper pour changer",
|
|
passwordSetHelper: "Définir un mot de passe pour accéder à l'application",
|
|
autoPlay: "Lecture automatique des vidéos",
|
|
autoLoop: "Boucle automatique des vidéos",
|
|
maxConcurrent: "Téléchargements simultanés max",
|
|
saveSettings: "Enregistrer les paramètres",
|
|
saving: "Enregistrement...",
|
|
backToManage: "Retour à la gestion",
|
|
settingsSaved: "Paramètres enregistrés avec succès",
|
|
settingsFailed: "Échec de l'enregistrement des paramètres",
|
|
debugMode: "Mode débogage",
|
|
debugModeDescription: "Afficher ou masquer les messages de la console (nécessite une actualisation)",
|
|
tagsManagement: "Gestion des tags",
|
|
newTag: "Nouveau tag",
|
|
tags: "Tags",
|
|
tagsManagementNote: "N'oubliez pas de cliquer sur \"Enregistrer les paramètres\" après avoir ajouté ou supprimé des tags pour appliquer les modifications.",
|
|
|
|
// Database
|
|
database: "Base de données",
|
|
migrateDataDescription: "Migrer les données des fichiers JSON hérités vers la nouvelle base de données SQLite. Cette action peut être exécutée plusieurs fois en toute sécurité (les doublons seront ignorés).",
|
|
migrateDataButton: "Migrer les données depuis JSON",
|
|
scanFiles: "Scanner les fichiers",
|
|
scanFilesSuccess: "Scan terminé. {count} nouvelles vidéos ajoutées.",
|
|
scanFilesFailed: "Échec du scan",
|
|
migrateConfirmation: "Êtes-vous sûr de vouloir migrer les données ? Cela peut prendre quelques instants.",
|
|
migrationResults: "Résultats de la migration",
|
|
migrationReport: "Rapport de migration",
|
|
migrationSuccess: "Migration terminée. Voir les détails dans l'alerte.",
|
|
migrationNoData: "Migration terminée mais aucune donnée trouvée.",
|
|
migrationFailed: "Échec de la migration",
|
|
migrationWarnings: "AVERTISSEMENTS",
|
|
migrationErrors: "ERREURS",
|
|
itemsMigrated: "éléments migrés",
|
|
fileNotFound: "Fichier non trouvé à",
|
|
noDataFilesFound: "Aucun fichier de données trouvé à migrer. Veuillez vérifier vos mappages de volume.",
|
|
removeLegacyData: "Supprimer les données héritées",
|
|
removeLegacyDataDescription: "Supprimer les anciens fichiers JSON (videos.json, collections.json, etc.) pour libérer de l'espace disque. Ne le faites qu'après avoir vérifié que vos données ont été migrées avec succès.",
|
|
removeLegacyDataConfirmTitle: "Supprimer les données héritées ?",
|
|
removeLegacyDataConfirmMessage: "Êtes-vous sûr de vouloir supprimer les fichiers de données JSON hérités ? Cette action est irréversible.",
|
|
legacyDataDeleted: "Données héritées supprimées avec succès.",
|
|
deleteLegacyDataButton: "Supprimer les données héritées",
|
|
cleanupTempFiles: "Nettoyer les fichiers temporaires",
|
|
cleanupTempFilesDescription: "Supprimer tous les fichiers de téléchargement temporaires (.ytdl, .part) du répertoire des téléversements. Cela aide à libérer de l'espace disque des téléchargements incomplets ou annulés.",
|
|
cleanupTempFilesConfirmTitle: "Nettoyer les fichiers temporaires?",
|
|
cleanupTempFilesConfirmMessage: "Cela supprimera définitivement tous les fichiers .ytdl et .part dans le répertoire des téléversements. Assurez-vous qu'il n'y a pas de téléchargements actifs avant de continuer.",
|
|
cleanupTempFilesActiveDownloads: "Impossible de nettoyer pendant que des téléchargements sont actifs. Veuillez attendre la fin de tous les téléchargements ou les annuler d'abord.",
|
|
cleanupTempFilesSuccess: "{count} fichier(s) temporaire(s) supprimé(s) avec succès.",
|
|
cleanupTempFilesFailed: "Échec du nettoyage des fichiers temporaires",
|
|
|
|
// Manage
|
|
manageContent: "Gérer le contenu",
|
|
videos: "Vidéos",
|
|
collections: "Collections",
|
|
allVideos: "Toutes les vidéos",
|
|
delete: "Supprimer",
|
|
backToHome: "Retour à l'accueil",
|
|
confirmDelete: "Êtes-vous sûr de vouloir supprimer ceci ?",
|
|
deleteSuccess: "Supprimé avec succès",
|
|
deleteFailed: "Échec de la suppression",
|
|
noVideos: "Aucune vidéo trouvée",
|
|
noCollections: "Aucune collection trouvée",
|
|
searchVideos: "Rechercher des vidéos...",
|
|
thumbnail: "Miniature",
|
|
title: "Titre",
|
|
author: "Auteur",
|
|
authors: "Auteurs",
|
|
created: "Créé",
|
|
name: "Nom",
|
|
actions: "Actions",
|
|
deleteCollection: "Supprimer la collection",
|
|
deleteVideo: "Supprimer la vidéo",
|
|
noVideosFoundMatching: "Aucune vidéo ne correspond à votre recherche.",
|
|
refreshThumbnail: "Actualiser la miniature",
|
|
|
|
// Video Player
|
|
playing: "Lecture",
|
|
paused: "Pause",
|
|
next: "Suivant",
|
|
previous: "Précédent",
|
|
loop: "Boucle",
|
|
autoPlayOn: "Lecture auto activée",
|
|
autoPlayOff: "Lecture auto désactivée",
|
|
videoNotFound: "Vidéo non trouvée",
|
|
videoNotFoundOrLoaded: "Vidéo non trouvée ou impossible à charger.",
|
|
deleting: "Suppression...",
|
|
addToCollection: "Ajouter à la collection",
|
|
originalLink: "Lien original",
|
|
source: "Source :",
|
|
addedDate: "Date d'ajout :",
|
|
latestComments: "Derniers commentaires",
|
|
noComments: "Aucun commentaire disponible.",
|
|
upNext: "À suivre",
|
|
noOtherVideos: "Aucune autre vidéo disponible",
|
|
currentlyIn: "Actuellement dans :",
|
|
collectionWarning: "L'ajout à une autre collection la supprimera de la collection actuelle.",
|
|
addToExistingCollection: "Ajouter à une collection existante :",
|
|
selectCollection: "Sélectionner une collection",
|
|
add: "Ajouter",
|
|
createNewCollection: "Créer une nouvelle collection :",
|
|
collectionName: "Nom de la collection",
|
|
create: "Créer",
|
|
removeFromCollection: "Retirer de la collection",
|
|
confirmRemoveFromCollection: "Êtes-vous sûr de vouloir retirer cette vidéo de la collection ?",
|
|
remove: "Retirer",
|
|
loadingVideo: "Chargement de la vidéo...",
|
|
current: "(Actuel)",
|
|
rateThisVideo: "Noter cette vidéo",
|
|
enterFullscreen: "Plein écran",
|
|
exitFullscreen: "Quitter le plein écran",
|
|
editTitle: "Modifier le titre",
|
|
titleUpdated: "Titre mis à jour avec succès",
|
|
titleUpdateFailed: "Échec de la mise à jour du titre",
|
|
thumbnailRefreshed: "Miniature actualisée avec succès",
|
|
thumbnailRefreshFailed: "Échec de l'actualisation de la miniature",
|
|
videoUpdated: "Vidéo mise à jour avec succès",
|
|
videoUpdateFailed: "Échec de la mise à jour de la vidéo",
|
|
failedToLoadVideos: "Échec du chargement des vidéos. Veuillez réessayer plus tard.",
|
|
videoRemovedSuccessfully: "Vidéo supprimée avec succès",
|
|
failedToDeleteVideo: "Échec de la suppression de la vidéo",
|
|
pleaseEnterSearchTerm: "Veuillez entrer un terme de recherche",
|
|
failedToSearch: "Échec de la recherche. Veuillez réessayer.",
|
|
searchCancelled: "Recherche annulée",
|
|
|
|
// Login
|
|
signIn: "Se connecter",
|
|
verifying: "Vérification...",
|
|
incorrectPassword: "Mot de passe incorrect",
|
|
loginFailed: "Échec de la vérification du mot de passe",
|
|
defaultPasswordHint: "Mot de passe par défaut : 123",
|
|
|
|
// Collection Page
|
|
loadingCollection: "Chargement de la collection...",
|
|
collectionNotFound: "Collection non trouvée",
|
|
noVideosInCollection: "Aucune vidéo dans cette collection.",
|
|
back: "Retour",
|
|
|
|
// Author Videos
|
|
loadVideosError: "Échec du chargement des vidéos. Veuillez réessayer plus tard.",
|
|
unknownAuthor: "Inconnu",
|
|
noVideosForAuthor: "Aucune vidéo trouvée pour cet auteur.",
|
|
|
|
// Delete Collection Modal
|
|
deleteCollectionTitle: "Supprimer la collection",
|
|
deleteCollectionConfirmation: "Êtes-vous sûr de vouloir supprimer la collection",
|
|
collectionContains: "Cette collection contient",
|
|
deleteCollectionOnly: "Supprimer la collection uniquement",
|
|
deleteCollectionAndVideos: "Supprimer la collection et toutes les vidéos",
|
|
|
|
// Common
|
|
loading: "Chargement...",
|
|
error: "Erreur",
|
|
success: "Succès",
|
|
cancel: "Annuler",
|
|
confirm: "Confirmer",
|
|
save: "Enregistrer",
|
|
on: "On",
|
|
off: "Off",
|
|
|
|
// Video Card
|
|
unknownDate: "Date inconnue",
|
|
part: "Partie",
|
|
collection: "Collection",
|
|
|
|
// Upload Modal
|
|
selectVideoFile: "Sélectionner un fichier vidéo",
|
|
pleaseSelectVideo: "Veuillez sélectionner un fichier vidéo",
|
|
uploadFailed: "Échec de la mise en ligne",
|
|
failedToUpload: "Échec de la mise en ligne de la vidéo",
|
|
uploading: "Mise en ligne...",
|
|
upload: "Mettre en ligne",
|
|
|
|
// Bilibili Modal
|
|
bilibiliCollectionDetected: "Collection Bilibili détectée",
|
|
bilibiliSeriesDetected: "Série Bilibili détectée",
|
|
multiPartVideoDetected: "Vidéo en plusieurs parties détectée",
|
|
collectionHasVideos: "Cette collection Bilibili contient {count} vidéos.",
|
|
seriesHasVideos: "Cette série Bilibili contient {count} vidéos.",
|
|
videoHasParts: "Cette vidéo Bilibili contient {count} parties.",
|
|
downloadAllVideos: "Télécharger les {count} vidéos",
|
|
downloadAllParts: "Télécharger les {count} parties",
|
|
downloadThisVideoOnly: "Télécharger cette vidéo uniquement",
|
|
downloadCurrentPartOnly: "Télécharger la partie actuelle uniquement",
|
|
processing: "Traitement...",
|
|
wouldYouLikeToDownloadAllParts: "Voulez-vous télécharger toutes les parties ?",
|
|
wouldYouLikeToDownloadAllVideos: "Voulez-vous télécharger toutes les vidéos ?",
|
|
allPartsAddedToCollection: "Toutes les parties seront ajoutées à cette collection",
|
|
allVideosAddedToCollection: "Toutes les vidéos seront ajoutées à cette collection",
|
|
queued: "En file d'attente",
|
|
waitingInQueue: "En attente dans la file"
|
|
};
|