feat: TUI projects overlay to switch projects and open existing blog folders with automatic database rebuild (issue #28)

This commit is contained in:
2026-07-16 17:26:19 +02:00
parent a8ca3b643b
commit 5801e49dc1
9 changed files with 921 additions and 454 deletions

View File

@@ -11,6 +11,8 @@ defmodule BDS.TUI do
Sidebar focus: `↑/↓`/`j/k` navigate, `enter` open, `n` new post, Sidebar focus: `↑/↓`/`j/k` navigate, `enter` open, `n` new post,
`1..5` switch view (posts/media/templates/scripts/tags), `r` refresh, `1..5` switch view (posts/media/templates/scripts/tags), `r` refresh,
`p` projects overlay (switch the active project or open an existing
blog folder by path — opening one queues a full database rebuild),
`:` vi-style command prompt over the Blog-menu shell commands, `?` `:` vi-style command prompt over the Blog-menu shell commands, `?`
command help (commands whose report/apply UI is GUI-only are marked). command help (commands whose report/apply UI is GUI-only are marked).
Editor focus: text keys edit, `ctrl+s` save, `ctrl+p` publish, Editor focus: text keys edit, `ctrl+s` save, `ctrl+p` publish,
@@ -55,6 +57,7 @@ defmodule BDS.TUI do
Keyword.get(opts, :command_executor, &BDS.Desktop.ShellCommands.execute/2), Keyword.get(opts, :command_executor, &BDS.Desktop.ShellCommands.execute/2),
task_snapshot_fun: Keyword.get(opts, :task_snapshot_fun, &BDS.Tasks.status_snapshot/0), task_snapshot_fun: Keyword.get(opts, :task_snapshot_fun, &BDS.Tasks.status_snapshot/0),
command: nil, command: nil,
projects: nil,
report: nil, report: nil,
handled_task_ids: nil, handled_task_ids: nil,
task_polling: false, task_polling: false,
@@ -110,6 +113,10 @@ defmodule BDS.TUI do
when command != nil, when command != nil,
do: command_key(key, state) do: command_key(key, state)
def handle_event(%ExRatatui.Event.Key{kind: "press"} = key, %{projects: projects} = state)
when projects != nil,
do: projects_key(key, state)
def handle_event(%ExRatatui.Event.Key{code: "esc"}, %{image: image} = state) def handle_event(%ExRatatui.Event.Key{code: "esc"}, %{image: image} = state)
when image != nil, when image != nil,
do: {:noreply, %{state | image: nil}} do: {:noreply, %{state | image: nil}}
@@ -140,6 +147,14 @@ defmodule BDS.TUI do
defp sidebar_key(%{code: ":"}, state), defp sidebar_key(%{code: ":"}, state),
do: {:noreply, %{state | command: %{input: "", selected: 0, help?: false}}} do: {:noreply, %{state | command: %{input: "", selected: 0, help?: false}}}
defp sidebar_key(%{code: "p"}, state) do
snapshot = Projects.shell_snapshot()
selected = Enum.find_index(snapshot.projects, & &1.is_active) || 0
{:noreply,
%{state | projects: %{mode: :list, projects: snapshot.projects, selected: selected, input: ""}}}
end
defp sidebar_key(%{code: "n"}, %{project_id: project_id} = state) defp sidebar_key(%{code: "n"}, %{project_id: project_id} = state)
when is_binary(project_id) do when is_binary(project_id) do
case Posts.create_post(%{project_id: project_id, title: "", content: ""}) do case Posts.create_post(%{project_id: project_id, title: "", content: ""}) do
@@ -233,6 +248,103 @@ defmodule BDS.TUI do
defp apply_report(state, _report), do: state defp apply_report(state, _report), do: state
# ── Events: projects overlay (switch / open existing) ────────────────────
defp projects_key(%{code: "esc"}, %{projects: %{mode: :open} = projects} = state),
do: {:noreply, %{state | projects: %{projects | mode: :list, input: ""}}}
defp projects_key(%{code: "esc"}, state), do: {:noreply, %{state | projects: nil}}
defp projects_key(%{code: "enter"}, %{projects: %{mode: :open, input: input}} = state),
do: {:noreply, open_existing_project(state, input)}
defp projects_key(%{code: "backspace"}, %{projects: %{mode: :open} = projects} = state),
do: {:noreply, %{state | projects: %{projects | input: String.slice(projects.input, 0..-2//1)}}}
defp projects_key(%{code: code, modifiers: []}, %{projects: %{mode: :open} = projects} = state)
when byte_size(code) >= 1 do
if String.length(code) == 1 do
{:noreply, %{state | projects: %{projects | input: projects.input <> code}}}
else
{:noreply, state}
end
end
defp projects_key(%{code: "o"}, %{projects: projects} = state),
do: {:noreply, %{state | projects: %{projects | mode: :open}}}
defp projects_key(%{code: code}, %{projects: projects} = state) when code in ["down", "j"] do
count = length(projects.projects)
{:noreply, put_in(state.projects.selected, min(projects.selected + 1, max(count - 1, 0)))}
end
defp projects_key(%{code: code}, %{projects: projects} = state) when code in ["up", "k"],
do: {:noreply, put_in(state.projects.selected, max(projects.selected - 1, 0))}
defp projects_key(%{code: "enter"}, %{projects: projects} = state) do
case Enum.at(projects.projects, projects.selected) do
nil -> {:noreply, %{state | projects: nil}}
summary -> {:noreply, switch_project(%{state | projects: nil}, summary.id)}
end
end
defp projects_key(_key, state), do: {:noreply, state}
defp switch_project(%{project_id: project_id} = state, project_id), do: state
defp switch_project(state, project_id) do
case Projects.set_active_project(project_id) do
{:ok, project} ->
%{
state
| project_id: project.id,
view: "posts",
selected: 0,
focus: :sidebar,
editor: nil,
image: nil
}
|> load_sidebar()
|> toast(
dgettext("ui", "Projects"),
dgettext("ui", "Switched to %{name}.", name: project.name)
)
{:error, reason} ->
toast(state, dgettext("ui", "Projects"), inspect(reason))
end
end
defp open_existing_project(state, input) do
path = input |> String.trim() |> Path.expand()
if File.dir?(path) do
name =
case Path.basename(path) do
"" -> dgettext("ui", "Imported Blog")
value -> value
end
case Projects.create_project(%{name: name, data_path: path}) do
{:ok, project} ->
# The folder's content only exists on disk at this point: activate
# the project, then queue the full database rebuild automatically.
%{state | projects: nil}
|> switch_project(project.id)
|> execute_action(dgettext("ui", "Rebuild Database"), "rebuild_database", %{})
{:error, reason} ->
toast(%{state | projects: nil}, dgettext("ui", "Open Existing Blog"), inspect(reason))
end
else
toast(
state,
dgettext("ui", "Open Existing Blog"),
dgettext("ui", "Not a folder: %{path}", path: path)
)
end
end
# ── Events: command prompt (vi-style) ──────────────────────────────────── # ── Events: command prompt (vi-style) ────────────────────────────────────
defp command_key(%{code: "esc"}, state), do: {:noreply, %{state | command: nil}} defp command_key(%{code: "esc"}, state), do: {:noreply, %{state | command: nil}}
@@ -462,7 +574,8 @@ defmodule BDS.TUI do
status_widgets(state, status_rect) ++ status_widgets(state, status_rect) ++
image_widgets(state, body_rect) ++ image_widgets(state, body_rect) ++
report_widgets(state, body_rect) ++ report_widgets(state, body_rect) ++
command_widgets(state, body_rect) command_widgets(state, body_rect) ++
projects_widgets(state, body_rect)
end end
defp view_tabs(state, rect) do defp view_tabs(state, rect) do
@@ -633,6 +746,57 @@ defmodule BDS.TUI do
] ]
end end
defp projects_widgets(%{projects: nil}, _rect), do: []
defp projects_widgets(%{projects: %{mode: :open} = projects}, rect) do
overlay = %Rect{
x: rect.x + 4,
y: rect.y + 2,
width: max(rect.width - 8, 20),
height: 3
}
[
{%Clear{}, overlay},
{%Paragraph{
text: projects.input,
block: %Block{
title: dgettext("ui", "Open Existing Blog — type a folder path · enter open · esc back"),
borders: [:all]
}
}, overlay}
]
end
defp projects_widgets(%{projects: projects}, rect) do
overlay = %Rect{
x: rect.x + 4,
y: rect.y + 1,
width: max(rect.width - 8, 20),
height: max(rect.height - 2, 6)
}
items =
Enum.map(projects.projects, fn summary ->
marker = if summary.is_active, do: "", else: " "
path = summary.data_path || ""
marker <> summary.name <> if(path == "", do: "", else: "" <> path)
end)
[
{%Clear{}, overlay},
{%List{
items: items,
selected: list_selected(items, projects.selected),
highlight_style: %Style{fg: :black, bg: :cyan},
block: %Block{
title: dgettext("ui", "Projects — enter switch · o open existing · esc close"),
borders: [:all]
}
}, overlay}
]
end
defp report_widgets(%{report: nil}, _rect), do: [] defp report_widgets(%{report: nil}, _rect), do: []
defp report_widgets(%{report: report}, rect) do defp report_widgets(%{report: report}, rect) do
@@ -745,7 +909,7 @@ defmodule BDS.TUI do
do: do:
dgettext( dgettext(
"ui", "ui",
"enter open · n new post · 1-5 views · : commands (:? help) · r refresh · ctrl+q quit" "enter open · n new post · 1-5 views · p projects · : commands (:? help) · r refresh · ctrl+q quit"
) )
defp default_status(%{focus: :editor}), defp default_status(%{focus: :editor}),

View File

@@ -81,11 +81,11 @@ msgstr "KI-Einstellungen"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72 #: 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.ex:920
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#: lib/bds/tui.ex:379 #: lib/bds/tui.ex:491
#: lib/bds/tui.ex:387 #: lib/bds/tui.ex:499
#: lib/bds/tui.ex:922 #: lib/bds/tui.ex:1091
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI Suggestions" msgid "AI Suggestions"
msgstr "KI-Vorschlaege" msgstr "KI-Vorschlaege"
@@ -572,7 +572,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Unveränderte Diff-Blöcke einklappen" msgstr "Unveränderte Diff-Blöcke einklappen"
#: lib/bds/desktop/shell_live/overlay_manager.ex:422 #: lib/bds/desktop/shell_live/overlay_manager.ex:422
#: lib/bds/tui.ex:1017 #: lib/bds/tui.ex:1187
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Command completed" msgid "Command completed"
msgstr "Befehl abgeschlossen" msgstr "Befehl abgeschlossen"
@@ -590,7 +590,7 @@ msgstr "Bestaetigen"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: 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/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:550 #: lib/bds/tui.ex:668
#: lib/bds/ui/sidebar.ex:764 #: lib/bds/ui/sidebar.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Content" msgid "Content"
@@ -1030,7 +1030,7 @@ msgid "Filename"
msgstr "Dateiname" msgstr "Dateiname"
#: lib/bds/desktop/menu_bar.ex:254 #: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:981 #: lib/bds/tui.ex:1151
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fill Missing Translations" msgid "Fill Missing Translations"
msgstr "Fehlende Übersetzungen ergänzen" msgstr "Fehlende Übersetzungen ergänzen"
@@ -1041,7 +1041,7 @@ msgid "Find"
msgstr "Suchen" msgstr "Suchen"
#: lib/bds/desktop/menu_bar.ex:255 #: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:984 #: lib/bds/tui.ex:1154
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Find Duplicate Posts" msgid "Find Duplicate Posts"
msgstr "Doppelte Beiträge finden" msgstr "Doppelte Beiträge finden"
@@ -1068,7 +1068,7 @@ msgid "Gallery"
msgstr "Galerie" msgstr "Galerie"
#: lib/bds/desktop/menu_bar.ex:256 #: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:965 #: lib/bds/tui.ex:1135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Generate Site" msgid "Generate Site"
msgstr "Website generieren" msgstr "Website generieren"
@@ -1389,9 +1389,9 @@ msgstr "Maximale Beiträge pro Seite"
#: lib/bds/desktop/shell_live/misc_editor.ex:762 #: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654 #: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:836 #: lib/bds/tui.ex:1005
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100 #: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:558 #: lib/bds/ui/sidebar.ex:558
@@ -1434,11 +1434,11 @@ msgstr "Metadaten"
#: lib/bds/desktop/shell_live/misc_editor.ex:214 #: lib/bds/desktop/shell_live/misc_editor.ex:214
#: lib/bds/desktop/shell_live/misc_editor.ex:226 #: lib/bds/desktop/shell_live/misc_editor.ex:226
#: lib/bds/desktop/shell_live/misc_editor.ex:448 #: lib/bds/desktop/shell_live/misc_editor.ex:448
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#: lib/bds/tui.ex:199 #: lib/bds/tui.ex:214
#: lib/bds/tui.ex:210 #: lib/bds/tui.ex:225
#: lib/bds/tui.ex:654 #: lib/bds/tui.ex:823
#: lib/bds/tui.ex:962 #: lib/bds/tui.ex:1132
#: lib/bds/ui/registry.ex:111 #: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Metadata Diff" msgid "Metadata Diff"
@@ -1484,7 +1484,7 @@ msgstr "Neue Seite"
#: lib/bds/desktop/menu_bar.ex:214 #: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41 #: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:150 #: lib/bds/tui.ex:165
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Post" msgid "New Post"
msgstr "Neuer Beitrag" msgstr "Neuer Beitrag"
@@ -1762,6 +1762,8 @@ msgid "Open Data Folder"
msgstr "Datenordner öffnen" msgstr "Datenordner öffnen"
#: lib/bds/desktop/shell_live/index.html.heex:644 #: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:337
#: lib/bds/tui.ex:342
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Existing Blog" msgid "Open Existing Blog"
msgstr "Bestehenden Blog öffnen" msgstr "Bestehenden Blog öffnen"
@@ -1773,7 +1775,7 @@ msgid "Open Settings"
msgstr "Einstellungen öffnen" msgstr "Einstellungen öffnen"
#: lib/bds/desktop/menu_bar.ex:217 #: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:986 #: lib/bds/tui.ex:1156
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open in Browser" msgid "Open in Browser"
msgstr "Im Browser öffnen" msgstr "Im Browser öffnen"
@@ -1921,8 +1923,8 @@ msgstr "Beitrag gespeichert"
#: lib/bds/desktop/menu_bar.ex:233 #: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664 #: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761 #: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:835 #: lib/bds/tui.ex:1004
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#: lib/bds/ui/registry.ex:14 #: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271 #: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -1981,6 +1983,8 @@ msgstr "Projekt und Veröffentlichung"
#: lib/bds/desktop/shell_live/chat_surface.ex:15 #: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623 #: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:309
#: lib/bds/tui.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Projects" msgid "Projects"
msgstr "Projekte" msgstr "Projekte"
@@ -2046,14 +2050,15 @@ msgid "Ready to import:"
msgstr "Bereit zum Import:" msgstr "Bereit zum Import:"
#: lib/bds/desktop/menu_bar.ex:248 #: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:966 #: lib/bds/tui.ex:334
#: lib/bds/tui.ex:1136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Database" msgid "Rebuild Database"
msgstr "Datenbank neu aufbauen" msgstr "Datenbank neu aufbauen"
#: lib/bds/desktop/menu_bar.ex:250 #: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:970 #: lib/bds/tui.ex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index" msgid "Rebuild Embedding Index"
msgstr "Embedding-Index neu aufbauen" msgstr "Embedding-Index neu aufbauen"
@@ -2111,7 +2116,7 @@ msgid "Refresh Translation"
msgstr "Übersetzung aktualisieren" msgstr "Übersetzung aktualisieren"
#: lib/bds/desktop/menu_bar.ex:252 #: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:973 #: lib/bds/tui.ex:1143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Regenerate Calendar" msgid "Regenerate Calendar"
msgstr "Kalender neu erzeugen" msgstr "Kalender neu erzeugen"
@@ -2122,7 +2127,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Fehlende Vorschaubilder neu erzeugen" msgstr "Fehlende Vorschaubilder neu erzeugen"
#: lib/bds/desktop/menu_bar.ex:249 #: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:967 #: lib/bds/tui.ex:1137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reindex Text" msgid "Reindex Text"
msgstr "Text neu indizieren" msgstr "Text neu indizieren"
@@ -2308,7 +2313,7 @@ msgstr "Scripting-Funktionen werden in der Neufassung auf Anwendungsebene konfig
#: lib/bds/desktop/shell_live/script_editor.ex:216 #: 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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234 #: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:838 #: lib/bds/tui.ex:1007
#: lib/bds/ui/registry.ex:38 #: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115 #: lib/bds/ui/sidebar.ex:115
@@ -2436,9 +2441,9 @@ msgid "Site"
msgstr "Website" msgstr "Website"
#: lib/bds/desktop/shell_live/misc_editor.ex:412 #: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#: lib/bds/tui.ex:228 #: lib/bds/tui.ex:243
#: lib/bds/tui.ex:659 #: lib/bds/tui.ex:828
#: lib/bds/ui/registry.ex:125 #: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Site Validation" msgid "Site Validation"
@@ -2559,7 +2564,7 @@ msgstr "Schlagwortname"
#: lib/bds/desktop/shell_live/tags_editor.ex:222 #: 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.ex:253
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:839 #: lib/bds/tui.ex:1008
#: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103 #: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289 #: lib/bds/ui/sidebar.ex:289
@@ -2571,7 +2576,7 @@ msgstr "Tags"
#: lib/bds/desktop/shell_live.ex:786 #: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54 #: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tasks" msgid "Tasks"
msgstr "Aufgaben" msgstr "Aufgaben"
@@ -2616,7 +2621,7 @@ msgstr "Template-Syntax ist gültig"
#: lib/bds/desktop/shell_live/template_editor.ex:171 #: 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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191 #: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:837 #: lib/bds/tui.ex:1006
#: lib/bds/ui/registry.ex:46 #: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122 #: lib/bds/ui/sidebar.ex:122
@@ -2839,7 +2844,7 @@ msgid "Updated URLs"
msgstr "Aktualisierte URLs" msgstr "Aktualisierte URLs"
#: lib/bds/desktop/menu_bar.ex:259 #: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:985 #: lib/bds/tui.ex:1155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload Site" msgid "Upload Site"
msgstr "Website hochladen" msgstr "Website hochladen"
@@ -2867,13 +2872,13 @@ msgid "Validate"
msgstr "Validieren" msgstr "Validieren"
#: lib/bds/desktop/menu_bar.ex:258 #: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:963 #: lib/bds/tui.ex:1133
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Site" msgid "Validate Site"
msgstr "Website validieren" msgstr "Website validieren"
#: lib/bds/desktop/menu_bar.ex:253 #: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:976 #: lib/bds/tui.ex:1146
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Translations" msgid "Validate Translations"
msgstr "Übersetzungen validieren" msgstr "Übersetzungen validieren"
@@ -3538,7 +3543,7 @@ msgid "Suggested tags"
msgstr "Vorgeschlagene Tags" msgstr "Vorgeschlagene Tags"
#: lib/bds/desktop/menu_bar.ex:257 #: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:964 #: lib/bds/tui.ex:1134
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Force Render Site" msgid "Force Render Site"
msgstr "Website vollständig neu generieren" msgstr "Website vollständig neu generieren"
@@ -3635,82 +3640,82 @@ msgstr "OK"
msgid "The endpoint returned no models. You can still type a model name manually." msgid "The endpoint returned no models. You can still type a model name manually."
msgstr "Der Endpunkt hat keine Modelle zurückgegeben. Sie können einen Modellnamen weiterhin manuell eingeben." msgstr "Der Endpunkt hat keine Modelle zurückgegeben. Sie können einen Modellnamen weiterhin manuell eingeben."
#: lib/bds/tui.ex:923 #: lib/bds/tui.ex:1092
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint." msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "KI ist im Flugmodus ohne lokalen Endpunkt nicht verfügbar." msgstr "KI ist im Flugmodus ohne lokalen Endpunkt nicht verfügbar."
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not load this file." msgid "Could not load this file."
msgstr "Diese Datei konnte nicht geladen werden." msgstr "Diese Datei konnte nicht geladen werden."
#: lib/bds/tui.ex:158 #: lib/bds/tui.ex:173
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet." msgid "Editing this item is not available in the terminal UI yet."
msgstr "Die Bearbeitung dieses Eintrags ist in der Terminal-Oberfläche noch nicht verfügbar." msgstr "Die Bearbeitung dieses Eintrags ist in der Terminal-Oberfläche noch nicht verfügbar."
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No suggestions returned." msgid "No suggestions returned."
msgstr "Keine Vorschläge erhalten." msgstr "Keine Vorschläge erhalten."
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only images can be previewed." msgid "Only images can be previewed."
msgstr "Nur Bilder können in der Vorschau angezeigt werden." msgstr "Nur Bilder können in der Vorschau angezeigt werden."
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Post not found." msgid "Post not found."
msgstr "Beitrag nicht gefunden." msgstr "Beitrag nicht gefunden."
#: lib/bds/tui.ex:505 #: lib/bds/tui.ex:623
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}." msgid "Press enter to preview %{name}."
msgstr "Drücken Sie Enter, um %{name} in der Vorschau anzuzeigen." msgstr "Drücken Sie Enter, um %{name} in der Vorschau anzuzeigen."
#: lib/bds/tui.ex:893 #: lib/bds/tui.ex:1062
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Published." msgid "Published."
msgstr "Veröffentlicht." msgstr "Veröffentlicht."
#: lib/bds/tui.ex:909 #: lib/bds/tui.ex:1078
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save before switching languages." msgid "Save before switching languages."
msgstr "Speichern Sie vor dem Sprachwechsel." msgstr "Speichern Sie vor dem Sprachwechsel."
#: lib/bds/tui.ex:894 #: lib/bds/tui.ex:1063
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saved." msgid "Saved."
msgstr "Gespeichert." msgstr "Gespeichert."
#: lib/bds/tui.ex:508 #: lib/bds/tui.ex:626
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it." msgid "Select an entry and press enter to open it."
msgstr "Wählen Sie einen Eintrag aus und öffnen Sie ihn mit Enter." msgstr "Wählen Sie einen Eintrag aus und öffnen Sie ihn mit Enter."
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Suggestions applied." msgid "Suggestions applied."
msgstr "Vorschläge übernommen." msgstr "Vorschläge übernommen."
#: lib/bds/tui.ex:520 #: lib/bds/tui.ex:638
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)" msgid "Title (ctrl+t to edit)"
msgstr "Titel (Strg+T zum Bearbeiten)" msgstr "Titel (Strg+T zum Bearbeiten)"
#: lib/bds/tui.ex:519 #: lib/bds/tui.ex:637
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)" msgid "Title (editing — enter to confirm)"
msgstr "Titel (Bearbeitung — Enter zum Bestätigen)" msgstr "Titel (Bearbeitung — Enter zum Bestätigen)"
#: lib/bds/tui.ex:567 #: lib/bds/tui.ex:685
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Working…" msgid "Working…"
msgstr "Wird bearbeitet…" msgstr "Wird bearbeitet…"
#: lib/bds/tui.ex:589 #: lib/bds/tui.ex:707
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "esc to close" msgid "esc to close"
msgstr "Esc zum Schließen" msgstr "Esc zum Schließen"
@@ -3747,92 +3752,117 @@ msgstr "Serveradresse (user@host oder user@host:port), Public-Key-Authentifizier
msgid "Use the form user@host or user@host:port." msgid "Use the form user@host or user@host:port."
msgstr "Verwenden Sie das Format user@host oder user@host:port." msgstr "Verwenden Sie das Format user@host oder user@host:port."
#: lib/bds/tui.ex:539 #: lib/bds/tui.ex:657
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)" msgid "Preview (ctrl+e to edit)"
msgstr "Vorschau (ctrl+e zum Bearbeiten)" msgstr "Vorschau (ctrl+e zum Bearbeiten)"
#: lib/bds/tui.ex:748 #: lib/bds/tui.ex:917
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back" msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back"
msgstr "Strg+S Speichern · Strg+P Veröffentlichen · Strg+E Vorschau · Strg+T Titel · Strg+L Sprache · Strg+G KI · Esc Zurück" msgstr "Strg+S Speichern · Strg+P Veröffentlichen · Strg+E Vorschau · Strg+T Titel · Strg+L Sprache · Strg+G KI · Esc Zurück"
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All tasks finished." msgid "All tasks finished."
msgstr "Alle Aufgaben abgeschlossen." msgstr "Alle Aufgaben abgeschlossen."
#: lib/bds/tui.ex:615 #: lib/bds/tui.ex:733
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Commands — esc to close" msgid "Commands — esc to close"
msgstr "Befehle — Esc zum Schließen" msgstr "Befehle — Esc zum Schließen"
#: lib/bds/tui.ex:247 #: lib/bds/tui.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unknown command." msgid "Unknown command."
msgstr "Unbekannter Befehl." msgstr "Unbekannter Befehl."
#: lib/bds/tui.ex:605 #: lib/bds/tui.ex:723
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "[report/apply in GUI]" msgid "[report/apply in GUI]"
msgstr "[Bericht/Anwenden in der GUI]" msgstr "[Bericht/Anwenden in der GUI]"
#: lib/bds/tui.ex:670 #: lib/bds/tui.ex:839
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files" msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} Unterschiede · %{orphans} verwaiste Dateien" msgstr "%{diffs} Unterschiede · %{orphans} verwaiste Dateien"
#: lib/bds/tui.ex:702 #: lib/bds/tui.ex:871
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}" msgid "Expected %{expected} · Existing %{existing}"
msgstr "Erwartet %{expected} · Vorhanden %{existing}" msgstr "Erwartet %{expected} · Vorhanden %{existing}"
#: lib/bds/tui.ex:719 #: lib/bds/tui.ex:888
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Extra files (will be removed):" msgid "Extra files (will be removed):"
msgstr "Überzählige Dateien (werden entfernt):" msgstr "Überzählige Dateien (werden entfernt):"
#: lib/bds/tui.ex:715 #: lib/bds/tui.ex:884
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):" msgid "Missing pages (will be rendered):"
msgstr "Fehlende Seiten (werden gerendert):" msgstr "Fehlende Seiten (werden gerendert):"
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to apply." msgid "Nothing to apply."
msgstr "Nichts anzuwenden." msgstr "Nichts anzuwenden."
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to repair." msgid "Nothing to repair."
msgstr "Nichts zu reparieren." msgstr "Nichts zu reparieren."
#: lib/bds/tui.ex:693 #: lib/bds/tui.ex:862
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Orphan files (not in database):" msgid "Orphan files (not in database):"
msgstr "Verwaiste Dateien (nicht in der Datenbank):" msgstr "Verwaiste Dateien (nicht in der Datenbank):"
#: lib/bds/tui.ex:709 #: lib/bds/tui.ex:878
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sitemap changed." msgid "Sitemap changed."
msgstr "Sitemap geändert." msgstr "Sitemap geändert."
#: lib/bds/tui.ex:723 #: lib/bds/tui.ex:892
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):" msgid "Updated posts (will be re-rendered):"
msgstr "Aktualisierte Beiträge (werden neu gerendert):" msgstr "Aktualisierte Beiträge (werden neu gerendert):"
#: lib/bds/tui.ex:660 #: lib/bds/tui.ex:829
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter apply changes · esc close" msgid "enter apply changes · esc close"
msgstr "Enter Änderungen anwenden · Esc Schließen" msgstr "Enter Änderungen anwenden · Esc Schließen"
#: lib/bds/tui.ex:741 #: lib/bds/tui.ex:824
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "Enter Öffnen · N Neuer Beitrag · 1-5 Ansichten · : Befehle (:? Hilfe) · R Aktualisieren · Strg+Q Beenden"
#: lib/bds/tui.ex:655
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close" msgid "enter repair all from files · esc close"
msgstr "Enter alles aus Dateien reparieren · Esc Schließen" msgstr "Enter alles aus Dateien reparieren · Esc Schließen"
#: lib/bds/tui.ex:324
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Importierter Blog"
#: lib/bds/tui.ex:343
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "Kein Ordner: %{path}"
#: lib/bds/tui.ex:764
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · enter open · esc back"
msgstr "Bestehenden Blog öffnen — Ordnerpfad eingeben · Enter Öffnen · Esc Zurück"
#: lib/bds/tui.ex:793
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr "Projekte — Enter Wechseln · O Bestehenden öffnen · Esc Schließen"
#: lib/bds/tui.ex:310
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Zu %{name} gewechselt."
#: lib/bds/tui.ex:910
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · p projects · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "Enter Öffnen · N Neuer Beitrag · 1-5 Ansichten · P Projekte · : Befehle (:? Hilfe) · R Aktualisieren · Strg+Q Beenden"

