Localize the terminal interface.

This commit is contained in:
2026-07-20 15:11:54 +02:00
parent 25fe22a3d2
commit d922f5661f
7 changed files with 1127 additions and 339 deletions

View File

@@ -18,7 +18,7 @@ The project is under active development. Core blogging workflows are broadly ava
- Project-scoped typed domain events synchronize desktop views with shared-engine and future CLI mutations; persisted CLI notifications are consumed once, and the selected UI language is shared through settings. - Project-scoped typed domain events synchronize desktop views with shared-engine and future CLI mutations; persisted CLI notifications are consumed once, and the selected UI language is shared through settings.
- Headless `bds-cli` automation for rebuild/repair/render, publishing and Git sync, post/media/gallery creation, effective shared settings with secret-presence redaction, projects, utility Lua tasks, JSON I/O, airplane-mode AI routing, and guarded launcher installation from Settings → Data or `bds-cli install`. - Headless `bds-cli` automation for rebuild/repair/render, publishing and Git sync, post/media/gallery creation, effective shared settings with secret-presence redaction, projects, utility Lua tasks, JSON I/O, airplane-mode AI routing, and guarded launcher installation from Settings → Data or `bds-cli install`.
- Local MCP automation over stdio or a localhost-only stateless HTTP endpoint, with project resources, read/search/count tools, inert write proposals, explicit desktop approval, and opt-in Claude Code/Copilot configuration. - Local MCP automation over stdio or a localhost-only stateless HTTP endpoint, with project resources, read/search/count tools, inert write proposals, explicit desktop approval, and opt-in Claude Code/Copilot configuration.
- A full Ratatui terminal workspace, available locally through `bds-cli tui`/`BDS_MODE=tui` and remotely through authenticated SSH shell sessions, with shared post/template/script editing and publishing, project/search/command overlays, settings, tags, Git, reports, task progress, live multi-client updates, locale changes, and airplane-mode AI gating. - A fully localized Ratatui terminal workspace, available locally through `bds-cli tui`/`BDS_MODE=tui` and remotely through authenticated SSH shell sessions, with shared post/template/script editing and publishing, project/search/command overlays, settings, tags, Git, reports, task progress, live multi-client locale updates, and airplane-mode AI gating.
- `bds-cli server` hosting the shared application engines over a loopback-by-default, public-key-only SSH service, with restrictive private key material, live authorization updates, terminal-session transport, CLI-change synchronization, ordered domain/task events, and native desktop remote-project selection. - `bds-cli server` hosting the shared application engines over a loopback-by-default, public-key-only SSH service, with restrictive private key material, live authorization updates, terminal-session transport, CLI-change synchronization, ordered domain/task events, and native desktop remote-project selection.
- Markdown/Liquid rendering with native macros, multilingual routes, feeds, sitemap, Pagefind, and incremental site generation through cancellable section task groups. - Markdown/Liquid rendering with native macros, multilingual routes, feeds, sitemap, Pagefind, and incremental site generation through cancellable section task groups.
- Local preview in the app or system browser. - Local preview in the app or system browser.

File diff suppressed because it is too large Load Diff

View File

