Replace hand-rolled i18n with Fluent.

This commit is contained in:
2026-07-18 14:34:40 +02:00
parent 16a210c0ad
commit 2e35afc731
24 changed files with 2338 additions and 2187 deletions

385
locales/ui/fr.ftl Normal file
View File

@@ -0,0 +1,385 @@
menu-group-file = Fichier
menu-group-edit = Édition
menu-group-view = Affichage
menu-group-blog = Blog
menu-group-help = Aide
menu-item-newPost = Nouvel article
menu-item-importMedia = Importer des médias...
menu-item-save = Enregistrer
menu-item-openInBrowser = Ouvrir dans le navigateur
menu-item-openDataFolder = Ouvrir le dossier de données
menu-item-find = Rechercher
menu-item-replace = Remplacer
menu-item-editPreferences = Modifier les préférences
menu-item-viewPosts = Articles
menu-item-viewMedia = Médias
menu-item-toggleSidebar = Basculer la barre latérale
menu-item-togglePanel = Basculer le panneau
menu-item-publishSelected = Publier la sélection
menu-item-previewPost = Aperçu de l'article
menu-item-rebuildDatabase = Reconstruire la base de données
menu-item-reindexText = Réindexer le texte de recherche
menu-item-metadataDiff = Outil de diff des métadonnées
menu-item-editMenu = Modifier le menu du blog
menu-item-generateSitemap = Rendre le site
menu-item-regenerateCalendar = Régénérer le calendrier
menu-item-validateSite = Valider le site
menu-item-validateTranslations = Valider les traductions
menu-item-fillMissingTranslations = Compléter les traductions manquantes
menu-item-uploadSite = Publier le site
menu-item-about = À propos de Blogging Desktop Server
menu-item-openDocumentation = Ouvrir la documentation
menu-item-viewOnGitHub = Voir sur GitHub
menu-item-reportIssue = Signaler un problème
activity-posts = Articles
activity-pages = Pages du site
activity-media = Médias
activity-scripts = Scripts
activity-tags = Étiquettes
activity-templates = Modèles
activity-aiAssistant = Assistant IA
activity-import = Importation
activity-sourceControl = Contrôle de source
common-save = Enregistrer
common-open = Ouvrir
common-cancel = Annuler
common-settings = Paramètres
common-tasks = Tâches
common-running = en cours
common-pending = en attente
tasks-backgroundTasks = Tâches en arrière-plan
tasks-clearCompleted = Effacer terminé
tasks-noActive = Aucune tâche active
tasks-cancelTask = Annuler la tâche
tasks-triggerTitle = { $running } en cours, { $pending } en attente
app-taskCompleted = Tâche terminée : { $message }
app-taskFailed = Échec de la tâche : { $message }
app-databaseRebuildFailed = Échec de la reconstruction de la base de données
app-textReindexFailed = Échec de la réindexation du texte
panel-output = Sortie
panel-postLinks = Liens d'articles
panel-gitLog = Historique Git
panel-postLinksPlaceholder = Aucun lien d'article à afficher
panel-gitLogPlaceholder = Aucun historique Git à afficher
panel-closeTitle = Fermer le panneau
panel-noRecentTasks = Aucune tâche récente
panel-noOutput = Aucune sortie
statusBar-posts = { $count } articles
statusBar-media = { $count } médias
statusBar-ui = UI
statusBar-uiLanguage = Langue de l'interface
statusBar-offlineMode = Mode avion
statusBar-offlineModeActive = Mode avion (actif)
projectSelector-switchProject = Changer de projet
projectSelector-projectsHeader = Projets
projectSelector-newProject = Nouveau projet
projectSelector-createProject = Créer le projet
projectSelector-projectName = Nom du projet
projectSelector-projectNamePlaceholder = Mon blog
projectSelector-chooseFolder = Choisir un dossier...
projectSelector-useDefaultLocation = Utiliser l'emplacement par défaut
projectSelector-deleteProject = Supprimer le projet
projectSelector-toast-switched = Projet actif : { $name }
projectSelector-toast-switchFailed = Échec du changement de projet
projectSelector-toast-created = Projet "{ $name }" créé
projectSelector-toast-createFailed = Impossible de créer le projet
projectSelector-toast-deleteFailed = Impossible de supprimer le projet
tabBar-closeHint = Fermer
tabBar-loading = Chargement...
tabBar-unknown = Inconnu
tabBar-style = Style
tabBar-menuEditor = Éditeur de menu
tabBar-metadataDiff = Diff métadonnées
tabBar-siteValidation = Validation du site
tabBar-translationValidation = Validation des traductions
siteValidation-run = Lancer la validation
siteValidation-apply = Appliquer la validation
siteValidation-applying = Application en cours...
siteValidation-idle = Lancez la validation du site pour comparer les fichiers générés à la sortie attendue.
siteValidation-running = Validation en cours...
siteValidation-clean = Aucun fichier généré manquant, supplémentaire ou obsolète n'a été trouvé.
siteValidation-error = La validation a échoué
siteValidation-missing = Fichiers manquants
siteValidation-extra = Fichiers supplémentaires
siteValidation-stale = Fichiers obsolètes
tabBar-documentation = Documentation
tabBar-apiDocumentation = Documentation API
tabBar-findDuplicates = Trouver les doublons
tabBar-tags = Tags
tabBar-preview = Aperçu
tabBar-modified = Modifié
sidebar-noPostsYet = Aucun article pour le moment
sidebar-noPagesYet = Aucune page pour le moment
sidebar-noMediaYet = Aucun média pour le moment
sidebar-noScriptsYet = Aucun script
sidebar-noTemplatesYet = Aucun modèle
sidebar-chatPlaceholder = L'assistant IA apparaîtra ici
sidebar-importPlaceholder = Importer du contenu depuis des sources externes
sidebar-gitPlaceholder = Intégration du contrôle de source
sidebar-loading = Chargement...
sidebar-settingsHeader = Paramètres
sidebar-tagsHeader = Étiquettes
sidebar-drafts = Brouillons
sidebar-published = Publiés
sidebar-archived = Archivés
sidebar-loadMore = Charger plus…
language-en = Anglais
language-de = Allemand
language-fr = Français
language-it = Italien
language-es = Espagnol
welcome-title = Bienvenue dans bDS
welcome-subtitle = Ouvrez un projet ou créez un nouvel article pour commencer.
post-untitled = Sans titre
post-createFailed = Impossible de créer l'article : { $error }
engine-rebuildStarted = Reconstruction de la base de données à partir des fichiers...
engine-rebuildComplete = Base de données reconstruite : { $posts } articles, { $media } médias, { $templates } modèles, { $scripts } scripts
engine-rebuildFailed = Échec de la reconstruction de la base de données : { $error }
engine-reindexStarted = Réindexation du texte de recherche...
engine-reindexComplete = Texte de recherche réindexé : { $posts } articles, { $media } médias
engine-reindexFailed = Échec de la réindexation du texte de recherche : { $error }
engine-calendarStarted = Régénération du calendrier...
engine-calendarComplete = Calendrier régénéré
engine-calendarFailed = Échec de la régénération du calendrier : { $error }
engine-calendarNoProject = Aucun projet actif
engine-validateTranslationsStarted = Validation des traductions...
engine-validateMediaStarted = Validation des médias...
engine-validateTranslationsComplete = Validation des traductions : { $dbIssues } problèmes en base, { $fsIssues } problèmes sur le système de fichiers
engine-validateTranslationsFailed = Échec de la validation des traductions : { $error }
engine-fillMissingTranslationsOffline = Impossible de compléter les traductions : l'IA n'est pas disponible en mode avion
engine-fillMissingTranslationsNoAi = Impossible de compléter les traductions : l'IA n'est pas encore disponible
engine-uploadStarted = Publication du site...
engine-uploadMissingCredentials = Identifiants de publication incomplets. Configurez-les dans les paramètres du projet.
engine-uploadOffline = Impossible de publier : le mode avion est actif
engine-generateSiteStarted = Génération du site...
engine-generateSiteNoProject = Aucun projet actif
engine-previewDataDirUnavailable = Le répertoire de données du projet est indisponible
engine-previewPortInUse = Le port du serveur d'aperçu est déjà utilisé
dialog-selectFolder = Sélectionner un dossier
dialog-importMedia = Importer des médias
dialog-imageFilter = Images
settings-nav-project = Projet
settings-nav-editor = Éditeur
settings-nav-content = Contenu
settings-nav-ai = IA
settings-nav-technology = Technologie
settings-nav-publishing = Publication
settings-nav-data = Données
settings-nav-mcp = MCP
settings-nav-style = Style
tags-nav-cloud = Nuage de tags
tags-nav-manage = Gérer les tags
tags-nav-merge = Fusionner les tags
tags-nav-discover = Découvrir les tags
sidebar-chatYesterday = Hier
modal-confirmDelete-title = Confirmer la suppression
modal-confirmDelete-warning = Cette action est irréversible.
modal-confirmDelete-cancel = Annuler
modal-confirmDelete-delete = Supprimer
modal-confirm-title = Confirmer
modal-confirm-cancel = Annuler
modal-confirm-confirm = Confirmer
modal-postInsertLink-title = Insérer un lien
modal-postInsertLink-description = Sélectionnez un article à lier.
modal-postInsertLink-cancel = Annuler
modal-postInsertLink-tabInternal = Interne
modal-postInsertLink-tabExternal = Externe
modal-postInsertLink-searchPlaceholder = Rechercher les articles...
modal-postInsertLink-emptyState = Commencez à taper pour rechercher des articles ou utilisez des articles similaires
modal-postInsertLink-createPost = Créer l'article
modal-postInsertLink-insert = Insérer
modal-postInsertLink-externalUrlPlaceholder = https://example.com
modal-postInsertLink-externalTextPlaceholder = Texte affiché (optionnel)
modal-postInsertLink-urlRequired = Une URL est requise.
modal-postInsertLink-titleRequired = Saisissez un titre pour créer un article lié.
modal-postInsertLink-createFailed = Impossible de créer l'article lié.
modal-postInsertLink-loadFailed = Impossible de charger l'article sélectionné.
modal-insertMedia-title = Insérer un média
modal-insertMedia-description = Sélectionnez un média à insérer.
modal-insertMedia-cancel = Annuler
modal-insertMedia-searchPlaceholder = Rechercher les médias...
modal-insertMedia-loadFailed = Impossible de charger le média sélectionné.
modal-postGallery-title = Galerie média
modal-postGallery-description = Cliquez sur une image pourvoir en taille réelle.
modal-postGallery-close = Fermer
modal-postGallery-backToGrid = Retour à la grille
modal-postGallery-unavailable = Aperçu indisponible
modal-aiSuggestions-title = Suggestions IA
modal-aiSuggestions-applySelected = Appliquer la sélection
modal-languagePicker-title = Traduire vers
sidebar-filter-search = Rechercher...
sidebar-filter-toggle = Filtres
sidebar-filter-clearAll = Effacer tous les filtres
sidebar-filter-status = Statut
sidebar-filter-language = Langue
sidebar-filter-dateRange = Plage de dates
sidebar-filter-from = Depuis (AAAA-MM-JJ)
sidebar-filter-to = Jusqu'au (AAAA-MM-JJ)
editor-insertLink = Insérer un lien
editor-insertMedia = Insérer un média
editor-gallery = Galerie
sidebar-filter-tags = Tags
sidebar-filter-categories = Catégories
sidebar-filter-calendar = Archives
sidebar-filter-noResults = Aucun résultat
editor-title = Titre
editor-titlePlaceholder = Saisir le titre...
editor-slug = Slug
editor-slugPlaceholder = saisir-slug
editor-content = Contenu
editor-contentPlaceholder = Rédigez votre contenu...
editor-excerpt = Extrait
editor-excerptPlaceholder = Bref résumé...
editor-author = Auteur
editor-language = Langue
editor-aiAnalyze = Analyser avec l'IA
editor-detectLanguage = Détecter la langue
editor-quickActions = Actions rapides
editor-modeMarkdown = Markdown
editor-modePreview = Aperçu
editor-suggestTaxonomy = Suggérer la taxonomie
editor-translate = Traduire
editor-templateSlug = Modèle
editor-doNotTranslate = Ne pas traduire
editor-publish = Publier
editor-discard = Annuler les modifications
editor-duplicate = Dupliquer
editor-validate = Valider
editor-run = Exécuter
editor-checkSyntax = Vérifier la syntaxe
editor-kind = Type
editor-enabled = Activé
editor-entrypoint = Point d'entrée
editor-alt = Texte alternatif
editor-altPlaceholder = Décrivez l'image...
editor-caption = Légende
editor-metadata = Métadonnées
editor-tags = Tags
editor-tagsPlaceholder = Ajouter un tag...
editor-categories = Catégories
editor-categoriesPlaceholder = Ajouter une catégorie...
editor-outlinks = Liens sortants
editor-backlinks = Liens entrants
editor-linkedMedia = Médias liés
editor-linkedMediaEmpty = Aucun média lié pour le moment.
editor-linkExistingMedia = Lier un existant
editor-linkToPost = Lier à un article
editor-linkedPosts = Articles liés
editor-linkedPostsEmpty = Lié à aucun article.
editor-postPickerSearch = Rechercher des articles
editor-postPickerSearchPlaceholder = Rechercher des articles...
editor-unlinkMedia = Dissocier
editor-linkedMediaKindImage = Image
editor-linkedMediaKindFile = Fichier
editor-untitled = Sans titre
editor-createdAt = Créé
editor-updatedAt = Mis à jour
editor-publishedAt = Publié
tags-noTags = Aucun tag
tags-cloudSection = Nuage
tags-cloudHelp = Sélectionnez un ou plusieurs tags pour les modifier, les supprimer ou les fusionner.
tags-selectedCount = { $count } sélectionnés
tags-clearSelection = Effacer la sélection
tags-createSection = Créer un tag
tags-createPlaceholder = nouveau-tag
tags-createButton = Créer
tags-editTag = Modifier le tag
tags-manageSection = Gérer
tags-name = Nom
tags-color = Couleur
tags-colorPresets = Couleurs prédéfinies
tags-postTemplate = Modèle d'article
tags-noTemplate = Aucun
tags-merge = Fusionner
tags-mergeTarget = Tag cible
tags-mergeSection = Fusionner
tags-mergeHelp = Sélectionnez au moins deux tags dans le nuage ou la liste pour les fusionner.
tags-mergePreview = Tags à supprimer : { $tags }
tags-mergeConfirmTitle = Fusionner les tags
tags-mergeConfirmMessage = Fusionner { $count } tags dans { $target } ? Cette action est irréversible.
tags-deleteUsage = Ce tag est utilisé dans { $count } articles.
tags-discoverSection = Découvrir
tags-discoverDescription = Découvrir les tags à partir des articles actuels et réécrire tags.json pour refléter la base de données.
tags-discoverButton = Découvrir
tags-selectTag = Sélectionnez un tag à modifier
template-forceDeleteTitle = Forcer la suppression du modèle
template-forceDeleteMessage = Ce modèle est utilisé par { $posts } articles et { $tags } tags. Forcer la suppression ?
common-add = Ajouter
common-remove = Supprimer
common-clear = Effacer
common-noResults = Aucun résultat
settings-projectName = Nom du projet
settings-projectDescription = Description
settings-dataPath = Dossier de données
settings-browse = Parcourir...
settings-reset = Réinitialiser
settings-publicUrl = URL publique
settings-mainLanguage = Langue principale
settings-mainLanguageRequired = requise
settings-blogLanguages = Langues du blog
settings-defaultAuthor = Auteur par défaut
settings-maxPostsPerPage = Articles par page
settings-blogmarkCategory = Catégorie Blogmark
settings-defaultMode = Mode d'édition par défaut
settings-diffViewStyle = Style de diff
settings-categoryTitle = Titre pour { $category }
settings-categoryPostTemplate = Modèle d'article
settings-categoryListTemplate = Modèle de liste
settings-categoryRenderInLists = Afficher dans les listes
settings-categoryShowTitles = Afficher les titres
settings-addCategory = Ajouter une catégorie
settings-resetCategories = Rétablir les catégories par défaut
settings-wrapLongLines = Retour à la ligne automatique
settings-hideUnchangedRegions = Masquer les régions inchangées
settings-offlineMode = Mode avion
settings-onlineEndpointSection = Point de terminaison en ligne
settings-onlineEndpointUrl = URL du point de terminaison en ligne
settings-onlineEndpointModel = Modèle du point de terminaison en ligne
settings-onlineApiKey = Clé API en ligne
settings-airplaneEndpointSection = Point de terminaison mode avion
settings-airplaneEndpointUrl = URL du point de terminaison mode avion
settings-airplaneEndpointModel = Modèle du point de terminaison mode avion
settings-refreshModels = Rafraîchir les modèles
settings-defaultModel = Modèle par défaut
settings-titleModel = Modèle de titres
settings-imageAnalysisModel = Modèle d'analyse d'image
settings-keychainConfigured = Stocké dans le trousseau
settings-systemPrompt = Prompt système
settings-resetToDefault = Rétablir les valeurs par défaut
settings-luaRuntimeOnly = Lua est l'unique moteur de script dans l'application Rust.
settings-semanticSimilarityEnabled = Similarité sémantique
settings-sshHost = Hôte SSH
settings-sshUsername = Nom d'utilisateur SSH
settings-sshRemotePath = Chemin distant
settings-clear = Effacer
settings-rebuildPosts = Reconstruire les articles
settings-rebuildMedia = Reconstruire les médias
settings-rebuildScripts = Reconstruire les scripts
settings-rebuildTemplates = Reconstruire les modèles
settings-rebuildLinks = Reconstruire les liens
settings-regenerateThumbnails = Régénérer les miniatures
settings-openDataFolder = Ouvrir le dossier de données
settings-contentPlaceholder = Les paramètres de contenu apparaîtront ici
settings-technologyPlaceholder = Les paramètres technologiques apparaîtront ici
settings-mcpPlaceholder = Les paramètres du serveur MCP apparaîtront ici
dashboard-overview = Aperçu
dashboard-posts = Articles
dashboard-media = Médias
dashboard-tags = Tags
dashboard-categories = Catégories
dashboard-images = Images
dashboard-drafts = Brouillons
dashboard-published = Publiés
dashboard-archived = Archivés
dashboard-statCards = Instantané
dashboard-timeline = Chronologie
dashboard-noTimelineData = Aucune donnée de chronologie
dashboard-tagCloud = Nuage de tags
dashboard-noTags = Aucun tag pour le moment
dashboard-categoryCloud = Nuage de catégories
dashboard-recentPosts = Articles récents
dashboard-noRecentPosts = Aucun article récent
dashboard-and = et
dashboard-pin = Épingler
common-tabNotImplemented = Cette section sera mise en œuvre lors dune étape ultérieure.
editor-noPreviewAvailable = Aucun aperçu disponible