View File

@@ -81,11 +81,11 @@ msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:72 #: 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.ex:920
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#: lib/bds/tui.ex:379 #: lib/bds/tui.ex:491
#: lib/bds/tui.ex:387 #: lib/bds/tui.ex:499
#: lib/bds/tui.ex:922 #: lib/bds/tui.ex:1091
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI Suggestions" msgid "AI Suggestions"
msgstr "" msgstr ""
@@ -572,7 +572,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "" msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:422 #: lib/bds/desktop/shell_live/overlay_manager.ex:422
#: lib/bds/tui.ex:1017 #: lib/bds/tui.ex:1187
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Command completed" msgid "Command completed"
msgstr "" msgstr ""
@@ -590,7 +590,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: 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/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:550 #: lib/bds/tui.ex:668
#: lib/bds/ui/sidebar.ex:764 #: lib/bds/ui/sidebar.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Content" msgid "Content"
@@ -1030,7 +1030,7 @@ msgid "Filename"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:254 #: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:981 #: lib/bds/tui.ex:1151
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fill Missing Translations" msgid "Fill Missing Translations"
msgstr "" msgstr ""
@@ -1041,7 +1041,7 @@ msgid "Find"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:255 #: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:984 #: lib/bds/tui.ex:1154
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Find Duplicate Posts" msgid "Find Duplicate Posts"
msgstr "" msgstr ""
@@ -1068,7 +1068,7 @@ msgid "Gallery"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:256 #: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:965 #: lib/bds/tui.ex:1135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Generate Site" msgid "Generate Site"
msgstr "" msgstr ""
@@ -1389,9 +1389,9 @@ msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:762 #: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654 #: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:836 #: lib/bds/tui.ex:1005
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100 #: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:558 #: lib/bds/ui/sidebar.ex:558
@@ -1434,11 +1434,11 @@ msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:214 #: lib/bds/desktop/shell_live/misc_editor.ex:214
#: lib/bds/desktop/shell_live/misc_editor.ex:226 #: lib/bds/desktop/shell_live/misc_editor.ex:226
#: lib/bds/desktop/shell_live/misc_editor.ex:448 #: lib/bds/desktop/shell_live/misc_editor.ex:448
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#: lib/bds/tui.ex:199 #: lib/bds/tui.ex:214
#: lib/bds/tui.ex:210 #: lib/bds/tui.ex:225
#: lib/bds/tui.ex:654 #: lib/bds/tui.ex:823
#: lib/bds/tui.ex:962 #: lib/bds/tui.ex:1132
#: lib/bds/ui/registry.ex:111 #: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Metadata Diff" msgid "Metadata Diff"
@@ -1484,7 +1484,7 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:214 #: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41 #: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:150 #: lib/bds/tui.ex:165
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Post" msgid "New Post"
msgstr "" msgstr ""
@@ -1762,6 +1762,8 @@ msgid "Open Data Folder"
msgstr "" msgstr ""
#: lib/bds/desktop/shell_live/index.html.heex:644 #: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:337
#: lib/bds/tui.ex:342
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Existing Blog" msgid "Open Existing Blog"
msgstr "" msgstr ""
@@ -1773,7 +1775,7 @@ msgid "Open Settings"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:217 #: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:986 #: lib/bds/tui.ex:1156
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open in Browser" msgid "Open in Browser"
msgstr "" msgstr ""
@@ -1921,8 +1923,8 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:233 #: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664 #: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761 #: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:835 #: lib/bds/tui.ex:1004
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#: lib/bds/ui/registry.ex:14 #: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271 #: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -1981,6 +1983,8 @@ msgstr ""
#: lib/bds/desktop/shell_live/chat_surface.ex:15 #: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623 #: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:309
#: lib/bds/tui.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Projects" msgid "Projects"
msgstr "" msgstr ""
@@ -2046,14 +2050,15 @@ msgid "Ready to import:"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:248 #: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:966 #: lib/bds/tui.ex:334
#: lib/bds/tui.ex:1136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Database" msgid "Rebuild Database"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:250 #: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:970 #: lib/bds/tui.ex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index" msgid "Rebuild Embedding Index"
msgstr "" msgstr ""
@@ -2111,7 +2116,7 @@ msgid "Refresh Translation"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:252 #: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:973 #: lib/bds/tui.ex:1143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Regenerate Calendar" msgid "Regenerate Calendar"
msgstr "" msgstr ""
@@ -2122,7 +2127,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:249 #: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:967 #: lib/bds/tui.ex:1137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reindex Text" msgid "Reindex Text"
msgstr "" msgstr ""
@@ -2308,7 +2313,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/script_editor.ex:216 #: 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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234 #: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:838 #: lib/bds/tui.ex:1007
#: lib/bds/ui/registry.ex:38 #: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115 #: lib/bds/ui/sidebar.ex:115
@@ -2436,9 +2441,9 @@ msgid "Site"
msgstr "" msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:412 #: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#: lib/bds/tui.ex:228 #: lib/bds/tui.ex:243
#: lib/bds/tui.ex:659 #: lib/bds/tui.ex:828
#: lib/bds/ui/registry.ex:125 #: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Site Validation" msgid "Site Validation"
@@ -2559,7 +2564,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/tags_editor.ex:222 #: 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.ex:253
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:839 #: lib/bds/tui.ex:1008
#: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103 #: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289 #: lib/bds/ui/sidebar.ex:289
@@ -2571,7 +2576,7 @@ msgstr ""
#: lib/bds/desktop/shell_live.ex:786 #: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54 #: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tasks" msgid "Tasks"
msgstr "" msgstr ""
@@ -2616,7 +2621,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/template_editor.ex:171 #: 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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191 #: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:837 #: lib/bds/tui.ex:1006
#: lib/bds/ui/registry.ex:46 #: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122 #: lib/bds/ui/sidebar.ex:122
@@ -2839,7 +2844,7 @@ msgid "Updated URLs"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:259 #: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:985 #: lib/bds/tui.ex:1155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload Site" msgid "Upload Site"
msgstr "" msgstr ""
@@ -2867,13 +2872,13 @@ msgid "Validate"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:258 #: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:963 #: lib/bds/tui.ex:1133
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Site" msgid "Validate Site"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:253 #: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:976 #: lib/bds/tui.ex:1146
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Translations" msgid "Validate Translations"
msgstr "" msgstr ""
@@ -3538,7 +3543,7 @@ msgid "Suggested tags"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:257 #: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:964 #: lib/bds/tui.ex:1134
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Force Render Site" msgid "Force Render Site"
msgstr "" msgstr ""
@@ -3635,82 +3640,82 @@ msgstr ""
msgid "The endpoint returned no models. You can still type a model name manually." msgid "The endpoint returned no models. You can still type a model name manually."
msgstr "" msgstr ""
#: lib/bds/tui.ex:923 #: lib/bds/tui.ex:1092
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint." msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "" msgstr ""
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Could not load this file." msgid "Could not load this file."
msgstr "" msgstr ""
#: lib/bds/tui.ex:158 #: lib/bds/tui.ex:173
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet." msgid "Editing this item is not available in the terminal UI yet."
msgstr "" msgstr ""
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No suggestions returned." msgid "No suggestions returned."
msgstr "" msgstr ""
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only images can be previewed." msgid "Only images can be previewed."
msgstr "" msgstr ""
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Post not found." msgid "Post not found."
msgstr "" msgstr ""
#: lib/bds/tui.ex:505 #: lib/bds/tui.ex:623
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}." msgid "Press enter to preview %{name}."
msgstr "" msgstr ""
#: lib/bds/tui.ex:893 #: lib/bds/tui.ex:1062
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Published." msgid "Published."
msgstr "" msgstr ""
#: lib/bds/tui.ex:909 #: lib/bds/tui.ex:1078
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save before switching languages." msgid "Save before switching languages."
msgstr "" msgstr ""
#: lib/bds/tui.ex:894 #: lib/bds/tui.ex:1063
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Saved." msgid "Saved."
msgstr "" msgstr ""
#: lib/bds/tui.ex:508 #: lib/bds/tui.ex:626
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it." msgid "Select an entry and press enter to open it."
msgstr "" msgstr ""
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Suggestions applied." msgid "Suggestions applied."
msgstr "" msgstr ""
#: lib/bds/tui.ex:520 #: lib/bds/tui.ex:638
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)" msgid "Title (ctrl+t to edit)"
msgstr "" msgstr ""
#: lib/bds/tui.ex:519 #: lib/bds/tui.ex:637
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)" msgid "Title (editing — enter to confirm)"
msgstr "" msgstr ""
#: lib/bds/tui.ex:567 #: lib/bds/tui.ex:685
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Working…" msgid "Working…"
msgstr "" msgstr ""
#: lib/bds/tui.ex:589 #: lib/bds/tui.ex:707
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "esc to close" msgid "esc to close"
msgstr "" msgstr ""
@@ -3747,92 +3752,117 @@ msgstr ""
msgid "Use the form user@host or user@host:port." msgid "Use the form user@host or user@host:port."
msgstr "" msgstr ""
#: lib/bds/tui.ex:539 #: lib/bds/tui.ex:657
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)" msgid "Preview (ctrl+e to edit)"
msgstr "" msgstr ""
#: lib/bds/tui.ex:748 #: lib/bds/tui.ex:917
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back" msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back"
msgstr "" msgstr ""
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All tasks finished." msgid "All tasks finished."
msgstr "" msgstr ""
#: lib/bds/tui.ex:615 #: lib/bds/tui.ex:733
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Commands — esc to close" msgid "Commands — esc to close"
msgstr "" msgstr ""
#: lib/bds/tui.ex:247 #: lib/bds/tui.ex:359
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Unknown command." msgid "Unknown command."
msgstr "" msgstr ""
#: lib/bds/tui.ex:605 #: lib/bds/tui.ex:723
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "[report/apply in GUI]" msgid "[report/apply in GUI]"
msgstr "" msgstr ""
#: lib/bds/tui.ex:670 #: lib/bds/tui.ex:839
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files" msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "" msgstr ""
#: lib/bds/tui.ex:702 #: lib/bds/tui.ex:871
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}" msgid "Expected %{expected} · Existing %{existing}"
msgstr "" msgstr ""
#: lib/bds/tui.ex:719 #: lib/bds/tui.ex:888
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Extra files (will be removed):" msgid "Extra files (will be removed):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:715 #: lib/bds/tui.ex:884
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):" msgid "Missing pages (will be rendered):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Nothing to apply." msgid "Nothing to apply."
msgstr "" msgstr ""
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#, elixir-autogen, elixir-format, fuzzy #, elixir-autogen, elixir-format, fuzzy
msgid "Nothing to repair." msgid "Nothing to repair."
msgstr "" msgstr ""
#: lib/bds/tui.ex:693 #: lib/bds/tui.ex:862
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Orphan files (not in database):" msgid "Orphan files (not in database):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:709 #: lib/bds/tui.ex:878
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sitemap changed." msgid "Sitemap changed."
msgstr "" msgstr ""
#: lib/bds/tui.ex:723 #: lib/bds/tui.ex:892
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):" msgid "Updated posts (will be re-rendered):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:660 #: lib/bds/tui.ex:829
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter apply changes · esc close" msgid "enter apply changes · esc close"
msgstr "" msgstr ""
#: lib/bds/tui.ex:741 #: lib/bds/tui.ex:824
#, elixir-autogen, elixir-format, fuzzy
msgid "enter open · n new post · 1-5 views · : commands (:? help) · r refresh · ctrl+q quit"
msgstr ""
#: lib/bds/tui.ex:655
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close" msgid "enter repair all from files · esc close"
msgstr "" msgstr ""
#: lib/bds/tui.ex:324
#, elixir-autogen, elixir-format, fuzzy
msgid "Imported Blog"
msgstr ""
#: lib/bds/tui.ex:343
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr ""
#: lib/bds/tui.ex:764
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · enter open · esc back"
msgstr ""
#: lib/bds/tui.ex:793
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr ""
#: lib/bds/tui.ex:310
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr ""
#: lib/bds/tui.ex:910
#, elixir-autogen, elixir-format, fuzzy
msgid "enter open · n new post · 1-5 views · p projects · : commands (:? help) · r refresh · ctrl+q quit"
msgstr ""