@@ -807,3 +807,120 @@ tui-settingDatabase = Datenbank
tui-settingAutomaticRebuild = Automatischer Neuaufbau tui-settingAutomaticRebuild = Automatischer Neuaufbau
tui-categoryEditing = Kategorien bearbeiten tui-categoryEditing = Kategorien bearbeiten
tui-categoryEditingGuiOnly = Kategorien können weiterhin in der Desktop-Anwendung hinzugefügt, bearbeitet und entfernt werden tui-categoryEditingGuiOnly = Kategorien können weiterhin in der Desktop-Anwendung hinzugefügt, bearbeitet und entfernt werden
tui-openItemDeleted = Der geöffnete Eintrag wurde von einem anderen Client gelöscht.
tui-taskRunning = { $label } — läuft
tui-taskProgress = { $label } — { $percent } %
tui-taskComplete = { $label } — abgeschlossen
tui-taskFailed = { $label } — { $error }
tui-taskCancelled = { $label } — abgebrochen
tui-untitled = Ohne Titel
tui-newItemUnavailable = In dieser Ansicht können keine neuen Einträge erstellt werden.
tui-editorSource = Quelltext
tui-savedAndPublished = Gespeichert und veröffentlicht
tui-saved = Gespeichert
tui-airplaneAiEndpointRequired = Flugmodus: Zuerst einen lokalen KI-Endpunkt konfigurieren.
tui-aiWrongResponseType = Die KI hat den falschen Antworttyp zurückgegeben.
tui-aiSuggestions = KI-Vorschläge
Titel: { $title }
Auszug: { $excerpt }
tui-aiSuggestionsAdded = KI-Vorschläge zur Ausgabe hinzugefügt
tui-unpublished = Veröffentlichung aufgehoben
tui-editorLanguage = Sprache: { $language }
tui-commitMessageRequired = Eine Commit-Nachricht ist erforderlich.
tui-taskGitCommit = Git-Commit
tui-committed = Commit erstellt
tui-tagNameRequired = Ein Tag-Name ist erforderlich.
tui-tagCreated = Tag erstellt
tui-tagRenamed = Tag umbenannt
tui-tagDeleted = Tag gelöscht
tui-deleteCancelled = Löschen abgebrochen
tui-titleRequired = Ein Titel ist erforderlich.
tui-confirmYesInput = j
tui-confirmNoInput = n
tui-projectSwitched = Projekt gewechselt
tui-notDirectory = Kein Verzeichnis: { $path }
tui-defaultProjectName = Blog
tui-projectPathInvalidUtf8 = Der Projektpfad ist kein gültiges UTF-8.
tui-rebuildSummary = Neuaufbau: { $posts } Beiträge, { $media } Medien, { $templates } Vorlagen, { $scripts } Skripte
tui-apiKeyConfigured = Im Systemschlüsselbund konfiguriert
tui-apiKeyConfigureDesktop = In der Desktop-Anwendung konfigurieren
tui-settingClaudeCode = Claude Code
tui-settingGithubCopilot = GitHub Copilot
tui-valueReadOnly = Dieser Wert ist schreibgeschützt.
tui-projectNameRequired = Der Projektname darf nicht leer sein.
tui-postsPerPageInvalid = Beiträge pro Seite muss eine Zahl von 1 bis 500 sein.
tui-imageImportConcurrencyInvalid = Die Parallelität des Bildimports muss eine Zahl von 1 bis 8 sein.
tui-settingsSaved = Einstellungen gespeichert
tui-deleteTagConfirm = „{ $name }“ löschen, das von { $count } Beitrag/Beiträgen verwendet wird? { $yes } eingeben und Eingabe drücken.
tui-markTagsRequired = Mindestens zwei Tags markieren, einschließlich des Ziels.
tui-tagsMerged = Tags zusammengeführt
tui-tagColourUpdated = Tag-Farbe aktualisiert
tui-tagTemplateUpdated = Tag-Vorlage aktualisiert
tui-tagsSynchronized = { $count } Tags synchronisiert
tui-noActiveProject = Kein aktives Projekt
tui-noActiveProjectDataFolder = Kein Datenordner für das aktive Projekt
tui-detachedHead = losgelöst
tui-airplaneGitPullBlocked = Der Flugmodus blockiert Git Pull.
tui-taskGitPull = Git Pull
tui-gitPullComplete = Pull abgeschlossen
{ $output }
tui-airplaneGitPushBlocked = Der Flugmodus blockiert Git Push.
tui-taskGitPush = Git Push
tui-gitPushComplete = Push abgeschlossen
{ $output }
tui-commandMetadataDiff = Metadatenvergleich
tui-commandValidateSite = Website prüfen
tui-commandForceRender = Rendern erzwingen
tui-commandRebuildDatabase = Datenbank neu aufbauen
tui-commandReindexSearch = Suche neu indizieren
tui-commandValidateTranslations = Übersetzungen prüfen [GUI]
tui-commandFindDuplicates = Duplikate finden [GUI]
tui-commandUploadSite = Website hochladen
tui-commandBrowserPreviewUrl = URL der Browser-Vorschau
tui-metadataDiffComplete = Metadatenvergleich abgeschlossen
tui-siteValidationComplete = Website-Prüfung abgeschlossen
tui-filesRendered = { $count } Dateien gerendert
tui-itemsRebuilt = { $count } Einträge neu aufgebaut
tui-postsReindexed = { $count } Beiträge neu indiziert
tui-commandDesktopOnly = Der Ergebniseditor dieses Befehls ist in der Desktop-Oberfläche verfügbar.
tui-airplaneUploadBlocked = Der Flugmodus blockiert das Hochladen.
tui-uploadRequiresPublishingSettings = Zum Hochladen sind Zugangsdaten erforderlich; zuerst die gemeinsamen Veröffentlichungseinstellungen verwenden.
tui-unknownCommand = Unbekannter Befehl: { $command }
tui-metadataChangesApplied = { $count } Metadatenänderungen angewendet
tui-validationApplied = Prüfung angewendet: { $written } geschrieben, { $removed } entfernt
tui-diffTruncated = [Diff gekürzt]
tui-metadataDiffFields = { $entity } { $path }: { $count } Feld/Felder
tui-metadataOrphan = verwaist { $path }: { $reason }
tui-metadataError = Fehler: { $error }
tui-noMetadataDifferences = Keine Metadatenunterschiede
tui-siteValidationReport = Fehlend
{ $missing }
Zusätzlich
{ $extra }
Veraltet
{ $stale }
tui-imagePreview = Bildvorschau
{ $path }
{ $dimensions }
tui-commandsTitle = Befehle
tui-foldersTitle = Ordner
tui-promptOpen = öffnen
tui-promptCommit = Commit
tui-promptConfirm = bestätigen
tui-promptValue = >
tui-readOnlyMarker = [schreibgeschützt]
tui-settingsHint = Eingabe bearbeitet/schaltet um · Strg+S speichert · Esc schließt
tui-tagsLoadFailed = Tags konnten nicht geladen werden
tui-tagCloudHint = Nach Verwendung sortierte Tag-Wolke
tui-tagManageHint = n erstellt · Eingabe benennt um · c Farbe · t Vorlage · d löscht · s synchronisiert
tui-tagMergeHint = Leertaste markiert · Ziel auswählen · m führt zusammen
tui-gitDiffBody = Bereitgestellt
{ $staged }
Nicht bereitgestellt
{ $unstaged }
tui-imageDimensions = { $format } · { $width } × { $height } px
tui-fileBytes = { $count } Byte

