feat: terminal UI over the shared workbench core (issue #26, phase 4)

This commit is contained in:
2026-07-14 20:33:30 +02:00
parent 3a8fafd2fd
commit a3ca44640c
14 changed files with 1701 additions and 295 deletions

View File

@@ -10,7 +10,7 @@ msgstr "%{canonical} = %{translation}"
msgid "%{count} mapped"
msgstr "%{count} mappati"
#: lib/bds/desktop/shell_data.ex:171
#: lib/bds/desktop/shell_data.ex:173
#, elixir-autogen, elixir-format
msgid "%{count} post"
msgid_plural "%{count} posts"
@@ -81,6 +81,11 @@ msgstr "Impostazioni IA"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72
#: lib/bds/desktop/shell_live/post_editor.ex:920
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:203
#: lib/bds/tui.ex:206
#: lib/bds/tui.ex:209
#: lib/bds/tui.ex:217
#: lib/bds/tui.ex:537
#, elixir-autogen, elixir-format
msgid "AI Suggestions"
msgstr "Suggerimenti IA"
@@ -301,7 +306,7 @@ msgstr "Archivi tag renderizzati"
msgid "Validation apply prepared"
msgstr "Applicazione della validazione preparata"
#: lib/bds/desktop/shell_data.ex:164
#: lib/bds/desktop/shell_data.ex:166
#: lib/bds/ui/sidebar.ex:331
#, elixir-autogen, elixir-format
msgid "Archived"
@@ -336,7 +341,7 @@ msgstr "Autore"
msgid "Auto"
msgstr "Automatico"
#: lib/bds/desktop/shell_live.ex:442
#: lib/bds/desktop/shell_live.ex:443
#: lib/bds/desktop/shell_live/chat_editor.ex:234
#: lib/bds/desktop/shell_live/media_editor.ex:171
#: lib/bds/desktop/shell_live/media_editor.ex:364
@@ -486,7 +491,7 @@ msgstr "Valori predefiniti delle categorie, opzioni di rendering e collegamento
msgid "Category name is required"
msgstr "Il nome della categoria è obbligatorio"
#: lib/bds/desktop/shell_live.ex:780
#: lib/bds/desktop/shell_live.ex:789
#: lib/bds/desktop/shell_live/chat_editor.ex:87
#: lib/bds/desktop/shell_live/chat_editor.ex:233
#: lib/bds/desktop/shell_live/chat_editor.ex:323
@@ -584,6 +589,7 @@ msgstr "Conferma"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375
#: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:308
#: lib/bds/ui/sidebar.ex:764
#, elixir-autogen, elixir-format
msgid "Content"
@@ -753,7 +759,7 @@ msgstr "Elimina traduzione"
msgid "Delete conversation"
msgstr "Elimina conversazione"
#: lib/bds/desktop/shell_live/post_editor/persistence.ex:65
#: lib/bds/ui/post_editor/persistence.ex:69
#, elixir-autogen, elixir-format
msgid "Delete this unpublished draft"
msgstr "Elimina questa bozza non pubblicata"
@@ -810,17 +816,17 @@ msgstr "Disattiva l'output di ragionamento per il modello di chat offline"
msgid "Disable reasoning output for the online chat model"
msgstr "Disattiva l'output di ragionamento per il modello di chat online"
#: lib/bds/desktop/shell_live/post_editor/persistence.ex:57
#: lib/bds/ui/post_editor/persistence.ex:61
#, elixir-autogen, elixir-format
msgid "Discard Changes"
msgstr "Annulla le modifiche"
#: lib/bds/desktop/shell_live/post_editor/persistence.ex:58
#: lib/bds/ui/post_editor/persistence.ex:62
#, elixir-autogen, elixir-format
msgid "Discard Draft"
msgstr "Elimina bozza"
#: lib/bds/desktop/shell_live/post_editor/persistence.ex:64
#: lib/bds/ui/post_editor/persistence.ex:68
#, elixir-autogen, elixir-format
msgid "Discard changes and restore the published version"
msgstr "Annulla le modifiche e ripristina la versione pubblicata"
@@ -863,7 +869,7 @@ msgstr "Non tradurre"
msgid "Documentation"
msgstr "Documentazione"
#: lib/bds/desktop/shell_data.ex:162
#: lib/bds/desktop/shell_data.ex:164
#, elixir-autogen, elixir-format
msgid "Draft"
msgstr "Bozza"
@@ -1063,7 +1069,7 @@ msgstr "Galleria"
msgid "Generate Site"
msgstr "Genera sito"
#: lib/bds/desktop/shell_live.ex:781
#: lib/bds/desktop/shell_live.ex:790
#: lib/bds/desktop/shell_live/socket_state.ex:109
#: lib/bds/ui/sidebar.ex:789
#, elixir-autogen, elixir-format
@@ -1076,8 +1082,8 @@ msgstr "Git"
msgid "Git Diff"
msgstr "Diff Git"
#: lib/bds/desktop/shell_data.ex:226
#: lib/bds/desktop/shell_live.ex:777
#: lib/bds/desktop/shell_data.ex:228
#: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:171
#, elixir-autogen, elixir-format
msgid "Git Log"
@@ -1103,7 +1109,7 @@ msgstr "Home"
msgid "Host"
msgstr "Host"
#: lib/bds/desktop/shell_data.ex:98
#: lib/bds/desktop/shell_data.ex:100
#: lib/bds/desktop/shell_live/index.html.heex:657
#: lib/bds/desktop/shell_live/media_editor.ex:731
#: lib/bds/desktop/shell_live/post_editor.ex:1038
@@ -1200,9 +1206,9 @@ msgstr "Definizioni di importazione"
msgid "Import failed: %{error}"
msgstr "Importazione non riuscita: %{error}"
#: lib/bds/desktop/shell_live.ex:605
#: lib/bds/desktop/shell_live.ex:893
#: lib/bds/desktop/shell_live.ex:899
#: lib/bds/desktop/shell_live.ex:606
#: lib/bds/desktop/shell_live.ex:902
#: lib/bds/desktop/shell_live.ex:908
#: lib/bds/desktop/shell_live/sidebar_create.ex:47
#, elixir-autogen, elixir-format
msgid "Import media"
@@ -1337,7 +1343,7 @@ msgstr "Tipo MIME"
msgid "Macros (%{count})"
msgstr "Macro (%{count})"
#: lib/bds/desktop/shell_data.ex:101
#: lib/bds/desktop/shell_data.ex:103
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:55
#, elixir-autogen, elixir-format
msgid "Main Language"
@@ -1379,6 +1385,9 @@ msgstr "Numero massimo di post per pagina"
#: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:452
#: lib/bds/tui.ex:581
#: lib/bds/tui.ex:584
#: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:558
@@ -1431,7 +1440,7 @@ msgstr "Diff metadati"
msgid "Missing URLs"
msgstr "URL mancanti"
#: lib/bds/desktop/shell_data.ex:100
#: lib/bds/desktop/shell_data.ex:102
#, elixir-autogen, elixir-format
msgid "Mode"
msgstr "Modalità"
@@ -1466,6 +1475,7 @@ msgstr "Nuova pagina"
#: lib/bds/desktop/menu_bar.ex:185
#: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:103
#, elixir-autogen, elixir-format
msgid "New Post"
msgstr "Nuovo post"
@@ -1644,7 +1654,7 @@ msgstr "Non ancora supportato nella riscrittura"
msgid "Nothing to Import"
msgstr "Niente da importare"
#: lib/bds/desktop/shell_data.ex:100
#: lib/bds/desktop/shell_data.ex:102
#: lib/bds/desktop/shell_live/index.html.heex:503
#, elixir-autogen, elixir-format
msgid "Offline"
@@ -1784,7 +1794,7 @@ msgstr "Altro"
msgid "Other (%{count})"
msgstr "Altro (%{count})"
#: lib/bds/desktop/shell_live.ex:776
#: lib/bds/desktop/shell_live.ex:785
#: lib/bds/desktop/shell_live/panel_renderer.ex:83
#, elixir-autogen, elixir-format
msgid "Output"
@@ -1866,7 +1876,7 @@ msgstr "Salva la lingua rilevata per questo media"
msgid "Post"
msgstr "Post"
#: lib/bds/desktop/shell_data.ex:229
#: lib/bds/desktop/shell_data.ex:231
#: lib/bds/desktop/shell_live/panel_renderer.ex:118
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:310
#, elixir-autogen, elixir-format
@@ -1901,6 +1911,8 @@ msgstr "Articolo salvato"
#: lib/bds/desktop/menu_bar.ex:202
#: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:451
#: lib/bds/tui.ex:462
#: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format
@@ -1985,7 +1997,7 @@ msgstr "Pubblica"
msgid "Publish Selected"
msgstr "Pubblica selezionati"
#: lib/bds/desktop/shell_data.ex:163
#: lib/bds/desktop/shell_data.ex:165
#: lib/bds/desktop/shell_live/post_editor.ex:1036
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:472
#: lib/bds/ui/sidebar.ex:324
@@ -2282,6 +2294,7 @@ msgstr "Le capacità di scripting sono configurate a livello applicativo nella r
#: lib/bds/desktop/shell_live/script_editor.ex:216
#: lib/bds/desktop/shell_live/script_editor.ex:219
#: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:454
#: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115
@@ -2456,7 +2469,7 @@ msgstr "Avvia chat"
msgid "Starting..."
msgstr "Avvio..."
#: lib/bds/desktop/shell_data.ex:97
#: lib/bds/desktop/shell_data.ex:99
#: lib/bds/desktop/shell_live/import_editor.ex:1182
#: lib/bds/desktop/shell_live/import_editor.ex:1233
#, elixir-autogen, elixir-format
@@ -2529,6 +2542,7 @@ msgstr "Nome del tag"
#: lib/bds/desktop/shell_live/tags_editor.ex:222
#: lib/bds/desktop/shell_live/tags_editor.ex:253
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:455
#: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289
@@ -2538,7 +2552,7 @@ msgstr "Nome del tag"
msgid "Tags"
msgstr "Tag"
#: lib/bds/desktop/shell_live.ex:775
#: lib/bds/desktop/shell_live.ex:784
#: lib/bds/desktop/shell_live/panel_renderer.ex:54
#, elixir-autogen, elixir-format
msgid "Tasks"
@@ -2584,6 +2598,7 @@ msgstr "La sintassi del template è valida"
#: lib/bds/desktop/shell_live/template_editor.ex:171
#: lib/bds/desktop/shell_live/template_editor.ex:176
#: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:453
#: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122
@@ -2780,7 +2795,7 @@ msgid "Unsaved"
msgstr "Non salvato"
#: lib/bds/desktop/shell_live/import_editor.ex:871
#: lib/bds/desktop/shell_live/post_editor/post_metadata.ex:166
#: lib/bds/ui/post_editor/metadata.ex:166
#: lib/bds/ui/sidebar.ex:1108
#, elixir-autogen, elixir-format
msgid "Untitled"
@@ -3161,9 +3176,9 @@ msgid "I can help you manage your blog with rich visualizations. Try asking me t
msgstr "Posso aiutarti a gestire il tuo blog con visualizzazioni interattive. Prova a chiedermi di:"
#: lib/bds/desktop/shell_live/index.html.heex:289
#, elixir-autogen, elixir-format, fuzzy
#, elixir-autogen, elixir-format
msgid "Media Files"
msgstr "Media"
msgstr "File multimediali"
#: lib/bds/desktop/shell_live/chat_editor_html/chat_editor.html.heex:21
#, elixir-autogen, elixir-format
@@ -3218,12 +3233,12 @@ msgstr "Benvenuto nellassistente IA"
msgid "Comparing database and filesystem metadata"
msgstr "Confronto tra i metadati del database e del filesystem"
#: lib/bds/desktop/shell_live.ex:681
#: lib/bds/desktop/shell_live.ex:682
#, elixir-autogen, elixir-format
msgid "Added %{count} images to post"
msgstr "%{count} immagini aggiunte al post"
#: lib/bds/desktop/shell_live.ex:649
#: lib/bds/desktop/shell_live.ex:650
#, elixir-autogen, elixir-format
msgid "Added %{title}"
msgstr "%{title} aggiunto"
@@ -3243,18 +3258,18 @@ msgstr "Guida per l'utente finale per flussi editoriali, media, modelli, traduzi
msgid "Image Import Concurrency"
msgstr "Importazione simultanea immagini"
#: lib/bds/desktop/shell_live.ex:441
#: lib/bds/desktop/shell_live.ex:454
#: lib/bds/desktop/shell_live.ex:648
#: lib/bds/desktop/shell_live.ex:680
#: lib/bds/desktop/shell_live.ex:691
#: lib/bds/desktop/shell_live.ex:702
#: lib/bds/desktop/shell_live.ex:442
#: lib/bds/desktop/shell_live.ex:455
#: lib/bds/desktop/shell_live.ex:649
#: lib/bds/desktop/shell_live.ex:681
#: lib/bds/desktop/shell_live.ex:692
#: lib/bds/desktop/shell_live.ex:703
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:420
#, elixir-autogen, elixir-format
msgid "Add Gallery Images"
msgstr "Aggiungi immagini alla galleria"
#: lib/bds/desktop/shell_live.ex:703
#: lib/bds/desktop/shell_live.ex:704
#, elixir-autogen, elixir-format
msgid "Failed to process %{path}: %{reason}"
msgstr "Impossibile elaborare %{path}: %{reason}"
@@ -3445,12 +3460,12 @@ msgstr "rinominato"
msgid "untracked"
msgstr "non tracciato"
#: lib/bds/desktop/shell_live.ex:801
#: lib/bds/desktop/shell_live.ex:810
#, elixir-autogen, elixir-format
msgid "Blogmark"
msgstr "Blogmark"
#: lib/bds/desktop/shell_live.ex:844
#: lib/bds/desktop/shell_live.ex:853
#, elixir-autogen, elixir-format
msgid "Open a project before importing a blogmark."
msgstr "Apri un progetto prima di importare un blogmark."
@@ -3482,16 +3497,16 @@ msgid "Copy Bookmarklet to Clipboard"
msgstr "Copia bookmarklet negli appunti"
#: lib/bds/desktop/shell_live/overlay_manager.ex:300
#, elixir-autogen, elixir-format, fuzzy
#, elixir-autogen, elixir-format
msgid "Delete Tag"
msgstr "Elimina"
msgstr "Elimina tag"
#: lib/bds/desktop/shell_live/settings_editor.ex:66
#, elixir-autogen, elixir-format
msgid "Failed to copy bookmarklet to clipboard"
msgstr "Impossibile copiare il bookmarklet negli appunti"
#: lib/bds/desktop/shell_live.ex:813
#: lib/bds/desktop/shell_live.ex:822
#, elixir-autogen, elixir-format
msgid "The project this blogmark targets does not exist here."
msgstr "Il progetto a cui punta questo blogmark non esiste qui."
@@ -3598,12 +3613,92 @@ msgstr "OK"
msgid "The endpoint returned no models. You can still type a model name manually."
msgstr "L'endpoint non ha restituito alcun modello. Puoi comunque digitare manualmente il nome di un modello."
#: lib/bds/tui.ex:28
#: lib/bds/tui.ex:538
#, elixir-autogen, elixir-format
msgid "Blogging Desktop Server"
msgstr "Blogging Desktop Server"
msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "L'IA non è disponibile in modalità aereo senza un endpoint locale."
#: lib/bds/tui.ex:30
#: lib/bds/tui.ex:584
#, elixir-autogen, elixir-format
msgid "Press q to quit."
msgstr "Premi q per uscire."
msgid "Could not load this file."
msgstr "Impossibile caricare questo file."
#: lib/bds/tui.ex:111
#, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet."
msgstr "La modifica di questo elemento non è ancora disponibile nell'interfaccia del terminale."
#: lib/bds/tui.ex:206
#, elixir-autogen, elixir-format
msgid "No suggestions returned."
msgstr "Nessun suggerimento ricevuto."
#: lib/bds/tui.ex:581
#, elixir-autogen, elixir-format
msgid "Only images can be previewed."
msgstr "Solo le immagini possono essere visualizzate in anteprima."
#: lib/bds/tui.ex:462
#, elixir-autogen, elixir-format
msgid "Post not found."
msgstr "Post non trovato."
#: lib/bds/tui.ex:282
#, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}."
msgstr "Premi Invio per l'anteprima di %{name}."
#: lib/bds/tui.ex:508
#, elixir-autogen, elixir-format
msgid "Published."
msgstr "Pubblicato."
#: lib/bds/tui.ex:524
#, elixir-autogen, elixir-format
msgid "Save before switching languages."
msgstr "Salva prima di cambiare lingua."
#: lib/bds/tui.ex:509
#, elixir-autogen, elixir-format
msgid "Saved."
msgstr "Salvato."
#: lib/bds/tui.ex:285
#, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it."
msgstr "Seleziona una voce e premi Invio per aprirla."
#: lib/bds/tui.ex:203
#, elixir-autogen, elixir-format
msgid "Suggestions applied."
msgstr "Suggerimenti applicati."
#: lib/bds/tui.ex:297
#, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)"
msgstr "Titolo (ctrl+t per modificare)"
#: lib/bds/tui.ex:296
#, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)"
msgstr "Titolo (modifica — Invio per confermare)"
#: lib/bds/tui.ex:328
#, elixir-autogen, elixir-format
msgid "Working…"
msgstr "Elaborazione…"
#: lib/bds/tui.ex:364
#, elixir-autogen, elixir-format
msgid "ctrl+s save · ctrl+p publish · ctrl+t title · ctrl+l language · ctrl+g AI · esc back"
msgstr "ctrl+s salva · ctrl+p pubblica · ctrl+t titolo · ctrl+l lingua · ctrl+g IA · esc indietro"
#: lib/bds/tui.ex:357
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · r refresh · ctrl+q quit"
msgstr "invio apri · n nuovo post · 1-5 viste · r aggiorna · ctrl+q esci"
#: lib/bds/tui.ex:349
#, elixir-autogen, elixir-format
msgid "esc to close"
msgstr "esc per chiudere"