View File

@@ -81,11 +81,11 @@ msgstr "Configuración de IA"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72 #: 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.ex:920
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#: lib/bds/tui.ex:379 #: lib/bds/tui.ex:491
#: lib/bds/tui.ex:387 #: lib/bds/tui.ex:499
#: lib/bds/tui.ex:922 #: lib/bds/tui.ex:1091
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI Suggestions" msgid "AI Suggestions"
msgstr "Sugerencias de IA" msgstr "Sugerencias de IA"
@@ -572,7 +572,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Contraer bloques de diff sin cambios" msgstr "Contraer bloques de diff sin cambios"
#: lib/bds/desktop/shell_live/overlay_manager.ex:422 #: lib/bds/desktop/shell_live/overlay_manager.ex:422
#: lib/bds/tui.ex:1017 #: lib/bds/tui.ex:1187
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Command completed" msgid "Command completed"
msgstr "Comando completado" msgstr "Comando completado"
@@ -590,7 +590,7 @@ msgstr "Confirmar"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: 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/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:550 #: lib/bds/tui.ex:668
#: lib/bds/ui/sidebar.ex:764 #: lib/bds/ui/sidebar.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Content" msgid "Content"
@@ -1030,7 +1030,7 @@ msgid "Filename"
msgstr "Nombre de archivo" msgstr "Nombre de archivo"
#: lib/bds/desktop/menu_bar.ex:254 #: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:981 #: lib/bds/tui.ex:1151
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fill Missing Translations" msgid "Fill Missing Translations"
msgstr "Completar traducciones faltantes" msgstr "Completar traducciones faltantes"
@@ -1041,7 +1041,7 @@ msgid "Find"
msgstr "Buscar" msgstr "Buscar"
#: lib/bds/desktop/menu_bar.ex:255 #: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:984 #: lib/bds/tui.ex:1154
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Find Duplicate Posts" msgid "Find Duplicate Posts"
msgstr "Buscar entradas duplicadas" msgstr "Buscar entradas duplicadas"
@@ -1068,7 +1068,7 @@ msgid "Gallery"
msgstr "Galeria" msgstr "Galeria"
#: lib/bds/desktop/menu_bar.ex:256 #: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:965 #: lib/bds/tui.ex:1135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Generate Site" msgid "Generate Site"
msgstr "Generar sitio" msgstr "Generar sitio"
@@ -1389,9 +1389,9 @@ msgstr "Máximo de publicaciones por página"
#: lib/bds/desktop/shell_live/misc_editor.ex:762 #: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654 #: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:836 #: lib/bds/tui.ex:1005
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100 #: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:558 #: lib/bds/ui/sidebar.ex:558
@@ -1434,11 +1434,11 @@ msgstr "Metadatos"
#: lib/bds/desktop/shell_live/misc_editor.ex:214 #: lib/bds/desktop/shell_live/misc_editor.ex:214
#: lib/bds/desktop/shell_live/misc_editor.ex:226 #: lib/bds/desktop/shell_live/misc_editor.ex:226
#: lib/bds/desktop/shell_live/misc_editor.ex:448 #: lib/bds/desktop/shell_live/misc_editor.ex:448
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#: lib/bds/tui.ex:199 #: lib/bds/tui.ex:214
#: lib/bds/tui.ex:210 #: lib/bds/tui.ex:225
#: lib/bds/tui.ex:654 #: lib/bds/tui.ex:823
#: lib/bds/tui.ex:962 #: lib/bds/tui.ex:1132
#: lib/bds/ui/registry.ex:111 #: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Metadata Diff" msgid "Metadata Diff"
@@ -1484,7 +1484,7 @@ msgstr "Nueva página"
#: lib/bds/desktop/menu_bar.ex:214 #: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41 #: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:150 #: lib/bds/tui.ex:165
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Post" msgid "New Post"
msgstr "Nueva entrada" msgstr "Nueva entrada"
@@ -1762,6 +1762,8 @@ msgid "Open Data Folder"
msgstr "Abrir carpeta de datos" msgstr "Abrir carpeta de datos"
#: lib/bds/desktop/shell_live/index.html.heex:644 #: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:337
#: lib/bds/tui.ex:342
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Existing Blog" msgid "Open Existing Blog"
msgstr "Abrir blog existente" msgstr "Abrir blog existente"
@@ -1773,7 +1775,7 @@ msgid "Open Settings"
msgstr "Abrir Ajustes" msgstr "Abrir Ajustes"
#: lib/bds/desktop/menu_bar.ex:217 #: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:986 #: lib/bds/tui.ex:1156
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open in Browser" msgid "Open in Browser"
msgstr "Abrir en el navegador" msgstr "Abrir en el navegador"
@@ -1921,8 +1923,8 @@ msgstr "Artículo guardado"
#: lib/bds/desktop/menu_bar.ex:233 #: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664 #: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761 #: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:835 #: lib/bds/tui.ex:1004
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#: lib/bds/ui/registry.ex:14 #: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271 #: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -1981,6 +1983,8 @@ msgstr "Proyecto y publicación"
#: lib/bds/desktop/shell_live/chat_surface.ex:15 #: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623 #: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:309
#: lib/bds/tui.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Projects" msgid "Projects"
msgstr "Proyectos" msgstr "Proyectos"
@@ -2046,14 +2050,15 @@ msgid "Ready to import:"
msgstr "Listo para importar:" msgstr "Listo para importar:"
#: lib/bds/desktop/menu_bar.ex:248 #: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:966 #: lib/bds/tui.ex:334
#: lib/bds/tui.ex:1136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Database" msgid "Rebuild Database"
msgstr "Reconstruir base de datos" msgstr "Reconstruir base de datos"
#: lib/bds/desktop/menu_bar.ex:250 #: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:970 #: lib/bds/tui.ex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index" msgid "Rebuild Embedding Index"
msgstr "Reconstruir índice de embeddings" msgstr "Reconstruir índice de embeddings"
@@ -2111,7 +2116,7 @@ msgid "Refresh Translation"
msgstr "Actualizar traducción" msgstr "Actualizar traducción"
#: lib/bds/desktop/menu_bar.ex:252 #: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:973 #: lib/bds/tui.ex:1143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Regenerate Calendar" msgid "Regenerate Calendar"
msgstr "Regenerar calendario" msgstr "Regenerar calendario"
@@ -2122,7 +2127,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Regenerar miniaturas faltantes" msgstr "Regenerar miniaturas faltantes"
#: lib/bds/desktop/menu_bar.ex:249 #: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:967 #: lib/bds/tui.ex:1137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reindex Text" msgid "Reindex Text"
msgstr "Reindexar texto" msgstr "Reindexar texto"
@@ -2308,7 +2313,7 @@ msgstr "Las capacidades de scripts se configuran en la capa de aplicación en la
#: lib/bds/desktop/shell_live/script_editor.ex:216 #: 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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234 #: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:838 #: lib/bds/tui.ex:1007
#: lib/bds/ui/registry.ex:38 #: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115 #: lib/bds/ui/sidebar.ex:115
@@ -2436,9 +2441,9 @@ msgid "Site"
msgstr "Sitio" msgstr "Sitio"
#: lib/bds/desktop/shell_live/misc_editor.ex:412 #: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#: lib/bds/tui.ex:228 #: lib/bds/tui.ex:243
#: lib/bds/tui.ex:659 #: lib/bds/tui.ex:828
#: lib/bds/ui/registry.ex:125 #: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Site Validation" msgid "Site Validation"
@@ -2559,7 +2564,7 @@ msgstr "Nombre de la etiqueta"
#: lib/bds/desktop/shell_live/tags_editor.ex:222 #: 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.ex:253
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:839 #: lib/bds/tui.ex:1008
#: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103 #: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289 #: lib/bds/ui/sidebar.ex:289
@@ -2571,7 +2576,7 @@ msgstr "Etiquetas"
#: lib/bds/desktop/shell_live.ex:786 #: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54 #: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tasks" msgid "Tasks"
msgstr "Tareas" msgstr "Tareas"
@@ -2616,7 +2621,7 @@ msgstr "La sintaxis de la plantilla es válida"
#: lib/bds/desktop/shell_live/template_editor.ex:171 #: 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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191 #: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:837 #: lib/bds/tui.ex:1006
#: lib/bds/ui/registry.ex:46 #: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122 #: lib/bds/ui/sidebar.ex:122
@@ -2839,7 +2844,7 @@ msgid "Updated URLs"
msgstr "URLs actualizadas" msgstr "URLs actualizadas"
#: lib/bds/desktop/menu_bar.ex:259 #: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:985 #: lib/bds/tui.ex:1155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload Site" msgid "Upload Site"
msgstr "Subir sitio" msgstr "Subir sitio"
@@ -2867,13 +2872,13 @@ msgid "Validate"
msgstr "Validar" msgstr "Validar"
#: lib/bds/desktop/menu_bar.ex:258 #: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:963 #: lib/bds/tui.ex:1133
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Site" msgid "Validate Site"
msgstr "Validar sitio" msgstr "Validar sitio"
#: lib/bds/desktop/menu_bar.ex:253 #: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:976 #: lib/bds/tui.ex:1146
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Translations" msgid "Validate Translations"
msgstr "Validar traducciones" msgstr "Validar traducciones"
@@ -3538,7 +3543,7 @@ msgid "Suggested tags"
msgstr "Etiquetas sugeridas" msgstr "Etiquetas sugeridas"
#: lib/bds/desktop/menu_bar.ex:257 #: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:964 #: lib/bds/tui.ex:1134
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Force Render Site" msgid "Force Render Site"
msgstr "Forzar la regeneración del sitio" msgstr "Forzar la regeneración del sitio"
@@ -3635,82 +3640,82 @@ msgstr "OK"
msgid "The endpoint returned no models. You can still type a model name manually." msgid "The endpoint returned no models. You can still type a model name manually."
msgstr "El endpoint no devolvió ningún modelo. Aún puedes escribir el nombre de un modelo manualmente." msgstr "El endpoint no devolvió ningún modelo. Aún puedes escribir el nombre de un modelo manualmente."
#: lib/bds/tui.ex:923 #: lib/bds/tui.ex:1092
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint." msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "La IA no está disponible en modo avión sin un punto de conexión local." msgstr "La IA no está disponible en modo avión sin un punto de conexión local."
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not load this file." msgid "Could not load this file."
msgstr "No se pudo cargar este archivo." msgstr "No se pudo cargar este archivo."
#: lib/bds/tui.ex:158 #: lib/bds/tui.ex:173
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet." msgid "Editing this item is not available in the terminal UI yet."
msgstr "La edición de este elemento aún no está disponible en la interfaz de terminal." msgstr "La edición de este elemento aún no está disponible en la interfaz de terminal."
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No suggestions returned." msgid "No suggestions returned."
msgstr "No se recibieron sugerencias." msgstr "No se recibieron sugerencias."
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only images can be previewed." msgid "Only images can be previewed."
msgstr "Solo se pueden previsualizar imágenes." msgstr "Solo se pueden previsualizar imágenes."
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Post not found." msgid "Post not found."
msgstr "Entrada no encontrada." msgstr "Entrada no encontrada."
#: lib/bds/tui.ex:505 #: lib/bds/tui.ex:623
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}." msgid "Press enter to preview %{name}."
msgstr "Pulsa Intro para previsualizar %{name}." msgstr "Pulsa Intro para previsualizar %{name}."
#: lib/bds/tui.ex:893 #: lib/bds/tui.ex:1062
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Published." msgid "Published."
msgstr "Publicado." msgstr "Publicado."
#: lib/bds/tui.ex:909 #: lib/bds/tui.ex:1078
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save before switching languages." msgid "Save before switching languages."
msgstr "Guarda antes de cambiar de idioma." msgstr "Guarda antes de cambiar de idioma."
#: lib/bds/tui.ex:894 #: lib/bds/tui.ex:1063
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saved." msgid "Saved."
msgstr "Guardado." msgstr "Guardado."
#: lib/bds/tui.ex:508 #: lib/bds/tui.ex:626
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it." msgid "Select an entry and press enter to open it."
msgstr "Selecciona una entrada y pulsa Intro para abrirla." msgstr "Selecciona una entrada y pulsa Intro para abrirla."
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Suggestions applied." msgid "Suggestions applied."
msgstr "Sugerencias aplicadas." msgstr "Sugerencias aplicadas."
#: lib/bds/tui.ex:520 #: lib/bds/tui.ex:638
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)" msgid "Title (ctrl+t to edit)"
msgstr "Título (ctrl+t para editar)" msgstr "Título (ctrl+t para editar)"
#: lib/bds/tui.ex:519 #: lib/bds/tui.ex:637
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)" msgid "Title (editing — enter to confirm)"
msgstr "Título (edición — Intro para confirmar)" msgstr "Título (edición — Intro para confirmar)"
#: lib/bds/tui.ex:567 #: lib/bds/tui.ex:685
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Working…" msgid "Working…"
msgstr "Procesando…" msgstr "Procesando…"
#: lib/bds/tui.ex:589 #: lib/bds/tui.ex:707
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "esc to close" msgid "esc to close"
msgstr "esc para cerrar" msgstr "esc para cerrar"
@@ -3747,92 +3752,117 @@ msgstr "Dirección del servidor (user@host o user@host:port), autenticación de
msgid "Use the form user@host or user@host:port." msgid "Use the form user@host or user@host:port."
msgstr "Usa el formato user@host o user@host:port." msgstr "Usa el formato user@host o user@host:port."
#: lib/bds/tui.ex:539 #: lib/bds/tui.ex:657
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)" msgid "Preview (ctrl+e to edit)"
msgstr "Vista previa (ctrl+e para editar)" msgstr "Vista previa (ctrl+e para editar)"
#: lib/bds/tui.ex:748 #: lib/bds/tui.ex:917
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back" msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back"
msgstr "ctrl+s guardar · ctrl+p publicar · ctrl+e vista previa · ctrl+t título · ctrl+l idioma · ctrl+g IA · esc volver" msgstr "ctrl+s guardar · ctrl+p publicar · ctrl+e vista previa · ctrl+t título · ctrl+l idioma · ctrl+g IA · esc volver"
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All tasks finished." msgid "All tasks finished."
msgstr "Todas las tareas han terminado." msgstr "Todas las tareas han terminado."
#: lib/bds/tui.ex:615 #: lib/bds/tui.ex:733
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Commands — esc to close" msgid "Commands — esc to close"
msgstr "Comandos — esc para cerrar" msgstr "Comandos — esc para cerrar"
#: lib/bds/tui.ex:247 #: lib/bds/tui.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unknown command." msgid "Unknown command."
msgstr "Comando desconocido." msgstr "Comando desconocido."
#: lib/bds/tui.ex:605 #: lib/bds/tui.ex:723
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "[report/apply in GUI]" msgid "[report/apply in GUI]"
msgstr "[informe/aplicación en la GUI]" msgstr "[informe/aplicación en la GUI]"
#: lib/bds/tui.ex:670 #: lib/bds/tui.ex:839
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files" msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} diferencias · %{orphans} archivos huérfanos" msgstr "%{diffs} diferencias · %{orphans} archivos huérfanos"
#: lib/bds/tui.ex:702 #: lib/bds/tui.ex:871
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}" msgid "Expected %{expected} · Existing %{existing}"
msgstr "Esperados %{expected} · Existentes %{existing}" msgstr "Esperados %{expected} · Existentes %{existing}"
#: lib/bds/tui.ex:719 #: lib/bds/tui.ex:888
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Extra files (will be removed):" msgid "Extra files (will be removed):"
msgstr "Archivos sobrantes (se eliminarán):" msgstr "Archivos sobrantes (se eliminarán):"
#: lib/bds/tui.ex:715 #: lib/bds/tui.ex:884
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):" msgid "Missing pages (will be rendered):"
msgstr "Páginas faltantes (se generarán):" msgstr "Páginas faltantes (se generarán):"
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to apply." msgid "Nothing to apply."
msgstr "Nada que aplicar." msgstr "Nada que aplicar."
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to repair." msgid "Nothing to repair."
msgstr "Nada que reparar." msgstr "Nada que reparar."
#: lib/bds/tui.ex:693 #: lib/bds/tui.ex:862
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Orphan files (not in database):" msgid "Orphan files (not in database):"
msgstr "Archivos huérfanos (no están en la base de datos):" msgstr "Archivos huérfanos (no están en la base de datos):"
#: lib/bds/tui.ex:709 #: lib/bds/tui.ex:878
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sitemap changed." msgid "Sitemap changed."
msgstr "Sitemap modificado." msgstr "Sitemap modificado."
#: lib/bds/tui.ex:723 #: lib/bds/tui.ex:892
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):" msgid "Updated posts (will be re-rendered):"
msgstr "Entradas actualizadas (se volverán a generar):" msgstr "Entradas actualizadas (se volverán a generar):"
#: lib/bds/tui.ex:660 #: lib/bds/tui.ex:829
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter apply changes · esc close" msgid "enter apply changes · esc close"
msgstr "intro aplicar cambios · esc cerrar" msgstr "intro aplicar cambios · esc cerrar"
#: lib/bds/tui.ex:741 #: lib/bds/tui.ex:824
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "intro abrir · n nueva entrada · 1-5 vistas · : comandos (:? ayuda) · r actualizar · ctrl+q salir"
#: lib/bds/tui.ex:655
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close" msgid "enter repair all from files · esc close"
msgstr "intro reparar todo desde archivos · esc cerrar" msgstr "intro reparar todo desde archivos · esc cerrar"
#: lib/bds/tui.ex:324
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Blog importado"
#: lib/bds/tui.ex:343
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "No es una carpeta: %{path}"
#: lib/bds/tui.ex:764
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · enter open · esc back"
msgstr "Abrir blog existente — escribe la ruta de una carpeta · intro abrir · esc volver"
#: lib/bds/tui.ex:793
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr "Proyectos — intro cambiar · o abrir existente · esc cerrar"
#: lib/bds/tui.ex:310
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Cambiado a %{name}."
#: lib/bds/tui.ex:910
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · p projects · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "intro abrir · n nueva entrada · 1-5 vistas · p proyectos · : comandos (:? ayuda) · r actualizar · ctrl+q salir"