View File

@@ -807,3 +807,120 @@ tui-settingDatabase = Database
tui-settingAutomaticRebuild = Automatic Rebuild tui-settingAutomaticRebuild = Automatic Rebuild
tui-categoryEditing = Category Editing tui-categoryEditing = Category Editing
tui-categoryEditingGuiOnly = Category add, edit, and removal remain in the desktop application tui-categoryEditingGuiOnly = Category add, edit, and removal remain in the desktop application
tui-openItemDeleted = The open item was deleted by another client.
tui-taskRunning = { $label } — running
tui-taskProgress = { $label } — { $percent }%
tui-taskComplete = { $label } — complete
tui-taskFailed = { $label } — { $error }
tui-taskCancelled = { $label } — cancelled
tui-untitled = Untitled
tui-newItemUnavailable = New items are not available in this view.
tui-editorSource = Source
tui-savedAndPublished = Saved and published
tui-saved = Saved
tui-airplaneAiEndpointRequired = Airplane mode: configure a local AI endpoint first.
tui-aiWrongResponseType = AI returned the wrong response type.
tui-aiSuggestions = AI suggestions
Title: { $title }
Excerpt: { $excerpt }
tui-aiSuggestionsAdded = AI suggestions added to output
tui-unpublished = Unpublished
tui-editorLanguage = Language: { $language }
tui-commitMessageRequired = Commit message is required.
tui-taskGitCommit = Git commit
tui-committed = Committed
tui-tagNameRequired = Tag name is required.
tui-tagCreated = Tag created
tui-tagRenamed = Tag renamed
tui-tagDeleted = Tag deleted
tui-deleteCancelled = Delete cancelled
tui-titleRequired = Title is required.
tui-confirmYesInput = y
tui-confirmNoInput = n
tui-projectSwitched = Project switched
tui-notDirectory = Not a directory: { $path }
tui-defaultProjectName = Blog
tui-projectPathInvalidUtf8 = The project path is not valid UTF-8.
tui-rebuildSummary = Rebuild: { $posts } posts, { $media } media, { $templates } templates, { $scripts } scripts
tui-apiKeyConfigured = Configured in the system keychain
tui-apiKeyConfigureDesktop = Configure in the desktop application
tui-settingClaudeCode = Claude Code
tui-settingGithubCopilot = GitHub Copilot
tui-valueReadOnly = This value is read-only.
tui-projectNameRequired = Project name must not be empty.
tui-postsPerPageInvalid = Posts per page must be a number from 1 to 500.
tui-imageImportConcurrencyInvalid = Image import concurrency must be a number from 1 to 8.
tui-settingsSaved = Settings saved
tui-deleteTagConfirm = Delete “{ $name }”, used by { $count } post(s)? Type { $yes } and press Enter.
tui-markTagsRequired = Mark at least two tags, including the target.
tui-tagsMerged = Tags merged
tui-tagColourUpdated = Tag colour updated
tui-tagTemplateUpdated = Tag template updated
tui-tagsSynchronized = Synchronized { $count } tags
tui-noActiveProject = No active project
tui-noActiveProjectDataFolder = No active project data folder
tui-detachedHead = detached
tui-airplaneGitPullBlocked = Airplane mode blocks Git pull.
tui-taskGitPull = Git pull
tui-gitPullComplete = Pull complete
{ $output }
tui-airplaneGitPushBlocked = Airplane mode blocks Git push.
tui-taskGitPush = Git push
tui-gitPushComplete = Push complete
{ $output }
tui-commandMetadataDiff = Metadata diff
tui-commandValidateSite = Validate site
tui-commandForceRender = Force render
tui-commandRebuildDatabase = Rebuild database
tui-commandReindexSearch = Reindex search
tui-commandValidateTranslations = Validate translations [GUI]
tui-commandFindDuplicates = Find duplicates [GUI]
tui-commandUploadSite = Upload site
tui-commandBrowserPreviewUrl = Browser preview URL
tui-metadataDiffComplete = Metadata diff complete
tui-siteValidationComplete = Site validation complete
tui-filesRendered = Rendered { $count } files
tui-itemsRebuilt = Rebuilt { $count } items
tui-postsReindexed = Reindexed { $count } posts
tui-commandDesktopOnly = This commands result editor is available in the desktop UI.
tui-airplaneUploadBlocked = Airplane mode blocks upload.
tui-uploadRequiresPublishingSettings = Upload requires publishing credentials; use the shared Publishing settings first.
tui-unknownCommand = Unknown command: { $command }
tui-metadataChangesApplied = Applied { $count } metadata changes
tui-validationApplied = Applied validation: { $written } written, { $removed } removed
tui-diffTruncated = [diff truncated]
tui-metadataDiffFields = { $entity } { $path }: { $count } field(s)
tui-metadataOrphan = orphan { $path }: { $reason }
tui-metadataError = error: { $error }
tui-noMetadataDifferences = No metadata differences
tui-siteValidationReport = Missing
{ $missing }
Extra
{ $extra }
Stale
{ $stale }
tui-imagePreview = Image preview
{ $path }
{ $dimensions }
tui-commandsTitle = Commands
tui-foldersTitle = Folders
tui-promptOpen = open
tui-promptCommit = commit
tui-promptConfirm = confirm
tui-promptValue = >
tui-readOnlyMarker = [read-only]
tui-settingsHint = Enter edits/toggles · Ctrl+S saves · Esc closes
tui-tagsLoadFailed = Could not load tags
tui-tagCloudHint = Usage-ordered tag cloud
tui-tagManageHint = n create · Enter rename · c colour · t template · d delete · s sync
tui-tagMergeHint = Space marks · select target · m merges
tui-gitDiffBody = Staged
{ $staged }
Unstaged
{ $unstaged }
tui-imageDimensions = { $format } · { $width } × { $height } px
tui-fileBytes = { $count } bytes

