fr-fr/strings.psd1

# Fichier de chaînes de caractères en français pour DevDirManager
# Ces chaînes sont utilisées par Write-PSFMessage, Stop-PSFFunction et les blocs de script de validation PSFramework
@{
    # Import-DevDirectoryList
    'ImportDevDirectoryList.Start'                                       = "Démarrage d'Import-DevDirectoryList à partir du chemin : '{0}', Format : '{1}'"
    'ImportDevDirectoryList.ConfigurationFormatExplicit'                 = "Utilisation du format explicitement spécifié : '{0}'"
    'ImportDevDirectoryList.ConfigurationFormatDefault'                  = "Utilisation du format par défaut depuis la configuration : '{0}'"
    'ImportDevDirectoryList.FileNotFound'                                = "Le fichier de liste de référentiels spécifié '{0}' n'existe pas."
    'ImportDevDirectoryList.FileNotFoundWarning'                         = "Fichier d'importation introuvable : '{0}'"
    'ImportDevDirectoryList.Import'                                      = "Lecture de la liste de référentiels depuis : '{0}'"
    'ImportDevDirectoryList.InferFormatFailed'                           = "Impossible de déduire le format d'importation du chemin '{0}'. Spécifiez le paramètre Format."
    'ImportDevDirectoryList.FormatResolved'                              = "Format d'importation résolu : '{0}'"
    'ImportDevDirectoryList.DeserializationStart'                        = "Démarrage de la désérialisation au format {0}"
    'ImportDevDirectoryList.DeserializationCSV'                          = "Utilisation d'Import-Csv pour la désérialisation CSV"
    'ImportDevDirectoryList.TypeConversionCSV'                           = "{0} objets importés depuis CSV, conversion de types en cours"
    'ImportDevDirectoryList.StatusDateParsed'                            = "StatusDate analysé avec succès : '{0}'"
    'ImportDevDirectoryList.CompleteCSV'                                 = "{0} référentiels importés avec succès depuis le fichier CSV"
    'ImportDevDirectoryList.DeserializationJSON'                         = "Utilisation de ConvertFrom-Json pour la désérialisation JSON"
    'ImportDevDirectoryList.EmptyJSON'                                   = "Le fichier JSON est vide ou ne contient que des espaces"
    'ImportDevDirectoryList.TypeConversionJSON'                          = "{0} objets importés depuis JSON, ajout des informations de type"
    'ImportDevDirectoryList.CompleteJSON'                                = "{0} référentiels importés avec succès depuis le fichier JSON"
    'ImportDevDirectoryList.DeserializationXML'                          = "Utilisation d'Import-Clixml pour la désérialisation XML"
    'ImportDevDirectoryList.TypeConversionXML'                           = "{0} objets importés depuis XML, ajout des informations de type"
    'ImportDevDirectoryList.CompleteXML'                                 = "{0} référentiels importés avec succès depuis le fichier XML"

    # Export-DevDirectoryList
    'ExportDevDirectoryList.Start'                                       = "Démarrage d'Export-DevDirectoryList vers le chemin : '{0}', Format : '{1}'"
    'ExportDevDirectoryList.ConfigurationFormatExplicit'                 = "Utilisation du format explicitement spécifié : '{0}'"
    'ExportDevDirectoryList.ConfigurationFormatDefault'                  = "Utilisation du format par défaut depuis la configuration : '{0}'"
    'ExportDevDirectoryList.CollectObject'                               = "Collecte d'objet référentiel dans la liste d'exportation"
    'ExportDevDirectoryList.ProcessExport'                               = "Traitement de l'exportation de {0} objets référentiels"
    'ExportDevDirectoryList.NoRepositoryEntries'                         = "Aucune entrée de référentiel reçue pour l\'exportation."
    'ExportDevDirectoryList.FormatResolved'                              = "Format d'exportation résolu : '{0}'"
    'ExportDevDirectoryList.CreateOutputDirectory'                       = "Création du répertoire de sortie : '{0}'"
    'ExportDevDirectoryList.ActionExport'                                = "Exporter la liste de référentiels au format {0}"
    'ExportDevDirectoryList.ExportCanceled'                              = "Exportation annulée par l'utilisateur (WhatIf/Confirm)"
    'ExportDevDirectoryList.SerializationStart'                          = "Sérialisation de {0} référentiels vers '{1}' au format {2}"
    'ExportDevDirectoryList.SerializationCSV'                            = "Utilisation d'Export-Csv pour la sérialisation CSV"
    'ExportDevDirectoryList.SerializationJSON'                           = "Utilisation de ConvertTo-Json avec profondeur 5 pour la sérialisation JSON"
    'ExportDevDirectoryList.SerializationXML'                            = "Utilisation d'Export-Clixml pour la sérialisation XML"
    'ExportDevDirectoryList.Complete'                                    = "{0} référentiels exportés avec succès vers '{1}' au format {2}"

    # Get-DevDirectory
    'GetDevDirectory.Start'                                              = "Démarrage de Get-DevDirectory avec RootPath : '{0}', SkipRemoteCheck : {1}"
    'GetDevDirectory.ConfigurationRemoteName'                            = "Utilisation du nom distant '{0}' depuis la configuration"
    'GetDevDirectory.ScanStart'                                          = "Analyse de l'arborescence de répertoires à partir de : '{0}'"
    'GetDevDirectory.RepositoryFound'                                    = "Référentiel trouvé à : '{0}'"
    'GetDevDirectory.RemoteCheckStart'                                   = "Vérification de l'accessibilité du distant : '{0}'"
    'GetDevDirectory.RemoteCheckResult'                                  = "Accessibilité du distant pour '{0}' : {1}"
    'GetDevDirectory.RemoteCheckNoUrl'                                   = "Aucune URL distante trouvée pour '{0}', marquage comme inaccessible"
    'GetDevDirectory.DirectoryEnumerationFailed'                         = "Répertoire '{0}' ignoré en raison de {1}."
    'GetDevDirectory.ScanComplete'                                       = "Analyse des référentiels terminée. {0} référentiels trouvés"

    # Restore-DevDirectory
    'RestoreDevDirectory.Start'                                          = "Démarrage de Restore-DevDirectory vers la destination : '{0}', Force : {1}, SkipExisting : {2}, ShowGitOutput : {3}"
    'RestoreDevDirectory.ConfigurationGitExe'                            = "Utilisation de l'exécutable git : '{0}'"
    'RestoreDevDirectory.GitExeResolved'                                 = "Exécutable git résolu vers : '{0}'"
    'RestoreDevDirectory.GitExeNotFound'                                 = "Exécutable git introuvable : '{0}'"
    'RestoreDevDirectory.GitExecutableMissing'                           = "Impossible de localiser l'exécutable git '{0}'. Assurez-vous que Git est installé et disponible dans PATH."
    'RestoreDevDirectory.DestinationNormalized'                          = "Chemin de destination normalisé : '{0}'"
    'RestoreDevDirectory.ProcessingRepositories'                         = "Traitement de {0} référentiels pour la restauration"
    'RestoreDevDirectory.MissingRemoteUrl'                               = "Référentiel ignoré avec RemoteUrl manquant : {0}."
    'RestoreDevDirectory.MissingRelativePath'                            = "Référentiel ignoré avec RelativePath manquant pour le distant {0}."
    'RestoreDevDirectory.UnsafeRelativePath'                             = "Référentiel ignoré avec chemin relatif non sécurisé : {0}."
    'RestoreDevDirectory.OutOfScopePath'                                 = "Référentiel ignoré avec chemin hors de portée : {0}."
    'RestoreDevDirectory.ExistingTargetVerbose'                          = "Cible de référentiel existante {0} ignorée."
    'RestoreDevDirectory.TargetExistsWarning'                            = "Le répertoire cible {0} existe déjà. Utilisez -Force pour écraser ou -SkipExisting pour ignorer."
    'RestoreDevDirectory.ActionClone'                                    = "Cloner le référentiel depuis {0}"
    'RestoreDevDirectory.CloneFailed'                                    = "git clone pour '{0}' a échoué avec le code de sortie {1}."
    'RestoreDevDirectory.ConfigFailed'                                   = "Échec de la définition de git config {0} à '{1}' pour le référentiel à {2}. Code de sortie : {3}"
    'RestoreDevDirectory.InaccessibleRemoteSkipped'                      = "Référentiel '{0}' ignoré avec distant inaccessible : {1}"
    'RestoreDevDirectory.SystemFilterExcluded'                           = "Référentiel '{0}' ignoré en raison de SystemFilter '{1}' ne correspondant pas à l'ordinateur '{2}'"
    'RestoreDevDirectory.Complete'                                       = "Opération de restauration terminée. {0} référentiels traités"

    # Sync-DevDirectoryList
    'SyncDevDirectoryList.Start'                                         = "Démarrage de Sync-DevDirectoryList avec DirectoryPath : '{0}', RepositoryListPath : '{1}', Force : {2}, SkipExisting : {3}, ShowGitOutput : {4}"
    'SyncDevDirectoryList.ConfigurationRemoteName'                       = "Utilisation du nom distant '{0}' depuis la configuration"
    'SyncDevDirectoryList.DirectoryNormalized'                           = "Chemin de répertoire normalisé : '{0}'"
    'SyncDevDirectoryList.SyncStart'                                     = "Démarrage du processus de synchronisation"
    'SyncDevDirectoryList.ImportingFromFile'                             = "Le fichier de liste de référentiels existe, importation des entrées depuis : '{0}'"
    'SyncDevDirectoryList.ActionCreateRootDirectory'                     = "Créer le répertoire racine des référentiels"
    'SyncDevDirectoryList.ActionCloneFromList'                           = "Cloner {0} référentiel(s) depuis la liste"
    'SyncDevDirectoryList.ActionCreateListDirectory'                     = "Créer le répertoire pour le fichier de liste de référentiels"
    'SyncDevDirectoryList.ActionUpdateListFile'                          = "Mettre à jour le fichier de liste de référentiels"
    'SyncDevDirectoryList.ImportFailed'                                  = "Impossible d'importer la liste de référentiels depuis {0} : {1}"
    'SyncDevDirectoryList.UnsafeFileEntry'                               = "L'entrée de liste de référentiels avec chemin relatif non sécurisé {0} a été ignorée."
    'SyncDevDirectoryList.UnsafeLocalEntry'                              = "Référentiel local avec chemin relatif non sécurisé {0} ignoré."
    'SyncDevDirectoryList.RemoteUrlMismatch'                             = "Discordance d'URL distante pour {0}. Conservation de la valeur locale {1} sur la valeur du fichier {2}."
    'SyncDevDirectoryList.MissingRemoteUrl'                              = "L'entrée de liste de référentiels {0} manque de RemoteUrl et ne peut pas être clonée."
    'SyncDevDirectoryList.MissingRootDirectory'                          = "Le répertoire racine des référentiels {0} n'existe pas ; opérations de clonage ignorées."
    'SyncDevDirectoryList.InaccessibleRemoteSkipped'                     = "Référentiel '{0}' ignoré avec distant inaccessible : {1}"
    'SyncDevDirectoryList.SystemFilterExcluded'                          = "Référentiel '{0}' ignoré en raison de SystemFilter '{1}' ne correspondant pas à l'ordinateur '{2}'"
    'SyncDevDirectoryList.Complete'                                      = "Synchronisation terminée. Nombre final de référentiels : {0}"

    # Set-DevDirectoryFilter
    'SetDevDirectoryFilter.Start'                                        = "Démarrage de Set-DevDirectoryFilter avec ParameterSetName : '{0}', SystemFilter : '{1}', Clear : {2}"
    'SetDevDirectoryFilter.ActionSet'                                    = "Définir SystemFilter sur '{0}' à '{1}'"
    'SetDevDirectoryFilter.Updating'                                     = "Mise à jour de SystemFilter pour '{0}' de '{1}' à '{2}'"
    'SetDevDirectoryFilter.Updated'                                      = "SystemFilter mis à jour pour '{0}' à '{1}'"
    'SetDevDirectoryFilter.Complete'                                     = "Set-DevDirectoryFilter terminé"

    # Publish-DevDirectoryList
    'PublishDevDirectoryList.Start'                                      = "Démarrage de Publish-DevDirectoryList avec ParameterSet : '{0}', Public : {1}, GistId : ' {2}'"
    'PublishDevDirectoryList.AuthenticationDecrypt'                      = "Déchiffrement d'AccessToken pour l'authentification API GitHub"
    'PublishDevDirectoryList.TokenEmpty'                                 = "Le jeton d'accès fourni est vide après conversion."
    'PublishDevDirectoryList.TokenEmptyError'                            = "AccessToken est vide ou null"
    'PublishDevDirectoryList.ConfigurationApiUrl'                        = "Point de terminaison API configuré : '{0}'"
    'PublishDevDirectoryList.CollectPipelineObject'                      = "Collecte d'objet référentiel depuis le pipeline"
    'PublishDevDirectoryList.NoPipelineData'                             = "Aucune métadonnée de référentiel n'a été reçue du pipeline."
    'PublishDevDirectoryList.ConvertToJson'                              = "Conversion de {0} objets pipeline en JSON"
    'PublishDevDirectoryList.ReadFile'                                   = "Lecture de la liste de référentiels depuis le fichier : '{0}'"
    'PublishDevDirectoryList.FormatDetected'                             = "Format de fichier détecté : '{0}'"
    'PublishDevDirectoryList.ReadJsonDirect'                             = "Le fichier est JSON, lecture directe"
    'PublishDevDirectoryList.ConvertFormat'                              = "Conversion de {0} en JSON"
    'PublishDevDirectoryList.EmptyContent'                               = "Le contenu de la liste de référentiels est vide. Rien ne sera publié."
    'PublishDevDirectoryList.SearchGist'                                 = "Recherche de gist existant avec description 'GitRepositoryList'"
    'PublishDevDirectoryList.GistFound'                                  = "Gist existant trouvé avec ID : '{0}'"
    'PublishDevDirectoryList.GistNotFound'                               = "Aucun gist existant trouvé, création d'un nouveau"
    'PublishDevDirectoryList.QueryGistFailed'                            = "Échec de la requête des gists existants : {0}"
    'PublishDevDirectoryList.UsingProvidedGistId'                        = "Utilisation du GistId fourni : ' {0}'"
    'PublishDevDirectoryList.PublishCanceled'                            = "Publication annulée par l'utilisateur (WhatIf/Confirm)"
    'PublishDevDirectoryList.UpdatingGist'                               = "Mise à jour du gist existant : '{0}'"
    'PublishDevDirectoryList.CreatingGist'                               = "Création d'un nouveau gist"
    'PublishDevDirectoryList.Complete'                                   = "Liste de référentiels publiée avec succès sur gist. GistId : '{0}', URL : ' {1}'"
    'PublishDevDirectoryList.CleanupTokens'                              = "Nettoyage des jetons d'authentification"
    'PublishDevDirectoryList.ActionPublish'                              = "Publier la liste de référentiels DevDirManager sur GitHub Gist"
    'PublishDevDirectoryList.TargetLabelCreate'                          = "Créer le gist GitRepositoryList"
    'PublishDevDirectoryList.TargetLabelUpdate'                          = "Mettre à jour le gist {0}"

    # Fonctions internes - Get-DevDirectoryRemoteUrl
    'GetDevDirectoryRemoteUrl.Start'                                     = "Extraction de l'URL distante pour ' {0}' depuis le référentiel : ' {1}'"
    'GetDevDirectoryRemoteUrl.ConfigPath'                                = "Chemin de config git : ' {0}'"
    'GetDevDirectoryRemoteUrl.ConfigMissing'                             = "Aucun fichier .git\\config trouvé à {0}."
    'GetDevDirectoryRemoteUrl.ConfigNotFound'                            = "Fichier de config git introuvable, retour de null"
    'GetDevDirectoryRemoteUrl.ReadingConfig'                             = "Lecture du fichier de config git"
    'GetDevDirectoryRemoteUrl.SearchingSection'                          = "Recherche du motif de section : '{0}'"
    'GetDevDirectoryRemoteUrl.RemoteUrlFound'                            = "URL distante pour ' {0}' : ' {1}'"
    'GetDevDirectoryRemoteUrl.RemoteNotFound'                            = "Distant ' {0}' introuvable ou sans URL configurée"

    # Fonctions internes - Get-DevDirectoryUserInfo
    'GetDevDirectoryUserInfo.Start'                                      = "Extraction des informations utilisateur depuis le référentiel : ' {0}'"
    'GetDevDirectoryUserInfo.ConfigPath'                                 = "Chemin de config git : ' {0}'"
    'GetDevDirectoryUserInfo.ConfigMissing'                              = "Aucun fichier .git\\config trouvé à {0}."
    'GetDevDirectoryUserInfo.ConfigNotFound'                             = "Fichier de config git introuvable, retour de valeurs nulles"
    'GetDevDirectoryUserInfo.ReadingConfig'                              = "Lecture du fichier de config git"
    'GetDevDirectoryUserInfo.SectionFound'                               = "Section [user] trouvée dans la config git"
    'GetDevDirectoryUserInfo.UserNameFound'                              = "user.name trouvé : '{0}'"
    'GetDevDirectoryUserInfo.UserEmailFound'                             = "user.email trouvé : ' {0}'"
    'GetDevDirectoryUserInfo.Result'                                     = "Informations utilisateur extraites - UserName : ' {0}', UserEmail : ' {1}'"

    # Fonctions internes - Test-DevDirectoryRemoteAccessible
    'TestDevDirectoryRemoteAccessible.EmptyUrl'                          = "L'URL distante est vide ou contient uniquement des espaces; la vérification d'accessibilité est ignorée."
    'TestDevDirectoryRemoteAccessible.CheckingRemote'                    = "Vérification de l'accessibilité du distant : {0}"
    'TestDevDirectoryRemoteAccessible.Timeout'                           = "Délai d'attente de la vérification du distant dépassé après {0} secondes pour : {1}"
    'TestDevDirectoryRemoteAccessible.Accessible'                        = "Le distant est accessible : {0}"
    'TestDevDirectoryRemoteAccessible.NotAccessible'                     = "Le distant n'est pas accessible (code de sortie {0}) : {1}"
    'TestDevDirectoryRemoteAccessible.Error'                             = "Erreur lors de la vérification de l'accessibilité du distant pour {0} : {1}"
    'TestDevDirectoryRemoteAccessible.ProcessStartFailed'                = "Impossible de démarrer git ls-remote pour le distant '{0}'. Vérifiez le chemin de l'exécutable git."

    # Fonctions internes - ConvertTo-NormalizedRelativePath
    'ConvertToNormalizedRelativePath.Start'                              = "Normalisation du chemin relatif : '{0}'"
    'ConvertToNormalizedRelativePath.EmptyPath'                          = "Le chemin est vide, espace ou '.', retour de '.'"
    'ConvertToNormalizedRelativePath.AfterTrim'                          = "Après trim : '{0}'"
    'ConvertToNormalizedRelativePath.AfterCleanup'                       = "Après nettoyage des slashs : '{0}'"
    'ConvertToNormalizedRelativePath.BecameEmpty'                        = "Le chemin est devenu vide après normalisation, retour de '.'"
    'ConvertToNormalizedRelativePath.Result'                             = "Chemin normalisé : '{0}' -> '{1}'"

    # Fonctions internes - Add-RepositoryTypeName
    'AddRepositoryTypeName.Start'                                        = "Ajout du nom de type DevDirManager.Repository à l'objet"
    'AddRepositoryTypeName.Result'                                       = "Nom de type ajouté à l'objet"

    # Show-DevDirectoryDashboard
    'ShowDevDirectoryDashboard.Start'                                    = "Lancement de Show-DevDirectoryDashboard avec RootPath '{0}' (ShowWindow={1}, PassThru={2})."
    'ShowDevDirectoryDashboard.Complete'                                 = "Show-DevDirectoryDashboard terminé."
    'ShowDevDirectoryDashboard.UnsupportedPlatform'                      = "Show-DevDirectoryDashboard requiert Windows avec prise en charge WPF."
    'ShowDevDirectoryDashboard.RequiresSta'                              = "Show-DevDirectoryDashboard doit s'exécuter dans une session PowerShell configurée en STA."
    'ShowDevDirectoryDashboard.XamlMissing'                              = "Impossible de trouver le fichier de disposition du tableau de bord '{0}'."
    'ShowDevDirectoryDashboard.WindowTitle'                              = "Tableau de bord DevDirManager"
    'ShowDevDirectoryDashboard.Header'                                   = "Centre de contrôle DevDirManager"
    'ShowDevDirectoryDashboard.SubHeader'                                = "Découvrir, exporter, restaurer et synchroniser les référentiels dans une seule fenêtre."
    'ShowDevDirectoryDashboard.DiscoverTabHeader'                        = "Découvrir & Exporter"
    'ShowDevDirectoryDashboard.DiscoverPathLabel'                        = "Dossier source :"
    'ShowDevDirectoryDashboard.BrowseButton'                             = "Parcourir"
    'ShowDevDirectoryDashboard.ScanButton'                               = "Analyser"
    'ShowDevDirectoryDashboard.ExportTabHeader'                          = "Exporter"
    'ShowDevDirectoryDashboard.ExportFormatLabel'                        = "Format :"
    'ShowDevDirectoryDashboard.ExportPathLabel'                          = "Fichier cible :"
    'ShowDevDirectoryDashboard.ExportRunButton'                          = "Exporter"
    'ShowDevDirectoryDashboard.ImportTabHeader'                          = "Importer & Restaurer"
    'ShowDevDirectoryDashboard.ImportPathLabel'                          = "Fichier de données :"
    'ShowDevDirectoryDashboard.ImportLoadButton'                         = "Charger"
    'ShowDevDirectoryDashboard.RestoreTabHeader'                         = "Restaurer"
    'ShowDevDirectoryDashboard.RestoreListPathLabel'                     = "Fichier de données :"
    'ShowDevDirectoryDashboard.RestoreDestinationLabel'                  = "Dossier de destination :"
    'ShowDevDirectoryDashboard.RestoreRunButton'                         = "Restaurer"
    'ShowDevDirectoryDashboard.RestoreForce'                             = "Remplacer de force"
    'ShowDevDirectoryDashboard.RestoreSkipExisting'                      = "Ignorer les existants"
    'ShowDevDirectoryDashboard.RestoreShowGitOutput'                     = "Afficher la sortie git"
    'ShowDevDirectoryDashboard.RestoreWhatIf'                            = "Simulation"
    'ShowDevDirectoryDashboard.RestoreSummaryTemplate'                   = "Référentiels prêts à restaurer : {0}"
    'ShowDevDirectoryDashboard.SyncTabHeader'                            = "Synchroniser"
    'ShowDevDirectoryDashboard.SyncDirectoryLabel'                       = "Espace de travail :"
    'ShowDevDirectoryDashboard.SyncListPathLabel'                        = "Fichier de données :"
    'ShowDevDirectoryDashboard.SyncRunButton'                            = "Synchroniser"
    'ShowDevDirectoryDashboard.SyncForce'                                = "Remplacer de force"
    'ShowDevDirectoryDashboard.SyncSkipExisting'                         = "Ignorer les existants"
    'ShowDevDirectoryDashboard.SyncShowGitOutput'                        = "Afficher la sortie git"
    'ShowDevDirectoryDashboard.SyncWhatIf'                               = "Simulation"
    'ShowDevDirectoryDashboard.SyncSummaryTemplate'                      = "Référentiels prêts pour la synchronisation : {0}"
    'ShowDevDirectoryDashboard.Format.JSON'                              = "JSON (recommandé)"
    'ShowDevDirectoryDashboard.Format.CSV'                               = "CSV"
    'ShowDevDirectoryDashboard.Format.XML'                               = "XML"
    'ShowDevDirectoryDashboard.DiscoverSummaryTemplate'                  = "Référentiels découverts : {0}"
    'ShowDevDirectoryDashboard.ExportSummaryTemplate'                    = "Référentiels prêts à exporter : {0}"
    'ShowDevDirectoryDashboard.ImportSummaryTemplate'                    = "Référentiels importés : {0}"
    'ShowDevDirectoryDashboard.Column.RelativePath'                      = "Chemin relatif"
    'ShowDevDirectoryDashboard.Column.RemoteName'                        = "Nom distant"
    'ShowDevDirectoryDashboard.Column.RemoteUrl'                         = "URL distante"
    'ShowDevDirectoryDashboard.Column.IsRemoteAccessible'                = "Accès distant"
    'ShowDevDirectoryDashboard.Column.UserName'                          = "Nom utilisateur"
    'ShowDevDirectoryDashboard.Column.UserEmail'                         = "Courriel"
    'ShowDevDirectoryDashboard.Column.StatusDate'                        = "Date d'état"
    'ShowDevDirectoryDashboard.Status.Ready'                             = "Prêt."
    'ShowDevDirectoryDashboard.Status.ScanStarted'                       = "Analyse de {0} ..."
    'ShowDevDirectoryDashboard.Status.ScanComplete'                      = "Analyse terminée. Référentiels trouvés : {0}"
    'ShowDevDirectoryDashboard.Status.ExportStarted'                     = "Exportation vers {0} ..."
    'ShowDevDirectoryDashboard.Status.ExportComplete'                    = "Exportation terminée : {0}"
    'ShowDevDirectoryDashboard.Status.ImportStarted'                     = "Importation depuis {0} ..."
    'ShowDevDirectoryDashboard.Status.ImportComplete'                    = "Importation terminée. Référentiels chargés : {0}"
    'ShowDevDirectoryDashboard.Status.RestoreStarted'                    = "Restauration des référentiels vers {0} ..."
    'ShowDevDirectoryDashboard.Status.RestoreComplete'                   = "Restauration terminée vers {0}"
    'ShowDevDirectoryDashboard.Status.SyncStarted'                       = "Synchronisation de {0} avec {1} ..."
    'ShowDevDirectoryDashboard.Status.SyncComplete'                      = "Synchronisation terminée. Référentiels traités : {0}"
    'ShowDevDirectoryDashboard.Status.OperationFailed'                   = "Échec de l'opération : {0}"
    'ShowDevDirectoryDashboard.Message.NoRepositories'                   = "Aucun référentiel à traiter. Lancez une découverte ou importez des données d'abord."
    'ShowDevDirectoryDashboard.Message.ExportPathMissing'                = "Sélectionnez un fichier de sortie avant d'exporter."
    'ShowDevDirectoryDashboard.Message.ImportPathMissing'                = "Sélectionnez un fichier de données à importer."
    'ShowDevDirectoryDashboard.Message.RestorePathsMissing'              = "Sélectionnez un dossier de destination avant de restaurer."
    'ShowDevDirectoryDashboard.Message.SyncPathsMissing'                 = "Indiquez un espace de travail et un fichier de données avant de synchroniser."
    'ShowDevDirectoryDashboard.Message.ExportSuccess'                    = "Liste de référentiels exportée vers {0}."
    'ShowDevDirectoryDashboard.InfoTitle'                                = "DevDirManager"
    'ShowDevDirectoryDashboard.ErrorTitle'                               = "Erreur DevDirManager"
    'ShowDevDirectoryDashboard.ScanCompleted'                            = "Analyse terminée pour '{0}' avec {1} référentiels."
    'ShowDevDirectoryDashboard.ExportCompleted'                          = "Exportation terminée vers '{0}' au format {1} avec {2} référentiels."
    'ShowDevDirectoryDashboard.ImportCompleted'                          = "Importation terminée depuis '{0}' avec {1} référentiels."
    'ShowDevDirectoryDashboard.RestoreCompleted'                         = "Restauration terminée vers '{0}' avec {1} référentiels."
    'ShowDevDirectoryDashboard.SyncCompleted'                            = "Synchronisation terminée du répertoire '{0}' avec la liste '{1}' et {2} référentiels."

    # Génériques / Partagés
    'RepositoryList.UsingDefaultFormat'                                  = "Utilisation du format par défaut configuré '{0}' pour le fichier '{1}'."
    'GetDevDirectoryStatusDate.GitFolderMissing'                         = "Aucun dossier .git trouvé à {0}."

    # Get-DevDirectorySetting
    'GetDevDirectorySetting.Start'                                       = "Récupération des paramètres système DevDirManager"
    'GetDevDirectorySetting.FileNotFound'                                = "Fichier de configuration non trouvé : '{0}'. Les paramètres n'ont pas été initialisés. Exécutez d'abord Set-DevDirectorySetting."
    'GetDevDirectorySetting.ReadFailed'                                  = "Échec de la lecture du fichier de configuration '{0}' : {1}"
    'GetDevDirectorySetting.ReturnSingleValue'                           = "Retour de la valeur du paramètre unique : '{0}'"
    'GetDevDirectorySetting.Complete'                                    = "Paramètres système récupérés pour l'ordinateur '{0}'"
    'GetDevDirectorySetting.End'                                         = "Get-DevDirectorySetting terminé"

    # Set-DevDirectorySetting
    'SetDevDirectorySetting.Start'                                       = "Configuration des paramètres système DevDirManager"
    'SetDevDirectorySetting.PathNormalized'                              = "{0} normalisé en : '{1}'"
    'SetDevDirectorySetting.PathTraversalError'                          = "{0} contient une séquence de traversée de chemin non sécurisée (..): '{1}'"
    'SetDevDirectorySetting.PathValidation'                              = "Validation du chemin : '{0}'"
    'SetDevDirectorySetting.PathNotFound'                                = "Avertissement : Le chemin '{0}' n'existe pas"
    'SetDevDirectorySetting.ConfigUpdated'                               = "Configuration mise à jour : {0} = '{1}'"
    'SetDevDirectorySetting.DirectoryCreated'                            = "Répertoire de configuration créé : '{0}'"
    'SetDevDirectorySetting.Persisted'                                   = "Paramètres enregistrés dans '{0}'"
    'SetDevDirectorySetting.Complete'                                    = "Paramètres système configurés avec succès. Paramètres enregistrés dans '{0}'"
    'SetDevDirectorySetting.ShouldProcess.Target'                        = "Configuration système DevDirManager"
    'SetDevDirectorySetting.ShouldProcess.Action'                        = "Définir le paramètre '{0}' à '{1}'"
    'SetDevDirectorySetting.ShouldProcess.Reset'                         = "Réinitialiser tous les paramètres aux valeurs par défaut"
    'SetDevDirectorySetting.ReadFailed'                                  = "Échec de la lecture du fichier de configuration '{0}': {1}"
    'SetDevDirectorySetting.ScheduledTaskRegistered'                     = "Tâche planifiée enregistrée pour la synchronisation automatique."
    'SetDevDirectorySetting.ScheduledTaskRegisterFailed'                 = "Échec de l'enregistrement de la tâche planifiée : {0}"
    'SetDevDirectorySetting.ScheduledTaskUnregistered'                   = "Tâche planifiée désenregistrée."
    'SetDevDirectorySetting.ScheduledTaskUnregisterFailed'               = "Échec du désenregistrement de la tâche planifiée : {0}"

    # Invoke-DevDirectorySyncSchedule
    'InvokeDevDirectorySyncSchedule.Start'                               = "Démarrage de la synchronisation configurée par le système pour l'ordinateur '{0}'"
    'InvokeDevDirectorySyncSchedule.NotConfigured.RepositoryListPath'    = "RepositoryListPath n'est pas configuré. Exécutez 'Set-DevDirectorySetting -RepositoryListPath <chemin>' pour configurer le chemin du fichier de liste de référentiels."
    'InvokeDevDirectorySyncSchedule.NotConfigured.LocalDevDirectory'     = "LocalDevDirectory n'est pas configuré. Exécutez 'Set-DevDirectorySetting -LocalDevDirectory <chemin>' pour configurer le répertoire de développement local."
    'InvokeDevDirectorySyncSchedule.RepositoryListNotFound'              = "Fichier de liste de référentiels non trouvé : '{0}'"
    'InvokeDevDirectorySyncSchedule.FilterApplied'                       = "{0} sur {1} référentiels correspondent au filtre système pour '{2}'"
    'InvokeDevDirectorySyncSchedule.NoMatchingRepositories'              = "Aucun référentiel ne correspond au filtre système pour l'ordinateur '{0}'"
    'InvokeDevDirectorySyncSchedule.Complete'                            = "Synchronisation terminée : {0} référentiels synchronisés"
    'InvokeDevDirectorySyncSchedule.ConfigUpdateFailed'                  = "Échec de la mise à jour de la configuration avec le statut d'erreur : {0}"
    'InvokeDevDirectorySyncSchedule.ShouldProcess.Target'                = "{0} référentiels depuis '{1}'"
    'InvokeDevDirectorySyncSchedule.ShouldProcess.Action'                = "Synchroniser vers '{0}'"
    'InvokeDevDirectorySyncSchedule.End'                                 = "Invoke-DevDirectorySyncSchedule terminé"

    # Register-DevDirectoryScheduledSync
    'RegisterDevDirectoryScheduledSync.Start'                            = "Création de la tâche planifiée '{0}'"
    'RegisterDevDirectoryScheduledSync.NotConfigured.RepositoryListPath' = "RepositoryListPath n'est pas configuré. Exécutez 'Set-DevDirectorySetting -RepositoryListPath <chemin>' pour configurer le chemin du fichier de liste de référentiels."
    'RegisterDevDirectoryScheduledSync.NotConfigured.LocalDevDirectory'  = "LocalDevDirectory n'est pas configuré. Exécutez 'Set-DevDirectorySetting -LocalDevDirectory <chemin>' pour configurer le répertoire de développement local."
    'RegisterDevDirectoryScheduledSync.Exists'                           = "La tâche planifiée '{0}' existe déjà. Utilisez -Force pour l'écraser."
    'RegisterDevDirectoryScheduledSync.RemovingExisting'                 = "Suppression de la tâche planifiée existante '{0}'"
    'RegisterDevDirectoryScheduledSync.UnregisterFailed'                 = "Échec de la suppression de la tâche planifiée existante '{0}'"
    'RegisterDevDirectoryScheduledSync.RegisterFailed'                   = "Échec de l'enregistrement de la tâche planifiée '{0}'"
    'RegisterDevDirectoryScheduledSync.TaskNotReturned'                  = "La tâche planifiée '{0}' n'a pas été créée avec succès"
    'RegisterDevDirectoryScheduledSync.Created'                          = "Tâche planifiée '{0}' créée : s'exécute toutes les {1} minutes"
    'RegisterDevDirectoryScheduledSync.Complete'                         = "Enregistrement de la tâche planifiée terminé"
    'RegisterDevDirectoryScheduledSync.TaskDescription'                  = "Synchronisation automatique des référentiels DevDirManager. Synchronise les référentiels depuis la liste centrale configurée vers le répertoire de développement local."
    'RegisterDevDirectoryScheduledSync.AutoSyncEnabled'                  = "Le paramètre AutoSyncEnabled a été défini sur true."
    'RegisterDevDirectoryScheduledSync.ShouldProcess.Target'             = "Tâche planifiée '{0}'"
    'RegisterDevDirectoryScheduledSync.ShouldProcess.Action'             = "Enregistrer avec un intervalle de {0} minutes"

    # Unregister-DevDirectoryScheduledSync
    'UnregisterDevDirectoryScheduledSync.Start'                          = "Suppression de la tâche planifiée '{0}'"
    'UnregisterDevDirectoryScheduledSync.NotFound'                       = "Tâche planifiée '{0}' non trouvée"
    'UnregisterDevDirectoryScheduledSync.UnregisterFailed'               = "Échec de la suppression de la tâche planifiée '{0}'"
    'UnregisterDevDirectoryScheduledSync.Removed'                        = "Tâche planifiée '{0}' supprimée"
    'UnregisterDevDirectoryScheduledSync.Complete'                       = "Suppression de la tâche planifiée terminée"
    'UnregisterDevDirectoryScheduledSync.AutoSyncDisabled'               = "Le paramètre AutoSyncEnabled a été défini sur false."
    'UnregisterDevDirectoryScheduledSync.ShouldProcess.Target'           = "Tâche planifiée '{0}'"
    'UnregisterDevDirectoryScheduledSync.ShouldProcess.Action'           = "Supprimer la tâche planifiée"

    # Write-ConfigFileWithRetry (internal helper)
    'WriteConfigFileWithRetry.Start'                                     = "Écriture du fichier de configuration : '{0}'"
    'WriteConfigFileWithRetry.AcquiringLock'                             = "Acquisition du verrou exclusif sur '{0}' (tentative {1})"
    'WriteConfigFileWithRetry.LockAcquired'                              = "Verrou exclusif acquis sur '{0}'"
    'WriteConfigFileWithRetry.Success'                                   = "Fichier de configuration '{0}' écrit avec succès à la tentative {1}"
    'WriteConfigFileWithRetry.IOError'                                   = "Tentative d'écriture {0} échouée : {1}"
    'WriteConfigFileWithRetry.Retrying'                                  = "Nouvelle tentative dans {0}ms ({1} tentatives restantes)"
    'WriteConfigFileWithRetry.UnexpectedError'                           = "Erreur inattendue lors de l'écriture du fichier : {0}"
    'WriteConfigFileWithRetry.AllAttemptsFailed'                         = "Échec de l'écriture du fichier de configuration après {0} tentatives. Le fichier est peut-être verrouillé par un autre processus."
    'WriteConfigFileWithRetry.Complete'                                  = "Write-ConfigFileWithRetry terminé pour '{0}'"

    # DevDirSettingsImport (internal script)
    'DevDirSettingsImport.ConfigLoaded'                                  = "Configuration DevDirManager chargée depuis '{0}'"
    'DevDirSettingsImport.ConfigLoadFailed'                              = "Échec du chargement de la configuration depuis '{0}' : {1}"
    'DevDirSettingsImport.ConfigNotFound'                                = "Aucun fichier de configuration trouvé à '{0}'. Utilisation des valeurs par défaut."
    'DevDirSettingsImport.CreateDefaultConfig'                           = "Création du fichier de configuration par défaut à '{0}'"
    'DevDirSettingsImport.ConfigFileCreated'                             = "Fichier de configuration créé avec succès à '{0}'"
    'DevDirSettingsImport.AutoSyncInconsistent.TaskMissing'              = "AutoSyncEnabled est true, mais la tâche planifiée '{0}' n'existe pas. Exécutez Register-DevDirectoryScheduledSync pour la créer."
    'DevDirSettingsImport.AutoSyncInconsistent.TaskDisabled'             = "AutoSyncEnabled est true, mais la tâche planifiée '{0}' est désactivée. Activez-la ou définissez AutoSyncEnabled sur false."
    'DevDirSettingsImport.AutoSyncInconsistent.TaskExists'               = "AutoSyncEnabled est false, mais la tâche planifiée '{0}' existe et est activée. Supprimez la tâche ou définissez AutoSyncEnabled sur true."

    # Test-DevDirectorySystemFilter
    'TestDevDirectorySystemFilter.EmptyFilter'                           = "SystemFilter est vide, tous les systèmes correspondent"
    'TestDevDirectorySystemFilter.WildcardFilter'                        = "SystemFilter est '*', tous les systèmes correspondent"
    'TestDevDirectorySystemFilter.MatchedExclusion'                      = "L'ordinateur '{0}' correspond au modèle d'exclusion '{1}'"
    'TestDevDirectorySystemFilter.MatchedInclusion'                      = "L'ordinateur '{0}' correspond au modèle d'inclusion '{1}'"
    'TestDevDirectorySystemFilter.Excluded'                              = "L'ordinateur '{0}' exclu par le filtre '{1}'"
    'TestDevDirectorySystemFilter.InclusionResult'                       = "Résultat de vérification d'inclusion de l'ordinateur '{0}' : {1}"
    'TestDevDirectorySystemFilter.NotExcluded'                           = "L'ordinateur '{0}' non exclu, autorisation"

    # Show-DevDirectoryDashboard - Settings Tab
    'ShowDevDirectoryDashboard.SettingsTabHeader'                        = "Paramètres"
    'ShowDevDirectoryDashboard.Settings.ConfigSection'                   = "Configuration"
    'ShowDevDirectoryDashboard.Settings.RepoListPathLabel'               = "Liste des dépôts :"
    'ShowDevDirectoryDashboard.Settings.LocalDevDirLabel'                = "Dossier dev local :"
    'ShowDevDirectoryDashboard.Settings.AutomationSection'               = "Automatisation"
    'ShowDevDirectoryDashboard.Settings.AutoSyncEnabled'                 = "Activer la synchronisation automatique"
    'ShowDevDirectoryDashboard.Settings.SyncIntervalLabel'               = "Intervalle de sync :"
    'ShowDevDirectoryDashboard.Settings.SyncIntervalUnit'                = "minutes"
    'ShowDevDirectoryDashboard.Settings.RegisterSyncButton'              = "Créer la tâche planifiée"
    'ShowDevDirectoryDashboard.Settings.UnregisterSyncButton'            = "Supprimer la tâche planifiée"
    'ShowDevDirectoryDashboard.Settings.StatusSection'                   = "État"
    'ShowDevDirectoryDashboard.Settings.ComputerNameLabel'               = "Nom de l'ordinateur :"
    'ShowDevDirectoryDashboard.Settings.TaskStatusLabel'                 = "Tâche planifiée :"
    'ShowDevDirectoryDashboard.Settings.LastSyncTimeLabel'               = "Dernière sync :"
    'ShowDevDirectoryDashboard.Settings.LastSyncResultLabel'             = "Dernier résultat :"
    'ShowDevDirectoryDashboard.Settings.QuickSyncButton'                 = "Sync rapide"
    'ShowDevDirectoryDashboard.Settings.SaveButton'                      = "Enregistrer"
    'ShowDevDirectoryDashboard.Settings.ResetButton'                     = "Réinitialiser"
    'ShowDevDirectoryDashboard.Settings.NeverSynced'                     = "Jamais"
    'ShowDevDirectoryDashboard.Settings.TaskRegistered'                  = "Enregistrée ({0})"
    'ShowDevDirectoryDashboard.Settings.TaskNotRegistered'               = "Non enregistrée"

    # Show-DevDirectoryDashboard - SystemFilter Column
    'ShowDevDirectoryDashboard.Column.SystemFilter'                      = "Filtre système"

    # Show-DevDirectoryDashboard - Settings Tab Status Messages
    'ShowDevDirectoryDashboard.Status.SavingSettings'                    = "Enregistrement des paramètres..."
    'ShowDevDirectoryDashboard.Status.SettingsSaved'                     = "Paramètres enregistrés avec succès."
    'ShowDevDirectoryDashboard.Status.ResettingSettings'                 = "Réinitialisation des paramètres par défaut..."
    'ShowDevDirectoryDashboard.Status.SettingsReset'                     = "Paramètres réinitialisés par défaut."
    'ShowDevDirectoryDashboard.Status.RegisteringTask'                   = "Création de la tâche planifiée..."
    'ShowDevDirectoryDashboard.Status.TaskRegistered'                    = "Tâche planifiée créée."
    'ShowDevDirectoryDashboard.Status.UnregisteringTask'                 = "Suppression de la tâche planifiée..."
    'ShowDevDirectoryDashboard.Status.TaskUnregistered'                  = "Tâche planifiée supprimée."
    'ShowDevDirectoryDashboard.Status.QuickSyncStarted'                  = "Démarrage de la sync rapide pour {0}..."
    'ShowDevDirectoryDashboard.Status.QuickSyncComplete'                 = "Sync rapide terminée. Dépôts synchronisés : {0}"

    # Show-DevDirectoryDashboard - Settings Tab Messages
    'ShowDevDirectoryDashboard.Message.InvalidSyncInterval'              = "L'intervalle de sync doit être un nombre entre 1 et 1440 minutes."
    'ShowDevDirectoryDashboard.Message.ConfirmReset'                     = "Voulez-vous vraiment réinitialiser tous les paramètres à leurs valeurs par défaut ?"
    'ShowDevDirectoryDashboard.Message.TaskRegistered'                   = "La tâche de synchronisation planifiée a été créée avec succès."
    'ShowDevDirectoryDashboard.Message.TaskUnregistered'                 = "La tâche de synchronisation planifiée a été supprimée."
    'ShowDevDirectoryDashboard.Message.QuickSyncComplete'                = "Sync rapide terminée avec succès. {0} dépôts synchronisés."

    # Show-DevDirectoryDashboard - Settings Tab Log Strings
    'ShowDevDirectoryDashboard.SettingsSaved'                            = "Paramètres enregistrés via le tableau de bord."
    'ShowDevDirectoryDashboard.SettingsReset'                            = "Paramètres réinitialisés via le tableau de bord."
    'ShowDevDirectoryDashboard.TaskRegistered'                           = "Tâche planifiée créée via le tableau de bord."
    'ShowDevDirectoryDashboard.TaskUnregistered'                         = "Tâche planifiée supprimée via le tableau de bord."
    'ShowDevDirectoryDashboard.QuickSyncCompleted'                       = "Sync rapide terminée via le tableau de bord. Dépôts : {0}"
}