View File

@@ -81,11 +81,11 @@ msgstr "Paramètres IA"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72 #: 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.ex:920
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#: lib/bds/tui.ex:379 #: lib/bds/tui.ex:491
#: lib/bds/tui.ex:387 #: lib/bds/tui.ex:499
#: lib/bds/tui.ex:922 #: lib/bds/tui.ex:1091
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI Suggestions" msgid "AI Suggestions"
msgstr "Suggestions IA" msgstr "Suggestions IA"
@@ -572,7 +572,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Réduire les blocs de diff inchangés" msgstr "Réduire les blocs de diff inchangés"
#: lib/bds/desktop/shell_live/overlay_manager.ex:422 #: lib/bds/desktop/shell_live/overlay_manager.ex:422
#: lib/bds/tui.ex:1017 #: lib/bds/tui.ex:1187
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Command completed" msgid "Command completed"
msgstr "Commande terminée" msgstr "Commande terminée"
@@ -590,7 +590,7 @@ msgstr "Confirmer"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: 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/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:550 #: lib/bds/tui.ex:668
#: lib/bds/ui/sidebar.ex:764 #: lib/bds/ui/sidebar.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Content" msgid "Content"
@@ -1030,7 +1030,7 @@ msgid "Filename"
msgstr "Nom de fichier" msgstr "Nom de fichier"
#: lib/bds/desktop/menu_bar.ex:254 #: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:981 #: lib/bds/tui.ex:1151
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fill Missing Translations" msgid "Fill Missing Translations"
msgstr "Compléter les traductions manquantes" msgstr "Compléter les traductions manquantes"
@@ -1041,7 +1041,7 @@ msgid "Find"
msgstr "Rechercher" msgstr "Rechercher"
#: lib/bds/desktop/menu_bar.ex:255 #: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:984 #: lib/bds/tui.ex:1154
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Find Duplicate Posts" msgid "Find Duplicate Posts"
msgstr "Trouver les doublons" msgstr "Trouver les doublons"
@@ -1068,7 +1068,7 @@ msgid "Gallery"
msgstr "Galerie" msgstr "Galerie"
#: lib/bds/desktop/menu_bar.ex:256 #: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:965 #: lib/bds/tui.ex:1135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Generate Site" msgid "Generate Site"
msgstr "Générer le site" msgstr "Générer le site"
@@ -1389,9 +1389,9 @@ msgstr "Nombre maximal darticles par page"
#: lib/bds/desktop/shell_live/misc_editor.ex:762 #: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654 #: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:836 #: lib/bds/tui.ex:1005
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100 #: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:558 #: lib/bds/ui/sidebar.ex:558
@@ -1434,11 +1434,11 @@ msgstr "Métadonnées"
#: lib/bds/desktop/shell_live/misc_editor.ex:214 #: lib/bds/desktop/shell_live/misc_editor.ex:214
#: lib/bds/desktop/shell_live/misc_editor.ex:226 #: lib/bds/desktop/shell_live/misc_editor.ex:226
#: lib/bds/desktop/shell_live/misc_editor.ex:448 #: lib/bds/desktop/shell_live/misc_editor.ex:448
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#: lib/bds/tui.ex:199 #: lib/bds/tui.ex:214
#: lib/bds/tui.ex:210 #: lib/bds/tui.ex:225
#: lib/bds/tui.ex:654 #: lib/bds/tui.ex:823
#: lib/bds/tui.ex:962 #: lib/bds/tui.ex:1132
#: lib/bds/ui/registry.ex:111 #: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Metadata Diff" msgid "Metadata Diff"
@@ -1484,7 +1484,7 @@ msgstr "Nouvelle page"
#: lib/bds/desktop/menu_bar.ex:214 #: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41 #: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:150 #: lib/bds/tui.ex:165
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Post" msgid "New Post"
msgstr "Nouvel article" msgstr "Nouvel article"
@@ -1762,6 +1762,8 @@ msgid "Open Data Folder"
msgstr "Ouvrir le dossier de données" msgstr "Ouvrir le dossier de données"
#: lib/bds/desktop/shell_live/index.html.heex:644 #: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:337
#: lib/bds/tui.ex:342
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Existing Blog" msgid "Open Existing Blog"
msgstr "Ouvrir un blog existant" msgstr "Ouvrir un blog existant"
@@ -1773,7 +1775,7 @@ msgid "Open Settings"
msgstr "Ouvrir les Réglages" msgstr "Ouvrir les Réglages"
#: lib/bds/desktop/menu_bar.ex:217 #: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:986 #: lib/bds/tui.ex:1156
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open in Browser" msgid "Open in Browser"
msgstr "Ouvrir dans le navigateur" msgstr "Ouvrir dans le navigateur"
@@ -1921,8 +1923,8 @@ msgstr "Article enregistré"
#: lib/bds/desktop/menu_bar.ex:233 #: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664 #: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761 #: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:835 #: lib/bds/tui.ex:1004
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#: lib/bds/ui/registry.ex:14 #: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271 #: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -1981,6 +1983,8 @@ msgstr "Projet et publication"
#: lib/bds/desktop/shell_live/chat_surface.ex:15 #: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623 #: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:309
#: lib/bds/tui.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Projects" msgid "Projects"
msgstr "Projets" msgstr "Projets"
@@ -2046,14 +2050,15 @@ msgid "Ready to import:"
msgstr "Prêt à importer :" msgstr "Prêt à importer :"
#: lib/bds/desktop/menu_bar.ex:248 #: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:966 #: lib/bds/tui.ex:334
#: lib/bds/tui.ex:1136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Database" msgid "Rebuild Database"
msgstr "Reconstruire la base de données" msgstr "Reconstruire la base de données"
#: lib/bds/desktop/menu_bar.ex:250 #: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:970 #: lib/bds/tui.ex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index" msgid "Rebuild Embedding Index"
msgstr "Reconstruire lindex dembeddings" msgstr "Reconstruire lindex dembeddings"
@@ -2111,7 +2116,7 @@ msgid "Refresh Translation"
msgstr "Actualiser la traduction" msgstr "Actualiser la traduction"
#: lib/bds/desktop/menu_bar.ex:252 #: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:973 #: lib/bds/tui.ex:1143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Regenerate Calendar" msgid "Regenerate Calendar"
msgstr "Régénérer le calendrier" msgstr "Régénérer le calendrier"
@@ -2122,7 +2127,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Régénérer les vignettes manquantes" msgstr "Régénérer les vignettes manquantes"
#: lib/bds/desktop/menu_bar.ex:249 #: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:967 #: lib/bds/tui.ex:1137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reindex Text" msgid "Reindex Text"
msgstr "Réindexer le texte" msgstr "Réindexer le texte"
@@ -2308,7 +2313,7 @@ msgstr "Les capacités de script sont configurées au niveau de lapplication
#: lib/bds/desktop/shell_live/script_editor.ex:216 #: 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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234 #: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:838 #: lib/bds/tui.ex:1007
#: lib/bds/ui/registry.ex:38 #: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115 #: lib/bds/ui/sidebar.ex:115
@@ -2436,9 +2441,9 @@ msgid "Site"
msgstr "Site" msgstr "Site"
#: lib/bds/desktop/shell_live/misc_editor.ex:412 #: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#: lib/bds/tui.ex:228 #: lib/bds/tui.ex:243
#: lib/bds/tui.ex:659 #: lib/bds/tui.ex:828
#: lib/bds/ui/registry.ex:125 #: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Site Validation" msgid "Site Validation"
@@ -2559,7 +2564,7 @@ msgstr "Nom du mot-clé"
#: lib/bds/desktop/shell_live/tags_editor.ex:222 #: 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.ex:253
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:839 #: lib/bds/tui.ex:1008
#: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103 #: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289 #: lib/bds/ui/sidebar.ex:289
@@ -2571,7 +2576,7 @@ msgstr "Tags"
#: lib/bds/desktop/shell_live.ex:786 #: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54 #: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tasks" msgid "Tasks"
msgstr "Tâches" msgstr "Tâches"
@@ -2616,7 +2621,7 @@ msgstr "La syntaxe du template est valide"
#: lib/bds/desktop/shell_live/template_editor.ex:171 #: 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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191 #: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:837 #: lib/bds/tui.ex:1006
#: lib/bds/ui/registry.ex:46 #: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122 #: lib/bds/ui/sidebar.ex:122
@@ -2839,7 +2844,7 @@ msgid "Updated URLs"
msgstr "URLs mises à jour" msgstr "URLs mises à jour"
#: lib/bds/desktop/menu_bar.ex:259 #: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:985 #: lib/bds/tui.ex:1155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload Site" msgid "Upload Site"
msgstr "Téléverser le site" msgstr "Téléverser le site"
@@ -2867,13 +2872,13 @@ msgid "Validate"
msgstr "Valider" msgstr "Valider"
#: lib/bds/desktop/menu_bar.ex:258 #: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:963 #: lib/bds/tui.ex:1133
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Site" msgid "Validate Site"
msgstr "Valider le site" msgstr "Valider le site"
#: lib/bds/desktop/menu_bar.ex:253 #: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:976 #: lib/bds/tui.ex:1146
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Translations" msgid "Validate Translations"
msgstr "Valider les traductions" msgstr "Valider les traductions"
@@ -3538,7 +3543,7 @@ msgid "Suggested tags"
msgstr "Tags suggérés" msgstr "Tags suggérés"
#: lib/bds/desktop/menu_bar.ex:257 #: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:964 #: lib/bds/tui.ex:1134
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Force Render Site" msgid "Force Render Site"
msgstr "Forcer la régénération du site" msgstr "Forcer la régénération du site"
@@ -3635,82 +3640,82 @@ msgstr "OK"
msgid "The endpoint returned no models. You can still type a model name manually." msgid "The endpoint returned no models. You can still type a model name manually."
msgstr "Le point de terminaison n'a renvoyé aucun modèle. Vous pouvez toujours saisir un nom de modèle manuellement." msgstr "Le point de terminaison n'a renvoyé aucun modèle. Vous pouvez toujours saisir un nom de modèle manuellement."
#: lib/bds/tui.ex:923 #: lib/bds/tui.ex:1092
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint." msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "L'IA n'est pas disponible en mode avion sans point de terminaison local." msgstr "L'IA n'est pas disponible en mode avion sans point de terminaison local."
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not load this file." msgid "Could not load this file."
msgstr "Impossible de charger ce fichier." msgstr "Impossible de charger ce fichier."
#: lib/bds/tui.ex:158 #: lib/bds/tui.ex:173
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet." msgid "Editing this item is not available in the terminal UI yet."
msgstr "La modification de cet élément n'est pas encore disponible dans l'interface du terminal." msgstr "La modification de cet élément n'est pas encore disponible dans l'interface du terminal."
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No suggestions returned." msgid "No suggestions returned."
msgstr "Aucune suggestion reçue." msgstr "Aucune suggestion reçue."
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only images can be previewed." msgid "Only images can be previewed."
msgstr "Seules les images peuvent être prévisualisées." msgstr "Seules les images peuvent être prévisualisées."
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Post not found." msgid "Post not found."
msgstr "Article introuvable." msgstr "Article introuvable."
#: lib/bds/tui.ex:505 #: lib/bds/tui.ex:623
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}." msgid "Press enter to preview %{name}."
msgstr "Appuyez sur Entrée pour prévisualiser %{name}." msgstr "Appuyez sur Entrée pour prévisualiser %{name}."
#: lib/bds/tui.ex:893 #: lib/bds/tui.ex:1062
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Published." msgid "Published."
msgstr "Publié." msgstr "Publié."
#: lib/bds/tui.ex:909 #: lib/bds/tui.ex:1078
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save before switching languages." msgid "Save before switching languages."
msgstr "Enregistrez avant de changer de langue." msgstr "Enregistrez avant de changer de langue."
#: lib/bds/tui.ex:894 #: lib/bds/tui.ex:1063
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saved." msgid "Saved."
msgstr "Enregistré." msgstr "Enregistré."
#: lib/bds/tui.ex:508 #: lib/bds/tui.ex:626
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it." msgid "Select an entry and press enter to open it."
msgstr "Sélectionnez une entrée et appuyez sur Entrée pour l'ouvrir." msgstr "Sélectionnez une entrée et appuyez sur Entrée pour l'ouvrir."
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Suggestions applied." msgid "Suggestions applied."
msgstr "Suggestions appliquées." msgstr "Suggestions appliquées."
#: lib/bds/tui.ex:520 #: lib/bds/tui.ex:638
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)" msgid "Title (ctrl+t to edit)"
msgstr "Titre (ctrl+t pour modifier)" msgstr "Titre (ctrl+t pour modifier)"
#: lib/bds/tui.ex:519 #: lib/bds/tui.ex:637
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)" msgid "Title (editing — enter to confirm)"
msgstr "Titre (édition — Entrée pour confirmer)" msgstr "Titre (édition — Entrée pour confirmer)"
#: lib/bds/tui.ex:567 #: lib/bds/tui.ex:685
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Working…" msgid "Working…"
msgstr "Traitement en cours…" msgstr "Traitement en cours…"
#: lib/bds/tui.ex:589 #: lib/bds/tui.ex:707
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "esc to close" msgid "esc to close"
msgstr "échap pour fermer" msgstr "échap pour fermer"
@@ -3747,92 +3752,117 @@ msgstr "Adresse du serveur (user@host ou user@host:port), authentification par c
msgid "Use the form user@host or user@host:port." msgid "Use the form user@host or user@host:port."
msgstr "Utilisez le format user@host ou user@host:port." msgstr "Utilisez le format user@host ou user@host:port."
#: lib/bds/tui.ex:539 #: lib/bds/tui.ex:657
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)" msgid "Preview (ctrl+e to edit)"
msgstr "Aperçu (ctrl+e pour modifier)" msgstr "Aperçu (ctrl+e pour modifier)"
#: lib/bds/tui.ex:748 #: lib/bds/tui.ex:917
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back" msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back"
msgstr "ctrl+s enregistrer · ctrl+p publier · ctrl+e aperçu · ctrl+t titre · ctrl+l langue · ctrl+g IA · échap retour" msgstr "ctrl+s enregistrer · ctrl+p publier · ctrl+e aperçu · ctrl+t titre · ctrl+l langue · ctrl+g IA · échap retour"
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All tasks finished." msgid "All tasks finished."
msgstr "Toutes les tâches sont terminées." msgstr "Toutes les tâches sont terminées."
#: lib/bds/tui.ex:615 #: lib/bds/tui.ex:733
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Commands — esc to close" msgid "Commands — esc to close"
msgstr "Commandes — échap pour fermer" msgstr "Commandes — échap pour fermer"
#: lib/bds/tui.ex:247 #: lib/bds/tui.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unknown command." msgid "Unknown command."
msgstr "Commande inconnue." msgstr "Commande inconnue."
#: lib/bds/tui.ex:605 #: lib/bds/tui.ex:723
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "[report/apply in GUI]" msgid "[report/apply in GUI]"
msgstr "[rapport/application dans la GUI]" msgstr "[rapport/application dans la GUI]"
#: lib/bds/tui.ex:670 #: lib/bds/tui.ex:839
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files" msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} différences · %{orphans} fichiers orphelins" msgstr "%{diffs} différences · %{orphans} fichiers orphelins"
#: lib/bds/tui.ex:702 #: lib/bds/tui.ex:871
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}" msgid "Expected %{expected} · Existing %{existing}"
msgstr "Attendu %{expected} · Existant %{existing}" msgstr "Attendu %{expected} · Existant %{existing}"
#: lib/bds/tui.ex:719 #: lib/bds/tui.ex:888
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Extra files (will be removed):" msgid "Extra files (will be removed):"
msgstr "Fichiers en trop (seront supprimés) :" msgstr "Fichiers en trop (seront supprimés) :"
#: lib/bds/tui.ex:715 #: lib/bds/tui.ex:884
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):" msgid "Missing pages (will be rendered):"
msgstr "Pages manquantes (seront rendues) :" msgstr "Pages manquantes (seront rendues) :"
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to apply." msgid "Nothing to apply."
msgstr "Rien à appliquer." msgstr "Rien à appliquer."
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to repair." msgid "Nothing to repair."
msgstr "Rien à réparer." msgstr "Rien à réparer."
#: lib/bds/tui.ex:693 #: lib/bds/tui.ex:862
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Orphan files (not in database):" msgid "Orphan files (not in database):"
msgstr "Fichiers orphelins (absents de la base de données) :" msgstr "Fichiers orphelins (absents de la base de données) :"
#: lib/bds/tui.ex:709 #: lib/bds/tui.ex:878
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sitemap changed." msgid "Sitemap changed."
msgstr "Sitemap modifié." msgstr "Sitemap modifié."
#: lib/bds/tui.ex:723 #: lib/bds/tui.ex:892
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):" msgid "Updated posts (will be re-rendered):"
msgstr "Articles mis à jour (seront rendus à nouveau) :" msgstr "Articles mis à jour (seront rendus à nouveau) :"
#: lib/bds/tui.ex:660 #: lib/bds/tui.ex:829
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter apply changes · esc close" msgid "enter apply changes · esc close"
msgstr "entrée appliquer les modifications · échap fermer" msgstr "entrée appliquer les modifications · échap fermer"
#: lib/bds/tui.ex:741 #: lib/bds/tui.ex:824
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "entrée ouvrir · n nouvel article · 1-5 vues · : commandes (:? aide) · r actualiser · ctrl+q quitter"
#: lib/bds/tui.ex:655
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close" msgid "enter repair all from files · esc close"
msgstr "entrée tout réparer depuis les fichiers · échap fermer" msgstr "entrée tout réparer depuis les fichiers · échap fermer"
#: lib/bds/tui.ex:324
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Blog importé"
#: lib/bds/tui.ex:343
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "Pas un dossier : %{path}"
#: lib/bds/tui.ex:764
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · enter open · esc back"
msgstr "Ouvrir un blog existant — saisir le chemin d'un dossier · entrée ouvrir · échap retour"
#: lib/bds/tui.ex:793
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr "Projets — entrée changer · o ouvrir existant · échap fermer"
#: lib/bds/tui.ex:310
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Passage à %{name}."
#: lib/bds/tui.ex:910
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · p projects · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "entrée ouvrir · n nouvel article · 1-5 vues · p projets · : commandes (:? aide) · r actualiser · ctrl+q quitter"