View File

@@ -807,3 +807,120 @@ tui-settingDatabase = Base de datos
tui-settingAutomaticRebuild = Reconstrucción automática tui-settingAutomaticRebuild = Reconstrucción automática
tui-categoryEditing = Edición de categorías tui-categoryEditing = Edición de categorías
tui-categoryEditingGuiOnly = La creación, edición y eliminación de categorías permanecen en la aplicación de escritorio tui-categoryEditingGuiOnly = La creación, edición y eliminación de categorías permanecen en la aplicación de escritorio
tui-openItemDeleted = Otro cliente eliminó el elemento abierto.
tui-taskRunning = { $label } — en curso
tui-taskProgress = { $label } — { $percent } %
tui-taskComplete = { $label } — completado
tui-taskFailed = { $label } — { $error }
tui-taskCancelled = { $label } — cancelado
tui-untitled = Sin título
tui-newItemUnavailable = No se pueden crear elementos en esta vista.
tui-editorSource = Fuente
tui-savedAndPublished = Guardado y publicado
tui-saved = Guardado
tui-airplaneAiEndpointRequired = Modo avión: configura primero un punto final de IA local.
tui-aiWrongResponseType = La IA devolvió un tipo de respuesta incorrecto.
tui-aiSuggestions = Sugerencias de IA
Título: { $title }
Extracto: { $excerpt }
tui-aiSuggestionsAdded = Sugerencias de IA añadidas a la salida
tui-unpublished = Publicación retirada
tui-editorLanguage = Idioma: { $language }
tui-commitMessageRequired = Se requiere un mensaje de commit.
tui-taskGitCommit = Commit de Git
tui-committed = Commit creado
tui-tagNameRequired = Se requiere un nombre de etiqueta.
tui-tagCreated = Etiqueta creada
tui-tagRenamed = Etiqueta renombrada
tui-tagDeleted = Etiqueta eliminada
tui-deleteCancelled = Eliminación cancelada
tui-titleRequired = Se requiere un título.
tui-confirmYesInput = s
tui-confirmNoInput = n
tui-projectSwitched = Proyecto cambiado
tui-notDirectory = No es un directorio: { $path }
tui-defaultProjectName = Blog
tui-projectPathInvalidUtf8 = La ruta del proyecto no es UTF-8 válido.
tui-rebuildSummary = Reconstrucción: { $posts } publicaciones, { $media } medios, { $templates } plantillas, { $scripts } scripts
tui-apiKeyConfigured = Configurada en el llavero del sistema
tui-apiKeyConfigureDesktop = Configurar en la aplicación de escritorio
tui-settingClaudeCode = Claude Code
tui-settingGithubCopilot = GitHub Copilot
tui-valueReadOnly = Este valor es de solo lectura.
tui-projectNameRequired = El nombre del proyecto no puede estar vacío.
tui-postsPerPageInvalid = Las publicaciones por página deben ser un número del 1 al 500.
tui-imageImportConcurrencyInvalid = La concurrencia de importación de imágenes debe ser un número del 1 al 8.
tui-settingsSaved = Ajustes guardados
tui-deleteTagConfirm = ¿Eliminar «{ $name }», usada por { $count } publicación(es)? Escribe { $yes } y pulsa Intro.
tui-markTagsRequired = Marca al menos dos etiquetas, incluida la de destino.
tui-tagsMerged = Etiquetas fusionadas
tui-tagColourUpdated = Color de etiqueta actualizado
tui-tagTemplateUpdated = Plantilla de etiqueta actualizada
tui-tagsSynchronized = { $count } etiquetas sincronizadas
tui-noActiveProject = No hay un proyecto activo
tui-noActiveProjectDataFolder = No hay una carpeta de datos del proyecto activo
tui-detachedHead = separado
tui-airplaneGitPullBlocked = El modo avión bloquea Git pull.
tui-taskGitPull = Git pull
tui-gitPullComplete = Pull completado
{ $output }
tui-airplaneGitPushBlocked = El modo avión bloquea Git push.
tui-taskGitPush = Git push
tui-gitPushComplete = Push completado
{ $output }
tui-commandMetadataDiff = Diferencias de metadatos
tui-commandValidateSite = Validar sitio
tui-commandForceRender = Forzar renderizado
tui-commandRebuildDatabase = Reconstruir base de datos
tui-commandReindexSearch = Reindexar búsqueda
tui-commandValidateTranslations = Validar traducciones [GUI]
tui-commandFindDuplicates = Buscar duplicados [GUI]
tui-commandUploadSite = Subir sitio
tui-commandBrowserPreviewUrl = URL de vista previa del navegador
tui-metadataDiffComplete = Diferencias de metadatos completadas
tui-siteValidationComplete = Validación del sitio completada
tui-filesRendered = { $count } archivos renderizados
tui-itemsRebuilt = { $count } elementos reconstruidos
tui-postsReindexed = { $count } publicaciones reindexadas
tui-commandDesktopOnly = El editor de resultados de este comando está disponible en la interfaz de escritorio.
tui-airplaneUploadBlocked = El modo avión bloquea la subida.
tui-uploadRequiresPublishingSettings = La subida requiere credenciales de publicación; usa primero los ajustes compartidos de Publicación.
tui-unknownCommand = Comando desconocido: { $command }
tui-metadataChangesApplied = { $count } cambios de metadatos aplicados
tui-validationApplied = Validación aplicada: { $written } escritos, { $removed } eliminados
tui-diffTruncated = [diferencia truncada]
tui-metadataDiffFields = { $entity } { $path }: { $count } campo(s)
tui-metadataOrphan = huérfano { $path }: { $reason }
tui-metadataError = error: { $error }
tui-noMetadataDifferences = No hay diferencias de metadatos
tui-siteValidationReport = Faltantes
{ $missing }
Adicionales
{ $extra }
Obsoletos
{ $stale }
tui-imagePreview = Vista previa de imagen
{ $path }
{ $dimensions }
tui-commandsTitle = Comandos
tui-foldersTitle = Carpetas
tui-promptOpen = abrir
tui-promptCommit = commit
tui-promptConfirm = confirmar
tui-promptValue = >
tui-readOnlyMarker = [solo lectura]
tui-settingsHint = Intro edita/activa · Ctrl+S guarda · Esc cierra
tui-tagsLoadFailed = No se pudieron cargar las etiquetas
tui-tagCloudHint = Nube de etiquetas ordenada por uso
tui-tagManageHint = n crea · Intro renombra · c color · t plantilla · d elimina · s sincroniza
tui-tagMergeHint = Espacio marca · selecciona el destino · m fusiona
tui-gitDiffBody = Preparado
{ $staged }
Sin preparar
{ $unstaged }
tui-imageDimensions = { $format } · { $width } × { $height } px
tui-fileBytes = { $count } bytes

