feat: completed base feature set for the app

This commit is contained in:
2026-07-18 20:25:17 +02:00
parent e9d6c70eb0
commit 638202b96c
46 changed files with 4486 additions and 541 deletions

View File

@@ -73,6 +73,7 @@ statusBar-offlineModeActive = Mode avion (actif)
projectSelector-switchProject = Changer de projet
projectSelector-projectsHeader = Projets
projectSelector-newProject = Nouveau projet
projectSelector-openProject = Ouvrir un projet…
projectSelector-createProject = Créer le projet
projectSelector-projectName = Nom du projet
projectSelector-projectNamePlaceholder = Mon blog
@@ -82,6 +83,8 @@ 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-opened = Projet "{ $name }" ouvert
projectSelector-toast-openFailed = Impossible douvrir le projet : { $error }
projectSelector-toast-createFailed = Impossible de créer le projet
projectSelector-toast-deleteFailed = Impossible de supprimer le projet
tabBar-closeHint = Fermer
@@ -149,6 +152,7 @@ engine-validateTranslationsFailed = Échec de la validation des traductions : {
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-uploadingTarget = Publication de { $target }…
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...
@@ -156,8 +160,16 @@ 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-openProject = Ouvrir le dossier du projet
dialog-importMedia = Importer des médias
dialog-replaceMedia = Remplacer le fichier média
dialog-imageFilter = Images
editor-replaceFile = Remplacer le fichier…
media-toast-imported = { $count } fichier(s) média importé(s)
media-toast-importFailed = Certains médias nont pas pu être importés : { $error }
media-toast-replaced = Fichier média remplacé
media-toast-unchanged = Le fichier sélectionné est identique ; aucun changement
media-toast-replaceFailed = Impossible de remplacer le fichier média : { $error }
settings-nav-project = Projet
settings-nav-editor = Éditeur
settings-nav-content = Contenu
@@ -410,4 +422,50 @@ engine-checkingItem = Vérification : { $current }/{ $total } — { $name }
engine-renderingPost = Rendu de { $post }
engine-writingGeneratedFiles = Écriture des fichiers générés
engine-generationComplete = Génération du site terminée
engine-runScript = Exécution du script…
engine-regeneratingItem = Régénération : { $name }
metadataDiff-run = Comparer
metadataDiff-running = Comparaison de la base de données et du système de fichiers…
metadataDiff-idle = Lancez la comparaison des métadonnées entre les fichiers portables et la base.
metadataDiff-clean = Les métadonnées de la base et des fichiers sont synchronisées.
metadataDiff-fileToDb = Utiliser le fichier
metadataDiff-dbToFile = Utiliser la base
metadataDiff-orphans = Fichiers orphelins
metadataDiff-errors = Erreurs
metadataDiff-repaired = Différence de métadonnées réparée
metadataDiff-field = { $field } : base = { $database } · Fichier = { $file }
metadataDiff-entity = { $entity } · { $path }
metadataDiff-orphan = { $reason } · { $path }
engine-fillMissingTranslationsStarted = Création des traductions manquantes…
engine-translatingContent = Traduction du contenu…
engine-fillMissingTranslationsComplete = Traduction terminée : { $posts } articles, { $media } médias, { $failed } échecs
engine-autoTranslationStarted = Création des traductions manquantes…
engine-autoTranslationComplete = { $count } brouillons de traduction créés
translationValidation-run = Valider
translationValidation-running = Validation des traductions…
translationValidation-idle = Lancez la validation des traductions de la base et du système de fichiers.
translationValidation-clean = Toutes les traductions sont cohérentes.
translationValidation-databaseIssues = Problèmes de base de données
translationValidation-filesystemIssues = Problèmes du système de fichiers
translationValidation-missingSourcePost = Larticle source est absent
translationValidation-sameLanguageAsCanonical = La langue correspond à larticle source
translationValidation-doNotTranslateHasTranslations = Larticle est marqué comme non traduisible
translationValidation-contentInDatabase = Le contenu publié reste dans la base de données
translationValidation-missingTranslation = Une traduction configurée est absente
blogmark-invalid = Blogmark invalide : { $error }
blogmark-unknownProject = Le projet ciblé par ce blogmark nexiste pas ici.
blogmark-noProject = Ouvrez un projet avant dimporter un blogmark.
blogmark-imported = Blogmark importé
blogmark-failed = Échec de limport du blogmark : { $error }
engine-generatedPage = Généré { $url } ({ $current }/{ $total })
settings-imageImportConcurrency = Imports dimages simultanés (18)
settings-imageImportConcurrencyInvalid = Le nombre dimports simultanés doit être compris entre 1 et 8
find-titleFind = Rechercher
find-titleReplace = Rechercher et remplacer
find-query = Texte recherché
find-replacement = Remplacement
find-next = Suivant
find-replace = Remplacer
find-replaceAll = Tout remplacer
find-noMatches = Aucun résultat
find-replacedCount = { $count } résultats remplacés