View File

@@ -81,11 +81,11 @@ msgstr "Impostazioni IA"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72 #: 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.ex:920
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#: lib/bds/tui.ex:379 #: lib/bds/tui.ex:491
#: lib/bds/tui.ex:387 #: lib/bds/tui.ex:499
#: lib/bds/tui.ex:922 #: lib/bds/tui.ex:1091
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI Suggestions" msgid "AI Suggestions"
msgstr "Suggerimenti IA" msgstr "Suggerimenti IA"
@@ -572,7 +572,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Comprimi i blocchi diff invariati" msgstr "Comprimi i blocchi diff invariati"
#: lib/bds/desktop/shell_live/overlay_manager.ex:422 #: lib/bds/desktop/shell_live/overlay_manager.ex:422
#: lib/bds/tui.ex:1017 #: lib/bds/tui.ex:1187
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Command completed" msgid "Command completed"
msgstr "Comando completato" msgstr "Comando completato"
@@ -590,7 +590,7 @@ msgstr "Conferma"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: 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/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:550 #: lib/bds/tui.ex:668
#: lib/bds/ui/sidebar.ex:764 #: lib/bds/ui/sidebar.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Content" msgid "Content"
@@ -1030,7 +1030,7 @@ msgid "Filename"
msgstr "Nome file" msgstr "Nome file"
#: lib/bds/desktop/menu_bar.ex:254 #: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:981 #: lib/bds/tui.ex:1151
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fill Missing Translations" msgid "Fill Missing Translations"
msgstr "Completa traduzioni mancanti" msgstr "Completa traduzioni mancanti"
@@ -1041,7 +1041,7 @@ msgid "Find"
msgstr "Trova" msgstr "Trova"
#: lib/bds/desktop/menu_bar.ex:255 #: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:984 #: lib/bds/tui.ex:1154
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Find Duplicate Posts" msgid "Find Duplicate Posts"
msgstr "Trova post duplicati" msgstr "Trova post duplicati"
@@ -1068,7 +1068,7 @@ msgid "Gallery"
msgstr "Galleria" msgstr "Galleria"
#: lib/bds/desktop/menu_bar.ex:256 #: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:965 #: lib/bds/tui.ex:1135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Generate Site" msgid "Generate Site"
msgstr "Genera sito" msgstr "Genera sito"
@@ -1389,9 +1389,9 @@ msgstr "Numero massimo di post per pagina"
#: lib/bds/desktop/shell_live/misc_editor.ex:762 #: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654 #: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:836 #: lib/bds/tui.ex:1005
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100 #: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:558 #: lib/bds/ui/sidebar.ex:558
@@ -1434,11 +1434,11 @@ msgstr "Metadati"
#: lib/bds/desktop/shell_live/misc_editor.ex:214 #: lib/bds/desktop/shell_live/misc_editor.ex:214
#: lib/bds/desktop/shell_live/misc_editor.ex:226 #: lib/bds/desktop/shell_live/misc_editor.ex:226
#: lib/bds/desktop/shell_live/misc_editor.ex:448 #: lib/bds/desktop/shell_live/misc_editor.ex:448
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#: lib/bds/tui.ex:199 #: lib/bds/tui.ex:214
#: lib/bds/tui.ex:210 #: lib/bds/tui.ex:225
#: lib/bds/tui.ex:654 #: lib/bds/tui.ex:823
#: lib/bds/tui.ex:962 #: lib/bds/tui.ex:1132
#: lib/bds/ui/registry.ex:111 #: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Metadata Diff" msgid "Metadata Diff"
@@ -1484,7 +1484,7 @@ msgstr "Nuova pagina"
#: lib/bds/desktop/menu_bar.ex:214 #: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41 #: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:150 #: lib/bds/tui.ex:165
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Post" msgid "New Post"
msgstr "Nuovo post" msgstr "Nuovo post"
@@ -1762,6 +1762,8 @@ msgid "Open Data Folder"
msgstr "Apri cartella dati" msgstr "Apri cartella dati"
#: lib/bds/desktop/shell_live/index.html.heex:644 #: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:337
#: lib/bds/tui.ex:342
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Existing Blog" msgid "Open Existing Blog"
msgstr "Apri blog esistente" msgstr "Apri blog esistente"
@@ -1773,7 +1775,7 @@ msgid "Open Settings"
msgstr "Apri Impostazioni" msgstr "Apri Impostazioni"
#: lib/bds/desktop/menu_bar.ex:217 #: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:986 #: lib/bds/tui.ex:1156
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open in Browser" msgid "Open in Browser"
msgstr "Apri nel browser" msgstr "Apri nel browser"
@@ -1921,8 +1923,8 @@ msgstr "Articolo salvato"
#: lib/bds/desktop/menu_bar.ex:233 #: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664 #: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761 #: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:835 #: lib/bds/tui.ex:1004
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#: lib/bds/ui/registry.ex:14 #: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271 #: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -1981,6 +1983,8 @@ msgstr "Progetto e pubblicazione"
#: lib/bds/desktop/shell_live/chat_surface.ex:15 #: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623 #: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:309
#: lib/bds/tui.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Projects" msgid "Projects"
msgstr "Progetti" msgstr "Progetti"
@@ -2046,14 +2050,15 @@ msgid "Ready to import:"
msgstr "Pronto per importare:" msgstr "Pronto per importare:"
#: lib/bds/desktop/menu_bar.ex:248 #: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:966 #: lib/bds/tui.ex:334
#: lib/bds/tui.ex:1136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Database" msgid "Rebuild Database"
msgstr "Ricostruisci database" msgstr "Ricostruisci database"
#: lib/bds/desktop/menu_bar.ex:250 #: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:970 #: lib/bds/tui.ex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index" msgid "Rebuild Embedding Index"
msgstr "Ricostruisci indice embeddings" msgstr "Ricostruisci indice embeddings"
@@ -2111,7 +2116,7 @@ msgid "Refresh Translation"
msgstr "Aggiorna traduzione" msgstr "Aggiorna traduzione"
#: lib/bds/desktop/menu_bar.ex:252 #: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:973 #: lib/bds/tui.ex:1143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Regenerate Calendar" msgid "Regenerate Calendar"
msgstr "Rigenera calendario" msgstr "Rigenera calendario"
@@ -2122,7 +2127,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Rigenera miniature mancanti" msgstr "Rigenera miniature mancanti"
#: lib/bds/desktop/menu_bar.ex:249 #: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:967 #: lib/bds/tui.ex:1137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reindex Text" msgid "Reindex Text"
msgstr "Reindicizza testo" msgstr "Reindicizza testo"
@@ -2308,7 +2313,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:216
#: lib/bds/desktop/shell_live/script_editor.ex:219 #: lib/bds/desktop/shell_live/script_editor.ex:219
#: lib/bds/desktop/shell_live/script_editor.ex:234 #: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:838 #: lib/bds/tui.ex:1007
#: lib/bds/ui/registry.ex:38 #: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115 #: lib/bds/ui/sidebar.ex:115
@@ -2436,9 +2441,9 @@ msgid "Site"
msgstr "Sito" msgstr "Sito"
#: lib/bds/desktop/shell_live/misc_editor.ex:412 #: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#: lib/bds/tui.ex:228 #: lib/bds/tui.ex:243
#: lib/bds/tui.ex:659 #: lib/bds/tui.ex:828
#: lib/bds/ui/registry.ex:125 #: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Site Validation" msgid "Site Validation"
@@ -2559,7 +2564,7 @@ msgstr "Nome del tag"
#: lib/bds/desktop/shell_live/tags_editor.ex:222 #: 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.ex:253
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:839 #: lib/bds/tui.ex:1008
#: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103 #: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289 #: lib/bds/ui/sidebar.ex:289
@@ -2571,7 +2576,7 @@ msgstr "Tag"
#: lib/bds/desktop/shell_live.ex:786 #: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54 #: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tasks" msgid "Tasks"
msgstr "Attività" msgstr "Attività"
@@ -2616,7 +2621,7 @@ msgstr "La sintassi del template è valida"
#: lib/bds/desktop/shell_live/template_editor.ex:171 #: 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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191 #: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:837 #: lib/bds/tui.ex:1006
#: lib/bds/ui/registry.ex:46 #: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122 #: lib/bds/ui/sidebar.ex:122
@@ -2839,7 +2844,7 @@ msgid "Updated URLs"
msgstr "URL aggiornati" msgstr "URL aggiornati"
#: lib/bds/desktop/menu_bar.ex:259 #: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:985 #: lib/bds/tui.ex:1155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload Site" msgid "Upload Site"
msgstr "Carica sito" msgstr "Carica sito"
@@ -2867,13 +2872,13 @@ msgid "Validate"
msgstr "Valida" msgstr "Valida"
#: lib/bds/desktop/menu_bar.ex:258 #: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:963 #: lib/bds/tui.ex:1133
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Site" msgid "Validate Site"
msgstr "Valida sito" msgstr "Valida sito"
#: lib/bds/desktop/menu_bar.ex:253 #: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:976 #: lib/bds/tui.ex:1146
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Translations" msgid "Validate Translations"
msgstr "Valida traduzioni" msgstr "Valida traduzioni"
@@ -3538,7 +3543,7 @@ msgid "Suggested tags"
msgstr "Tag suggeriti" msgstr "Tag suggeriti"
#: lib/bds/desktop/menu_bar.ex:257 #: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:964 #: lib/bds/tui.ex:1134
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Force Render Site" msgid "Force Render Site"
msgstr "Forza la rigenerazione del sito" msgstr "Forza la rigenerazione del sito"
@@ -3635,82 +3640,82 @@ msgstr "OK"
msgid "The endpoint returned no models. You can still type a model name manually." 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." msgstr "L'endpoint non ha restituito alcun modello. Puoi comunque digitare manualmente il nome di un modello."
#: lib/bds/tui.ex:923 #: lib/bds/tui.ex:1092
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint." msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "L'IA non è disponibile in modalità aereo senza un endpoint locale." msgstr "L'IA non è disponibile in modalità aereo senza un endpoint locale."
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not load this file." msgid "Could not load this file."
msgstr "Impossibile caricare questo file." msgstr "Impossibile caricare questo file."
#: lib/bds/tui.ex:158 #: lib/bds/tui.ex:173
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet." 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." msgstr "La modifica di questo elemento non è ancora disponibile nell'interfaccia del terminale."
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No suggestions returned." msgid "No suggestions returned."
msgstr "Nessun suggerimento ricevuto." msgstr "Nessun suggerimento ricevuto."
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only images can be previewed." msgid "Only images can be previewed."
msgstr "Solo le immagini possono essere visualizzate in anteprima." msgstr "Solo le immagini possono essere visualizzate in anteprima."
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Post not found." msgid "Post not found."
msgstr "Post non trovato." msgstr "Post non trovato."
#: lib/bds/tui.ex:505 #: lib/bds/tui.ex:623
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}." msgid "Press enter to preview %{name}."
msgstr "Premi Invio per l'anteprima di %{name}." msgstr "Premi Invio per l'anteprima di %{name}."
#: lib/bds/tui.ex:893 #: lib/bds/tui.ex:1062
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Published." msgid "Published."
msgstr "Pubblicato." msgstr "Pubblicato."
#: lib/bds/tui.ex:909 #: lib/bds/tui.ex:1078
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save before switching languages." msgid "Save before switching languages."
msgstr "Salva prima di cambiare lingua." msgstr "Salva prima di cambiare lingua."
#: lib/bds/tui.ex:894 #: lib/bds/tui.ex:1063
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saved." msgid "Saved."
msgstr "Salvato." msgstr "Salvato."
#: lib/bds/tui.ex:508 #: lib/bds/tui.ex:626
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it." msgid "Select an entry and press enter to open it."
msgstr "Seleziona una voce e premi Invio per aprirla." msgstr "Seleziona una voce e premi Invio per aprirla."
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Suggestions applied." msgid "Suggestions applied."
msgstr "Suggerimenti applicati." msgstr "Suggerimenti applicati."
#: lib/bds/tui.ex:520 #: lib/bds/tui.ex:638
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)" msgid "Title (ctrl+t to edit)"
msgstr "Titolo (ctrl+t per modificare)" msgstr "Titolo (ctrl+t per modificare)"
#: lib/bds/tui.ex:519 #: lib/bds/tui.ex:637
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)" msgid "Title (editing — enter to confirm)"
msgstr "Titolo (modifica — Invio per confermare)" msgstr "Titolo (modifica — Invio per confermare)"
#: lib/bds/tui.ex:567 #: lib/bds/tui.ex:685
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Working…" msgid "Working…"
msgstr "Elaborazione…" msgstr "Elaborazione…"
#: lib/bds/tui.ex:589 #: lib/bds/tui.ex:707
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "esc to close" msgid "esc to close"
msgstr "esc per chiudere" msgstr "esc per chiudere"
@@ -3747,92 +3752,117 @@ msgstr "Indirizzo del server (user@host o user@host:port), autenticazione a chia
msgid "Use the form user@host or user@host:port." msgid "Use the form user@host or user@host:port."
msgstr "Usa il formato user@host o user@host:port." msgstr "Usa il formato user@host o user@host:port."
#: lib/bds/tui.ex:539 #: lib/bds/tui.ex:657
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)" msgid "Preview (ctrl+e to edit)"
msgstr "Anteprima (ctrl+e per modificare)" msgstr "Anteprima (ctrl+e per modificare)"
#: lib/bds/tui.ex:748 #: lib/bds/tui.ex:917
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back" msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back"
msgstr "ctrl+s salva · ctrl+p pubblica · ctrl+e anteprima · ctrl+t titolo · ctrl+l lingua · ctrl+g IA · esc indietro" msgstr "ctrl+s salva · ctrl+p pubblica · ctrl+e anteprima · ctrl+t titolo · ctrl+l lingua · ctrl+g IA · esc indietro"
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All tasks finished." msgid "All tasks finished."
msgstr "Tutte le attività sono terminate." msgstr "Tutte le attività sono terminate."
#: lib/bds/tui.ex:615 #: lib/bds/tui.ex:733
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Commands — esc to close" msgid "Commands — esc to close"
msgstr "Comandi — esc per chiudere" msgstr "Comandi — esc per chiudere"
#: lib/bds/tui.ex:247 #: lib/bds/tui.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unknown command." msgid "Unknown command."
msgstr "Comando sconosciuto." msgstr "Comando sconosciuto."
#: lib/bds/tui.ex:605 #: lib/bds/tui.ex:723
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "[report/apply in GUI]" msgid "[report/apply in GUI]"
msgstr "[report/applicazione nella GUI]" msgstr "[report/applicazione nella GUI]"
#: lib/bds/tui.ex:670 #: lib/bds/tui.ex:839
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files" msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} differenze · %{orphans} file orfani" msgstr "%{diffs} differenze · %{orphans} file orfani"
#: lib/bds/tui.ex:702 #: lib/bds/tui.ex:871
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}" msgid "Expected %{expected} · Existing %{existing}"
msgstr "Attesi %{expected} · Esistenti %{existing}" msgstr "Attesi %{expected} · Esistenti %{existing}"
#: lib/bds/tui.ex:719 #: lib/bds/tui.ex:888
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Extra files (will be removed):" msgid "Extra files (will be removed):"
msgstr "File in eccesso (verranno rimossi):" msgstr "File in eccesso (verranno rimossi):"
#: lib/bds/tui.ex:715 #: lib/bds/tui.ex:884
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):" msgid "Missing pages (will be rendered):"
msgstr "Pagine mancanti (verranno generate):" msgstr "Pagine mancanti (verranno generate):"
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to apply." msgid "Nothing to apply."
msgstr "Niente da applicare." msgstr "Niente da applicare."
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to repair." msgid "Nothing to repair."
msgstr "Niente da riparare." msgstr "Niente da riparare."
#: lib/bds/tui.ex:693 #: lib/bds/tui.ex:862
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Orphan files (not in database):" msgid "Orphan files (not in database):"
msgstr "File orfani (non presenti nel database):" msgstr "File orfani (non presenti nel database):"
#: lib/bds/tui.ex:709 #: lib/bds/tui.ex:878
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sitemap changed." msgid "Sitemap changed."
msgstr "Sitemap modificata." msgstr "Sitemap modificata."
#: lib/bds/tui.ex:723 #: lib/bds/tui.ex:892
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):" msgid "Updated posts (will be re-rendered):"
msgstr "Post aggiornati (verranno rigenerati):" msgstr "Post aggiornati (verranno rigenerati):"
#: lib/bds/tui.ex:660 #: lib/bds/tui.ex:829
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter apply changes · esc close" msgid "enter apply changes · esc close"
msgstr "invio applica le modifiche · esc chiudi" msgstr "invio applica le modifiche · esc chiudi"
#: lib/bds/tui.ex:741 #: lib/bds/tui.ex:824
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "invio apri · n nuovo post · 1-5 viste · : comandi (:? aiuto) · r aggiorna · ctrl+q esci"
#: lib/bds/tui.ex:655
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close" msgid "enter repair all from files · esc close"
msgstr "invio ripara tutto dai file · esc chiudi" msgstr "invio ripara tutto dai file · esc chiudi"
#: lib/bds/tui.ex:324
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Blog importato"
#: lib/bds/tui.ex:343
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "Non è una cartella: %{path}"
#: lib/bds/tui.ex:764
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · enter open · esc back"
msgstr "Apri blog esistente — digita il percorso di una cartella · invio apri · esc indietro"
#: lib/bds/tui.ex:793
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr "Progetti — invio cambia · o apri esistente · esc chiudi"
#: lib/bds/tui.ex:310
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Passato a %{name}."
#: lib/bds/tui.ex:910
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · p projects · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "invio apri · n nuovo post · 1-5 viste · p progetti · : comandi (:? aiuto) · r aggiorna · ctrl+q esci"