View File

@@ -807,3 +807,120 @@ tui-settingDatabase = Base de données
tui-settingAutomaticRebuild = Reconstruction automatique tui-settingAutomaticRebuild = Reconstruction automatique
tui-categoryEditing = Modification des catégories tui-categoryEditing = Modification des catégories
tui-categoryEditingGuiOnly = Lajout, la modification et la suppression de catégories restent dans lapplication de bureau tui-categoryEditingGuiOnly = Lajout, la modification et la suppression de catégories restent dans lapplication de bureau
tui-openItemDeleted = Lélément ouvert a été supprimé par un autre client.
tui-taskRunning = { $label } — en cours
tui-taskProgress = { $label } — { $percent } %
tui-taskComplete = { $label } — terminé
tui-taskFailed = { $label } — { $error }
tui-taskCancelled = { $label } — annulé
tui-untitled = Sans titre
tui-newItemUnavailable = Aucun nouvel élément ne peut être créé dans cette vue.
tui-editorSource = Source
tui-savedAndPublished = Enregistré et publié
tui-saved = Enregistré
tui-airplaneAiEndpointRequired = Mode avion : configurez dabord un point de terminaison IA local.
tui-aiWrongResponseType = LIA a renvoyé un type de réponse incorrect.
tui-aiSuggestions = Suggestions de lIA
Titre : { $title }
Extrait : { $excerpt }
tui-aiSuggestionsAdded = Suggestions de lIA ajoutées à la sortie
tui-unpublished = Publication retirée
tui-editorLanguage = Langue : { $language }
tui-commitMessageRequired = Un message de commit est requis.
tui-taskGitCommit = Commit Git
tui-committed = Commit créé
tui-tagNameRequired = Un nom de tag est requis.
tui-tagCreated = Tag créé
tui-tagRenamed = Tag renommé
tui-tagDeleted = Tag supprimé
tui-deleteCancelled = Suppression annulée
tui-titleRequired = Un titre est requis.
tui-confirmYesInput = o
tui-confirmNoInput = n
tui-projectSwitched = Projet changé
tui-notDirectory = Ce nest pas un dossier : { $path }
tui-defaultProjectName = Blog
tui-projectPathInvalidUtf8 = Le chemin du projet nest pas un UTF-8 valide.
tui-rebuildSummary = Reconstruction : { $posts } articles, { $media } médias, { $templates } modèles, { $scripts } scripts
tui-apiKeyConfigured = Configurée dans le trousseau système
tui-apiKeyConfigureDesktop = Configurer dans lapplication de bureau
tui-settingClaudeCode = Claude Code
tui-settingGithubCopilot = GitHub Copilot
tui-valueReadOnly = Cette valeur est en lecture seule.
tui-projectNameRequired = Le nom du projet ne peut pas être vide.
tui-postsPerPageInvalid = Le nombre darticles par page doit être compris entre 1 et 500.
tui-imageImportConcurrencyInvalid = La concurrence dimportation des images doit être comprise entre 1 et 8.
tui-settingsSaved = Réglages enregistrés
tui-deleteTagConfirm = Supprimer « { $name } », utilisé par { $count } article(s) ? Saisissez { $yes } puis appuyez sur Entrée.
tui-markTagsRequired = Marquez au moins deux tags, dont la cible.
tui-tagsMerged = Tags fusionnés
tui-tagColourUpdated = Couleur du tag mise à jour
tui-tagTemplateUpdated = Modèle du tag mis à jour
tui-tagsSynchronized = { $count } tags synchronisés
tui-noActiveProject = Aucun projet actif
tui-noActiveProjectDataFolder = Aucun dossier de données pour le projet actif
tui-detachedHead = détaché
tui-airplaneGitPullBlocked = Le mode avion bloque Git pull.
tui-taskGitPull = Git pull
tui-gitPullComplete = Pull terminé
{ $output }
tui-airplaneGitPushBlocked = Le mode avion bloque Git push.
tui-taskGitPush = Git push
tui-gitPushComplete = Push terminé
{ $output }
tui-commandMetadataDiff = Différences de métadonnées
tui-commandValidateSite = Valider le site
tui-commandForceRender = Forcer le rendu
tui-commandRebuildDatabase = Reconstruire la base de données
tui-commandReindexSearch = Réindexer la recherche
tui-commandValidateTranslations = Valider les traductions [GUI]
tui-commandFindDuplicates = Rechercher les doublons [GUI]
tui-commandUploadSite = Téléverser le site
tui-commandBrowserPreviewUrl = URL daperçu dans le navigateur
tui-metadataDiffComplete = Comparaison des métadonnées terminée
tui-siteValidationComplete = Validation du site terminée
tui-filesRendered = { $count } fichiers rendus
tui-itemsRebuilt = { $count } éléments reconstruits
tui-postsReindexed = { $count } articles réindexés
tui-commandDesktopOnly = Léditeur de résultats de cette commande est disponible dans linterface de bureau.
tui-airplaneUploadBlocked = Le mode avion bloque le téléversement.
tui-uploadRequiresPublishingSettings = Le téléversement nécessite des identifiants ; utilisez dabord les réglages de publication partagés.
tui-unknownCommand = Commande inconnue : { $command }
tui-metadataChangesApplied = { $count } modifications de métadonnées appliquées
tui-validationApplied = Validation appliquée : { $written } écrits, { $removed } supprimés
tui-diffTruncated = [différence tronquée]
tui-metadataDiffFields = { $entity } { $path } : { $count } champ(s)
tui-metadataOrphan = orphelin { $path } : { $reason }
tui-metadataError = erreur : { $error }
tui-noMetadataDifferences = Aucune différence de métadonnées
tui-siteValidationReport = Manquants
{ $missing }
Supplémentaires
{ $extra }
Périmés
{ $stale }
tui-imagePreview = Aperçu de limage
{ $path }
{ $dimensions }
tui-commandsTitle = Commandes
tui-foldersTitle = Dossiers
tui-promptOpen = ouvrir
tui-promptCommit = commit
tui-promptConfirm = confirmer
tui-promptValue = >
tui-readOnlyMarker = [lecture seule]
tui-settingsHint = Entrée modifie/bascule · Ctrl+S enregistre · Échap ferme
tui-tagsLoadFailed = Impossible de charger les tags
tui-tagCloudHint = Nuage de tags trié par utilisation
tui-tagManageHint = n crée · Entrée renomme · c couleur · t modèle · d supprime · s synchronise
tui-tagMergeHint = Espace marque · sélectionnez la cible · m fusionne
tui-gitDiffBody = Indexé
{ $staged }
Non indexé
{ $unstaged }
tui-imageDimensions = { $format } · { $width } × { $height } px
tui-fileBytes = { $count } octets

View File

@@ -807,3 +807,120 @@ tui-settingDatabase = Database
tui-settingAutomaticRebuild = Ricostruzione automatica tui-settingAutomaticRebuild = Ricostruzione automatica
tui-categoryEditing = Modifica delle categorie tui-categoryEditing = Modifica delle categorie
tui-categoryEditingGuiOnly = Laggiunta, la modifica e la rimozione delle categorie restano nellapplicazione desktop tui-categoryEditingGuiOnly = Laggiunta, la modifica e la rimozione delle categorie restano nellapplicazione desktop
tui-openItemDeleted = Lelemento aperto è stato eliminato da un altro client.
tui-taskRunning = { $label } — in esecuzione
tui-taskProgress = { $label } — { $percent }%
tui-taskComplete = { $label } — completato
tui-taskFailed = { $label } — { $error }
tui-taskCancelled = { $label } — annullato
tui-untitled = Senza titolo
tui-newItemUnavailable = Non è possibile creare nuovi elementi in questa vista.
tui-editorSource = Sorgente
tui-savedAndPublished = Salvato e pubblicato
tui-saved = Salvato
tui-airplaneAiEndpointRequired = Modalità aereo: configura prima un endpoint IA locale.
tui-aiWrongResponseType = LIA ha restituito un tipo di risposta errato.
tui-aiSuggestions = Suggerimenti IA
Titolo: { $title }
Estratto: { $excerpt }
tui-aiSuggestionsAdded = Suggerimenti IA aggiunti alloutput
tui-unpublished = Pubblicazione rimossa
tui-editorLanguage = Lingua: { $language }
tui-commitMessageRequired = È richiesto un messaggio di commit.
tui-taskGitCommit = Commit Git
tui-committed = Commit creato
tui-tagNameRequired = È richiesto un nome per il tag.
tui-tagCreated = Tag creato
tui-tagRenamed = Tag rinominato
tui-tagDeleted = Tag eliminato
tui-deleteCancelled = Eliminazione annullata
tui-titleRequired = È richiesto un titolo.
tui-confirmYesInput = s
tui-confirmNoInput = n
tui-projectSwitched = Progetto cambiato
tui-notDirectory = Non è una cartella: { $path }
tui-defaultProjectName = Blog
tui-projectPathInvalidUtf8 = Il percorso del progetto non è UTF-8 valido.
tui-rebuildSummary = Ricostruzione: { $posts } articoli, { $media } media, { $templates } modelli, { $scripts } script
tui-apiKeyConfigured = Configurata nel portachiavi di sistema
tui-apiKeyConfigureDesktop = Configura nellapplicazione desktop
tui-settingClaudeCode = Claude Code
tui-settingGithubCopilot = GitHub Copilot
tui-valueReadOnly = Questo valore è di sola lettura.
tui-projectNameRequired = Il nome del progetto non può essere vuoto.
tui-postsPerPageInvalid = Gli articoli per pagina devono essere un numero da 1 a 500.
tui-imageImportConcurrencyInvalid = La concorrenza dellimportazione immagini deve essere un numero da 1 a 8.
tui-settingsSaved = Impostazioni salvate
tui-deleteTagConfirm = Eliminare “{ $name }”, usato da { $count } articoli? Digita { $yes } e premi Invio.
tui-markTagsRequired = Seleziona almeno due tag, incluso quello di destinazione.
tui-tagsMerged = Tag uniti
tui-tagColourUpdated = Colore del tag aggiornato
tui-tagTemplateUpdated = Modello del tag aggiornato
tui-tagsSynchronized = { $count } tag sincronizzati
tui-noActiveProject = Nessun progetto attivo
tui-noActiveProjectDataFolder = Nessuna cartella dati per il progetto attivo
tui-detachedHead = scollegato
tui-airplaneGitPullBlocked = La modalità aereo blocca Git pull.
tui-taskGitPull = Git pull
tui-gitPullComplete = Pull completato
{ $output }
tui-airplaneGitPushBlocked = La modalità aereo blocca Git push.
tui-taskGitPush = Git push
tui-gitPushComplete = Push completato
{ $output }
tui-commandMetadataDiff = Differenze dei metadati
tui-commandValidateSite = Convalida sito
tui-commandForceRender = Forza rendering
tui-commandRebuildDatabase = Ricostruisci database
tui-commandReindexSearch = Reindicizza ricerca
tui-commandValidateTranslations = Convalida traduzioni [GUI]
tui-commandFindDuplicates = Trova duplicati [GUI]
tui-commandUploadSite = Carica sito
tui-commandBrowserPreviewUrl = URL anteprima browser
tui-metadataDiffComplete = Confronto metadati completato
tui-siteValidationComplete = Convalida sito completata
tui-filesRendered = { $count } file renderizzati
tui-itemsRebuilt = { $count } elementi ricostruiti
tui-postsReindexed = { $count } articoli reindicizzati
tui-commandDesktopOnly = Leditor dei risultati di questo comando è disponibile nellinterfaccia desktop.
tui-airplaneUploadBlocked = La modalità aereo blocca il caricamento.
tui-uploadRequiresPublishingSettings = Il caricamento richiede credenziali di pubblicazione; usa prima le impostazioni di Pubblicazione condivise.
tui-unknownCommand = Comando sconosciuto: { $command }
tui-metadataChangesApplied = { $count } modifiche ai metadati applicate
tui-validationApplied = Convalida applicata: { $written } scritti, { $removed } rimossi
tui-diffTruncated = [differenza troncata]
tui-metadataDiffFields = { $entity } { $path }: { $count } campi
tui-metadataOrphan = orfano { $path }: { $reason }
tui-metadataError = errore: { $error }
tui-noMetadataDifferences = Nessuna differenza nei metadati
tui-siteValidationReport = Mancanti
{ $missing }
Aggiuntivi
{ $extra }
Obsoleti
{ $stale }
tui-imagePreview = Anteprima immagine
{ $path }
{ $dimensions }
tui-commandsTitle = Comandi
tui-foldersTitle = Cartelle
tui-promptOpen = apri
tui-promptCommit = commit
tui-promptConfirm = conferma
tui-promptValue = >
tui-readOnlyMarker = [sola lettura]
tui-settingsHint = Invio modifica/attiva · Ctrl+S salva · Esc chiude
tui-tagsLoadFailed = Impossibile caricare i tag
tui-tagCloudHint = Nuvola di tag ordinata per utilizzo
tui-tagManageHint = n crea · Invio rinomina · c colore · t modello · d elimina · s sincronizza
tui-tagMergeHint = Spazio seleziona · scegli la destinazione · m unisce
tui-gitDiffBody = In stage
{ $staged }
Non in stage
{ $unstaged }
tui-imageDimensions = { $format } · { $width } × { $height } px
tui-fileBytes = { $count } byte