View File

@@ -94,11 +94,11 @@ msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:72 #: 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.ex:920
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#: lib/bds/tui.ex:379 #: lib/bds/tui.ex:491
#: lib/bds/tui.ex:387 #: lib/bds/tui.ex:499
#: lib/bds/tui.ex:922 #: lib/bds/tui.ex:1091
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI Suggestions" msgid "AI Suggestions"
msgstr "" msgstr ""
@@ -585,7 +585,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "" msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:422 #: lib/bds/desktop/shell_live/overlay_manager.ex:422
#: lib/bds/tui.ex:1017 #: lib/bds/tui.ex:1187
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Command completed" msgid "Command completed"
msgstr "" msgstr ""
@@ -603,7 +603,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: 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/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:550 #: lib/bds/tui.ex:668
#: lib/bds/ui/sidebar.ex:764 #: lib/bds/ui/sidebar.ex:764
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Content" msgid "Content"
@@ -1043,7 +1043,7 @@ msgid "Filename"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:254 #: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:981 #: lib/bds/tui.ex:1151
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Fill Missing Translations" msgid "Fill Missing Translations"
msgstr "" msgstr ""
@@ -1054,7 +1054,7 @@ msgid "Find"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:255 #: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:984 #: lib/bds/tui.ex:1154
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Find Duplicate Posts" msgid "Find Duplicate Posts"
msgstr "" msgstr ""
@@ -1081,7 +1081,7 @@ msgid "Gallery"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:256 #: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:965 #: lib/bds/tui.ex:1135
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Generate Site" msgid "Generate Site"
msgstr "" msgstr ""
@@ -1402,9 +1402,9 @@ msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:762 #: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654 #: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:836 #: lib/bds/tui.ex:1005
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100 #: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:558 #: lib/bds/ui/sidebar.ex:558
@@ -1447,11 +1447,11 @@ msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:214 #: lib/bds/desktop/shell_live/misc_editor.ex:214
#: lib/bds/desktop/shell_live/misc_editor.ex:226 #: lib/bds/desktop/shell_live/misc_editor.ex:226
#: lib/bds/desktop/shell_live/misc_editor.ex:448 #: lib/bds/desktop/shell_live/misc_editor.ex:448
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#: lib/bds/tui.ex:199 #: lib/bds/tui.ex:214
#: lib/bds/tui.ex:210 #: lib/bds/tui.ex:225
#: lib/bds/tui.ex:654 #: lib/bds/tui.ex:823
#: lib/bds/tui.ex:962 #: lib/bds/tui.ex:1132
#: lib/bds/ui/registry.ex:111 #: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Metadata Diff" msgid "Metadata Diff"
@@ -1497,7 +1497,7 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:214 #: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41 #: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:150 #: lib/bds/tui.ex:165
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "New Post" msgid "New Post"
msgstr "" msgstr ""
@@ -1775,6 +1775,8 @@ msgid "Open Data Folder"
msgstr "" msgstr ""
#: lib/bds/desktop/shell_live/index.html.heex:644 #: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:337
#: lib/bds/tui.ex:342
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open Existing Blog" msgid "Open Existing Blog"
msgstr "" msgstr ""
@@ -1786,7 +1788,7 @@ msgid "Open Settings"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:217 #: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:986 #: lib/bds/tui.ex:1156
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Open in Browser" msgid "Open in Browser"
msgstr "" msgstr ""
@@ -1934,8 +1936,8 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:233 #: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664 #: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761 #: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:835 #: lib/bds/tui.ex:1004
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#: lib/bds/ui/registry.ex:14 #: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271 #: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
@@ -1994,6 +1996,8 @@ msgstr ""
#: lib/bds/desktop/shell_live/chat_surface.ex:15 #: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623 #: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:309
#: lib/bds/tui.ex:314
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Projects" msgid "Projects"
msgstr "" msgstr ""
@@ -2059,14 +2063,15 @@ msgid "Ready to import:"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:248 #: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:966 #: lib/bds/tui.ex:334
#: lib/bds/tui.ex:1136
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Database" msgid "Rebuild Database"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:250 #: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:970 #: lib/bds/tui.ex:1140
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index" msgid "Rebuild Embedding Index"
msgstr "" msgstr ""
@@ -2124,7 +2129,7 @@ msgid "Refresh Translation"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:252 #: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:973 #: lib/bds/tui.ex:1143
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Regenerate Calendar" msgid "Regenerate Calendar"
msgstr "" msgstr ""
@@ -2135,7 +2140,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:249 #: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:967 #: lib/bds/tui.ex:1137
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Reindex Text" msgid "Reindex Text"
msgstr "" msgstr ""
@@ -2321,7 +2326,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/script_editor.ex:216 #: 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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234 #: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:838 #: lib/bds/tui.ex:1007
#: lib/bds/ui/registry.ex:38 #: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115 #: lib/bds/ui/sidebar.ex:115
@@ -2449,9 +2454,9 @@ msgid "Site"
msgstr "" msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:412 #: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#: lib/bds/tui.ex:228 #: lib/bds/tui.ex:243
#: lib/bds/tui.ex:659 #: lib/bds/tui.ex:828
#: lib/bds/ui/registry.ex:125 #: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Site Validation" msgid "Site Validation"
@@ -2572,7 +2577,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/tags_editor.ex:222 #: 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.ex:253
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:839 #: lib/bds/tui.ex:1008
#: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103 #: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289 #: lib/bds/ui/sidebar.ex:289
@@ -2584,7 +2589,7 @@ msgstr ""
#: lib/bds/desktop/shell_live.ex:786 #: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54 #: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Tasks" msgid "Tasks"
msgstr "" msgstr ""
@@ -2629,7 +2634,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/template_editor.ex:171 #: 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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191 #: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:837 #: lib/bds/tui.ex:1006
#: lib/bds/ui/registry.ex:46 #: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122 #: lib/bds/ui/sidebar.ex:122
@@ -2852,7 +2857,7 @@ msgid "Updated URLs"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:259 #: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:985 #: lib/bds/tui.ex:1155
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Upload Site" msgid "Upload Site"
msgstr "" msgstr ""
@@ -2880,13 +2885,13 @@ msgid "Validate"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:258 #: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:963 #: lib/bds/tui.ex:1133
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Site" msgid "Validate Site"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:253 #: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:976 #: lib/bds/tui.ex:1146
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Validate Translations" msgid "Validate Translations"
msgstr "" msgstr ""
@@ -3551,7 +3556,7 @@ msgid "Suggested tags"
msgstr "" msgstr ""
#: lib/bds/desktop/menu_bar.ex:257 #: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:964 #: lib/bds/tui.ex:1134
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Force Render Site" msgid "Force Render Site"
msgstr "" msgstr ""
@@ -3648,82 +3653,82 @@ msgstr ""
msgid "The endpoint returned no models. You can still type a model name manually." msgid "The endpoint returned no models. You can still type a model name manually."
msgstr "" msgstr ""
#: lib/bds/tui.ex:923 #: lib/bds/tui.ex:1092
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint." msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "" msgstr ""
#: lib/bds/tui.ex:1049 #: lib/bds/tui.ex:1219
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Could not load this file." msgid "Could not load this file."
msgstr "" msgstr ""
#: lib/bds/tui.ex:158 #: lib/bds/tui.ex:173
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet." msgid "Editing this item is not available in the terminal UI yet."
msgstr "" msgstr ""
#: lib/bds/tui.ex:376 #: lib/bds/tui.ex:488
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "No suggestions returned." msgid "No suggestions returned."
msgstr "" msgstr ""
#: lib/bds/tui.ex:1046 #: lib/bds/tui.ex:1216
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Only images can be previewed." msgid "Only images can be previewed."
msgstr "" msgstr ""
#: lib/bds/tui.ex:846 #: lib/bds/tui.ex:1015
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Post not found." msgid "Post not found."
msgstr "" msgstr ""
#: lib/bds/tui.ex:505 #: lib/bds/tui.ex:623
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}." msgid "Press enter to preview %{name}."
msgstr "" msgstr ""
#: lib/bds/tui.ex:893 #: lib/bds/tui.ex:1062
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Published." msgid "Published."
msgstr "" msgstr ""
#: lib/bds/tui.ex:909 #: lib/bds/tui.ex:1078
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Save before switching languages." msgid "Save before switching languages."
msgstr "" msgstr ""
#: lib/bds/tui.ex:894 #: lib/bds/tui.ex:1063
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Saved." msgid "Saved."
msgstr "" msgstr ""
#: lib/bds/tui.ex:508 #: lib/bds/tui.ex:626
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it." msgid "Select an entry and press enter to open it."
msgstr "" msgstr ""
#: lib/bds/tui.ex:373 #: lib/bds/tui.ex:485
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Suggestions applied." msgid "Suggestions applied."
msgstr "" msgstr ""
#: lib/bds/tui.ex:520 #: lib/bds/tui.ex:638
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)" msgid "Title (ctrl+t to edit)"
msgstr "" msgstr ""
#: lib/bds/tui.ex:519 #: lib/bds/tui.ex:637
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)" msgid "Title (editing — enter to confirm)"
msgstr "" msgstr ""
#: lib/bds/tui.ex:567 #: lib/bds/tui.ex:685
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Working…" msgid "Working…"
msgstr "" msgstr ""
#: lib/bds/tui.ex:589 #: lib/bds/tui.ex:707
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "esc to close" msgid "esc to close"
msgstr "" msgstr ""
@@ -3760,92 +3765,117 @@ msgstr ""
msgid "Use the form user@host or user@host:port." msgid "Use the form user@host or user@host:port."
msgstr "" msgstr ""
#: lib/bds/tui.ex:539 #: lib/bds/tui.ex:657
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)" msgid "Preview (ctrl+e to edit)"
msgstr "" msgstr ""
#: lib/bds/tui.ex:748 #: lib/bds/tui.ex:917
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back" msgid "ctrl+s save · ctrl+p publish · ctrl+e preview · ctrl+t title · ctrl+l language · ctrl+g AI · esc back"
msgstr "" msgstr ""
#: lib/bds/tui.ex:403 #: lib/bds/tui.ex:515
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "All tasks finished." msgid "All tasks finished."
msgstr "" msgstr ""
#: lib/bds/tui.ex:615 #: lib/bds/tui.ex:733
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Commands — esc to close" msgid "Commands — esc to close"
msgstr "" msgstr ""
#: lib/bds/tui.ex:247 #: lib/bds/tui.ex:359
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Unknown command." msgid "Unknown command."
msgstr "" msgstr ""
#: lib/bds/tui.ex:605 #: lib/bds/tui.ex:723
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "[report/apply in GUI]" msgid "[report/apply in GUI]"
msgstr "" msgstr ""
#: lib/bds/tui.ex:670 #: lib/bds/tui.ex:839
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files" msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "" msgstr ""
#: lib/bds/tui.ex:702 #: lib/bds/tui.ex:871
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}" msgid "Expected %{expected} · Existing %{existing}"
msgstr "" msgstr ""
#: lib/bds/tui.ex:719 #: lib/bds/tui.ex:888
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Extra files (will be removed):" msgid "Extra files (will be removed):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:715 #: lib/bds/tui.ex:884
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):" msgid "Missing pages (will be rendered):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:226 #: lib/bds/tui.ex:241
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to apply." msgid "Nothing to apply."
msgstr "" msgstr ""
#: lib/bds/tui.ex:193 #: lib/bds/tui.ex:208
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Nothing to repair." msgid "Nothing to repair."
msgstr "" msgstr ""
#: lib/bds/tui.ex:693 #: lib/bds/tui.ex:862
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Orphan files (not in database):" msgid "Orphan files (not in database):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:709 #: lib/bds/tui.ex:878
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Sitemap changed." msgid "Sitemap changed."
msgstr "" msgstr ""
#: lib/bds/tui.ex:723 #: lib/bds/tui.ex:892
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):" msgid "Updated posts (will be re-rendered):"
msgstr "" msgstr ""
#: lib/bds/tui.ex:660 #: lib/bds/tui.ex:829
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter apply changes · esc close" msgid "enter apply changes · esc close"
msgstr "" msgstr ""
#: lib/bds/tui.ex:741 #: lib/bds/tui.ex:824
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · : commands (:? help) · r refresh · ctrl+q quit"
msgstr ""
#: lib/bds/tui.ex:655
#, elixir-autogen, elixir-format #, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close" msgid "enter repair all from files · esc close"
msgstr "" msgstr ""
#: lib/bds/tui.ex:324
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr ""
#: lib/bds/tui.ex:343
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr ""
#: lib/bds/tui.ex:764
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · enter open · esc back"
msgstr ""
#: lib/bds/tui.ex:793
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr ""
#: lib/bds/tui.ex:310
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr ""
#: lib/bds/tui.ex:910
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-5 views · p projects · : commands (:? help) · r refresh · ctrl+q quit"
msgstr ""

View File

@@ -63,6 +63,21 @@ rule AiQuickAction {
ensures: AiSuggestionsRequestedOrRefused() ensures: AiSuggestionsRequestedOrRefused()
} }
rule ProjectSwitcher {
when: TuiKeyPressed(code: "p")
-- "p" opens the projects overlay: all projects from the caching
-- database with the active one marked; enter activates the selected
-- project (BDS.Projects.set_active_project) and reloads the sidebar.
-- "o" switches to a folder-path prompt — a typed path is validated
-- to be an existing directory, then opened as a project
-- (BDS.Projects.create_project with data_path, named after the
-- folder) and activated; a full database rebuild is queued
-- automatically through the rebuild_database shell command so the
-- folder's content is loaded into the caching database. Invalid
-- paths keep the prompt open and report the error.
ensures: ProjectSwitchedOrOpened()
}
rule CommandPrompt { rule CommandPrompt {
when: TuiKeyPressed(code: ":") when: TuiKeyPressed(code: ":")
-- Vi-style prompt: ":" opens a filterable list of the parameterless -- Vi-style prompt: ":" opens a filterable list of the parameterless

View File

@@ -53,7 +53,7 @@ defmodule BDS.TUITest do
end) end)
end end
defp key(code, modifiers \\ []), do: %Key{code: code, kind: "press", modifiers: modifiers} defp key(code, modifiers), do: %Key{code: code, kind: "press", modifiers: modifiers}
defp press(state, code, modifiers \\ []) do defp press(state, code, modifiers \\ []) do
{:noreply, state} = BDS.TUI.handle_event(key(code, modifiers), state) {:noreply, state} = BDS.TUI.handle_event(key(code, modifiers), state)
@@ -224,7 +224,7 @@ defmodule BDS.TUITest do
end end
test "up/down move the selection" do test "up/down move the selection" do
state = mount_with_executor!() |> press(":") |> press("down") |> press("enter") _state = mount_with_executor!() |> press(":") |> press("down") |> press("enter")
assert_receive {:executed, action, %{}} assert_receive {:executed, action, %{}}
assert is_binary(action) assert is_binary(action)
@@ -416,6 +416,114 @@ defmodule BDS.TUITest do
end end
end end
describe "projects overlay" do
defp type(state, text) do
text |> String.graphemes() |> Enum.reduce(state, &press(&2, &1))
end
defp move_to(state, index) do
moves = index - state.projects.selected
code = if moves >= 0, do: "down", else: "up"
Enum.reduce(List.duplicate(code, abs(moves)), state, &press(&2, &1))
end
test "'p' opens the overlay listing all projects with the active one selected", %{
project: project
} do
state = mount!() |> press("p")
assert state.projects.mode == :list
active = Enum.at(state.projects.projects, state.projects.selected)
assert active.id == project.id
text = screen_text(state, 140, 40)
assert text =~ project.name
end
test "esc closes the overlay" do
state = mount!() |> press("p") |> press("esc")
assert state.projects == nil
end
test "enter switches the active project and reloads the sidebar", %{project: project} do
other_dir = Path.join(System.tmp_dir!(), "bds-tui-other-#{System.unique_integer([:positive])}")
File.mkdir_p!(other_dir)
on_exit(fn -> File.rm_rf(other_dir) end)
{:ok, other} = BDS.Projects.create_project(%{name: "Other Blog", data_path: other_dir})
{:ok, _} =
BDS.Posts.create_post(%{project_id: other.id, title: "Other Post", content: "x"})
state = mount!() |> press("p")
index = Enum.find_index(state.projects.projects, &(&1.id == other.id))
state = state |> move_to(index) |> press("enter")
assert state.projects == nil
assert state.project_id == other.id
assert BDS.Projects.get_active_project().id == other.id
assert screen_text(state) =~ "Other Post"
# switching back must not churn: selecting the active project is a no-op
{:ok, _} = BDS.Projects.set_active_project(project.id)
end
test "'o' plus a valid path opens the folder as a project and queues a rebuild" do
parent = self()
import_dir =
Path.join(System.tmp_dir!(), "bds-tui-import-#{System.unique_integer([:positive])}")
File.mkdir_p!(import_dir)
on_exit(fn -> File.rm_rf(import_dir) end)
state =
mount!(
command_executor: fn action, params ->
send(parent, {:executed, action, params})
{:ok, %{kind: "task_queued", title: "Rebuild", message: "queued"}}
end
)
|> press("p")
|> press("o")
assert state.projects.mode == :open
state = state |> type(import_dir) |> press("enter")
assert state.projects == nil
imported = Enum.find(BDS.Projects.list_projects(), &(&1.data_path == import_dir))
assert imported != nil
assert BDS.Projects.get_active_project().id == imported.id
assert state.project_id == imported.id
assert_receive {:executed, "rebuild_database", %{}}
assert state.task_polling
end
test "an invalid path keeps the prompt open and reports the error" do
parent = self()
count_before = length(BDS.Projects.list_projects())
state =
mount!(command_executor: fn action, params -> send(parent, {:executed, action, params}) end)
|> press("p")
|> press("o")
|> type("/nonexistent-bds-folder-xyz")
|> press("enter")
assert state.projects.mode == :open
assert state.status != nil
assert length(BDS.Projects.list_projects()) == count_before
refute_receive {:executed, _action, _params}, 50
end
test "esc in the path prompt returns to the project list" do
state = mount!() |> press("p") |> press("o") |> press("esc")
assert state.projects.mode == :list
end
end
test "local tui mode stops the VM when the app exits" do test "local tui mode stops the VM when the app exits" do
parent = self() parent = self()
state = mount!(stop_vm_on_exit: true, stop_fun: fn -> send(parent, :vm_stopped) end) state = mount!(stop_vm_on_exit: true, stop_fun: fn -> send(parent, :vm_stopped) end)