feat: TUI tags panels (cloud, manage, merge) wired to the shared tags backend (issue #34)

This commit is contained in:
2026-07-17 14:50:25 +02:00
parent 0f3f1efa08
commit 2fd132e827
11 changed files with 1987 additions and 661 deletions

View File

@@ -7,7 +7,6 @@ defmodule BDS.Desktop.ShellLive.TagsEditor do
alias BDS.{Repo, Tags}
alias BDS.Desktop.ShellLive.Notify
alias BDS.Posts.Post
alias BDS.Tags.Tag
alias BDS.Templates.Template
use Gettext, backend: BDS.Gettext
@@ -16,12 +15,8 @@ defmodule BDS.Desktop.ShellLive.TagsEditor do
@tags_sections ~w(cloud manage merge)
@colour_presets ~w(
#ef4444 #f97316 #f59e0b #eab308 #84cc16
#22c55e #10b981 #14b8a6 #06b6d4 #0ea5e9
#3b82f6 #6366f1 #8b5cf6 #a855f7 #d946ef
#ec4899 #64748b
)
# Shared with the TUI tags panel (issue #34) via BDS.UI.TagsPanel.
@colour_presets BDS.UI.TagsPanel.colour_presets()
@spec colour_presets() :: [String.t()]
def colour_presets, do: @colour_presets
@@ -439,12 +434,7 @@ defmodule BDS.Desktop.ShellLive.TagsEditor do
defp current_tab_meta(_assigns), do: %{}
defp tag_counts(project_id) do
Repo.all(from post in Post, where: post.project_id == ^project_id, select: post.tags)
|> List.flatten()
|> Enum.reject(&is_nil/1)
|> Enum.reduce(%{}, fn tag, acc -> Map.update(acc, tag, 1, &(&1 + 1)) end)
end
defp tag_counts(project_id), do: BDS.UI.TagsPanel.tag_counts(project_id)
defp blank_to_nil(nil), do: nil

View File

@@ -45,6 +45,7 @@ defmodule BDS.TUI do
alias BDS.UI.PostEditor.{Draft, Metadata, Persistence}
alias BDS.UI.SettingsForm
alias BDS.UI.Sidebar
alias BDS.UI.TagsPanel
alias ExRatatui.Layout
alias ExRatatui.Layout.Rect
alias ExRatatui.Style
@@ -78,6 +79,7 @@ defmodule BDS.TUI do
git: nil,
git_commit: nil,
settings_form: nil,
tags_panel: nil,
report: nil,
handled_task_ids: nil,
task_polling: false,
@@ -149,6 +151,10 @@ defmodule BDS.TUI do
when form != nil,
do: settings_form_key(key, state)
def handle_event(%ExRatatui.Event.Key{kind: "press"} = key, %{tags_panel: panel} = state)
when panel != nil,
do: tags_panel_key(key, state)
def handle_event(%ExRatatui.Event.Key{code: "esc"}, %{image: image} = state)
when image != nil,
do: {:noreply, %{state | image: nil}}
@@ -240,6 +246,7 @@ defmodule BDS.TUI do
%{route: "git_file", id: path} -> {:noreply, jump_to_file_diff(state, path)}
%{route: "settings", id: "settings-" <> section} -> {:noreply, open_settings_form(state, section)}
%{route: "style"} -> {:noreply, open_settings_form(state, "style")}
%{route: "tags", id: "tags-" <> section} -> {:noreply, open_tags_panel(state, section)}
%{id: _id} -> {:noreply, toast(state, view_label(state.view), dgettext("ui", "Editing this item is not available in the terminal UI yet."))}
_other -> {:noreply, state}
end
@@ -563,6 +570,217 @@ defmodule BDS.TUI do
end
end
# ── Events: tags panel (issue #34) ────────────────────────────────────────
# The tags sidebar entries open tag management in the main area — the
# same BDS.Tags operations as the GUI tags editor, shared through
# BDS.UI.TagsPanel: cloud (usage overview), manage (create / rename /
# colour / template / delete / sync-from-posts), merge (mark tags with
# space, merge them into the selected one).
defp open_tags_panel(state, section) when section in ~w(cloud manage merge) do
data = TagsPanel.load(state.project_id)
%{
state
| tags_panel: %{
section: section,
tags: data.tags,
selected: 0,
marked: [],
input: nil,
confirm_delete: nil
},
image: nil
}
end
defp open_tags_panel(state, _section), do: state
defp reload_tags_panel(%{tags_panel: panel} = state) do
data = TagsPanel.load(state.project_id)
names = MapSet.new(data.tags, & &1.name)
panel = %{
panel
| tags: data.tags,
selected: min(panel.selected, max(length(data.tags) - 1, 0)),
marked: Enum.filter(panel.marked, &MapSet.member?(names, &1)),
input: nil,
confirm_delete: nil
}
load_sidebar(%{state | tags_panel: panel})
end
# Text input prompt (new tag name / rename) lives in the status line,
# like the settings form and the commit message prompt.
defp tags_panel_key(%{code: "esc"}, %{tags_panel: %{input: input}} = state) when input != nil,
do: {:noreply, put_in(state.tags_panel.input, nil)}
defp tags_panel_key(%{code: "enter"}, %{tags_panel: %{input: input}} = state)
when input != nil do
result =
case input do
%{kind: :new} -> TagsPanel.create(state.project_id, input.value)
%{kind: :rename, name: name} -> TagsPanel.rename(state.project_id, name, input.value)
end
{:noreply, tags_panel_result(state, result)}
end
defp tags_panel_key(%{code: "backspace"}, %{tags_panel: %{input: input}} = state)
when input != nil do
{:noreply, put_in(state.tags_panel.input.value, String.slice(input.value, 0..-2//1))}
end
defp tags_panel_key(%{code: code, modifiers: []}, %{tags_panel: %{input: input}} = state)
when input != nil and byte_size(code) >= 1 do
if String.length(code) == 1 do
{:noreply, put_in(state.tags_panel.input.value, input.value <> code)}
else
{:noreply, state}
end
end
defp tags_panel_key(_key, %{tags_panel: %{input: input}} = state) when input != nil,
do: {:noreply, state}
# Pending delete confirmation: y deletes, anything else cancels.
defp tags_panel_key(%{code: "y"}, %{tags_panel: %{confirm_delete: name}} = state)
when name != nil do
{:noreply, tags_panel_result(state, TagsPanel.delete(state.project_id, name))}
end
defp tags_panel_key(_key, %{tags_panel: %{confirm_delete: name}} = state) when name != nil do
state = put_in(state.tags_panel.confirm_delete, nil)
{:noreply, toast(state, view_label("tags"), dgettext("ui", "Delete cancelled"))}
end
defp tags_panel_key(%{code: "esc"}, state), do: {:noreply, %{state | tags_panel: nil}}
defp tags_panel_key(%{code: code}, state) when code in ["down", "j"],
do: {:noreply, move_tags_selection(state, 1)}
defp tags_panel_key(%{code: code}, state) when code in ["up", "k"],
do: {:noreply, move_tags_selection(state, -1)}
defp tags_panel_key(%{code: "n"}, %{tags_panel: %{section: "manage"}} = state) do
input = %{kind: :new, label: dgettext("ui", "New tag"), value: ""}
{:noreply, put_in(state.tags_panel.input, input)}
end
defp tags_panel_key(%{code: "enter"}, %{tags_panel: %{section: "manage"}} = state) do
case selected_tag(state.tags_panel) do
nil ->
{:noreply, state}
tag ->
input = %{
kind: :rename,
name: tag.name,
label: dgettext("ui", "Rename tag"),
value: tag.name
}
{:noreply, put_in(state.tags_panel.input, input)}
end
end
defp tags_panel_key(%{code: "c"}, %{tags_panel: %{section: "manage"}} = state),
do: with_selected_tag(state, &TagsPanel.cycle_color(state.project_id, &1.name))
defp tags_panel_key(%{code: "t"}, %{tags_panel: %{section: "manage"}} = state),
do: with_selected_tag(state, &TagsPanel.cycle_template(state.project_id, &1.name))
defp tags_panel_key(%{code: "d"}, %{tags_panel: %{section: "manage"}} = state) do
case selected_tag(state.tags_panel) do
nil ->
{:noreply, state}
tag ->
count = TagsPanel.post_count(state.project_id, tag.name)
state = put_in(state.tags_panel.confirm_delete, tag.name)
{:noreply,
toast(
state,
view_label("tags"),
dgettext("ui", "Delete %{name} (used by %{count} posts)? Press y to confirm.",
name: tag.name,
count: count
)
)}
end
end
defp tags_panel_key(%{code: "s"}, %{tags_panel: %{section: "manage"}} = state),
do: {:noreply, tags_panel_result(state, TagsPanel.sync(state.project_id))}
defp tags_panel_key(%{code: code}, %{tags_panel: %{section: "merge"}} = state)
when code in [" ", "space"] do
case selected_tag(state.tags_panel) do
nil ->
{:noreply, state}
tag ->
marked = state.tags_panel.marked
next =
if tag.name in marked,
do: marked -- [tag.name],
else: marked ++ [tag.name]
{:noreply, put_in(state.tags_panel.marked, next)}
end
end
defp tags_panel_key(%{code: "m"}, %{tags_panel: %{section: "merge"}} = state) do
case selected_tag(state.tags_panel) do
nil ->
{:noreply, state}
target ->
marked = Enum.uniq(state.tags_panel.marked ++ [target.name])
{:noreply, tags_panel_result(state, TagsPanel.merge(state.project_id, marked, target.name))}
end
end
defp tags_panel_key(_key, state), do: {:noreply, state}
defp tags_panel_result(state, {:ok, message}) do
state |> reload_tags_panel() |> toast(view_label("tags"), message)
end
defp tags_panel_result(state, {:error, message}) do
state = put_in(state.tags_panel.input, nil)
state = put_in(state.tags_panel.confirm_delete, nil)
toast(state, view_label("tags"), message)
end
defp with_selected_tag(state, fun) do
case selected_tag(state.tags_panel) do
nil -> {:noreply, state}
tag -> {:noreply, tags_panel_result(state, fun.(tag))}
end
end
# The cloud orders by usage (a terminal tag cloud); manage and merge
# stay alphabetical like the GUI list.
defp panel_tags(%{section: "cloud", tags: tags}), do: Enum.sort_by(tags, &{-&1.count, &1.name})
defp panel_tags(%{tags: tags}), do: tags
defp selected_tag(panel), do: Enum.at(panel_tags(panel), panel.selected)
defp move_tags_selection(%{tags_panel: panel} = state, delta) do
count = length(panel.tags)
if count == 0 do
state
else
put_in(state.tags_panel.selected, clamp(panel.selected + delta, count))
end
end
# ── Events: sidebar search (vi-style "/") ─────────────────────────────────
# The prompt lives in the status line and filters the current view live
@@ -921,6 +1139,14 @@ defmodule BDS.TUI do
state
end
# An open tags panel tracks external tag changes (other clients, CLI).
state =
if state.tags_panel != nil and entity == "tag" do
reload_tags_panel(state)
else
state
end
{:noreply, state}
end
@@ -1155,6 +1381,20 @@ defmodule BDS.TUI do
]
end
defp main_widgets(%{tags_panel: panel}, rect) when panel != nil do
items = Enum.map(panel_tags(panel), &tag_line(panel, &1))
[
{%List{
items: items,
selected: list_selected(items, panel.selected),
scroll_padding: 2,
highlight_style: %Style{fg: :black, bg: :cyan},
block: %Block{title: tags_panel_title(panel), borders: [:all]}
}, rect}
]
end
defp main_widgets(%{view: "git", editor: nil, git: nil}, rect) do
[
{%Paragraph{
@@ -1241,10 +1481,12 @@ defmodule BDS.TUI do
defp status_widgets(state, rect) do
settings_input = state.settings_form && state.settings_form.input
tags_input = state.tags_panel && state.tags_panel.input
text =
cond do
settings_input -> settings_input.label <> ": " <> settings_input.value
tags_input -> tags_input.label <> ": " <> tags_input.value
state.git_commit -> dgettext("ui", "Commit message") <> ": " <> state.git_commit.input
state.search -> "/" <> state.search.input
state.busy -> dgettext("ui", "Working…")
@@ -1654,6 +1896,37 @@ defmodule BDS.TUI do
defp field_line(%{type: :info, value: ""} = field), do: field.label
defp field_line(field), do: "#{field.label}: #{field.value}"
defp tag_line(%{section: "merge", marked: marked}, tag) do
if(tag.name in marked, do: "[x] ", else: "[ ] ") <> tag_line_base(tag)
end
defp tag_line(%{section: "manage"}, tag) do
extras =
[tag.color, tag.post_template_slug]
|> Enum.reject(&(&1 in [nil, ""]))
|> Enum.map_join("", &(" · " <> &1))
tag_line_base(tag) <> extras
end
defp tag_line(_panel, tag), do: tag_line_base(tag)
defp tag_line_base(tag), do: "#{tag.name} (#{tag.count})"
defp tags_panel_title(%{section: "cloud"}),
do: dgettext("ui", "Tag Cloud") <> "" <> dgettext("ui", "esc close")
defp tags_panel_title(%{section: "manage"}) do
dgettext("ui", "Tags") <>
"" <>
dgettext("ui", "n new · enter rename · c colour · t template · d delete · s sync · esc close")
end
defp tags_panel_title(%{section: "merge"}) do
dgettext("ui", "Merge Tags") <>
"" <> dgettext("ui", "space mark · m merge into selected · esc close")
end
defp item_label(item) do
title =
item[:title] || item[:name] || item[:original_name] || item[:label] || item[:id] || "?"

240
lib/bds/ui/tags_panel.ex Normal file
View File

@@ -0,0 +1,240 @@
defmodule BDS.UI.TagsPanel do
@moduledoc """
Renderer-agnostic tag management core (issue #34).
Exposes the same tag operations the GUI tags editor
(`BDS.Desktop.ShellLive.TagsEditor`) performs — create, rename, colour,
post template, delete, merge, sync-from-posts — as plain functions with
localized result messages, so the TUI tags panel and the GUI operate on
the same `BDS.Tags` backend.
"""
import Ecto.Query
use Gettext, backend: BDS.Gettext
alias BDS.Posts.Post
alias BDS.Repo
alias BDS.Tags
alias BDS.Tags.Tag
alias BDS.Templates.Template
@colour_presets ~w(
#ef4444 #f97316 #f59e0b #eab308 #84cc16
#22c55e #10b981 #14b8a6 #06b6d4 #0ea5e9
#3b82f6 #6366f1 #8b5cf6 #a855f7 #d946ef
#ec4899 #64748b
)
@type tag_entry :: %{
id: String.t(),
name: String.t(),
color: String.t() | nil,
post_template_slug: String.t() | nil,
count: non_neg_integer()
}
@spec colour_presets() :: [String.t()]
def colour_presets, do: @colour_presets
@doc "All project tags with their post usage counts, plus template slugs."
@spec load(String.t()) :: %{tags: [tag_entry()], templates: [String.t()]}
def load(project_id) do
counts = tag_counts(project_id)
tags =
project_id
|> Tags.list_tags()
|> Enum.map(fn tag ->
%{
id: tag.id,
name: tag.name,
color: tag.color,
post_template_slug: tag.post_template_slug,
count: Map.get(counts, tag.name, 0)
}
end)
%{tags: tags, templates: template_slugs(project_id)}
end
@doc "How many posts use each tag name."
@spec tag_counts(String.t()) :: %{String.t() => non_neg_integer()}
def tag_counts(project_id) do
Repo.all(from post in Post, where: post.project_id == ^project_id, select: post.tags)
|> List.flatten()
|> Enum.reject(&is_nil/1)
|> Enum.reduce(%{}, fn tag, acc -> Map.update(acc, tag, 1, &(&1 + 1)) end)
end
@spec post_count(String.t(), String.t()) :: non_neg_integer()
def post_count(project_id, tag_name), do: Map.get(tag_counts(project_id), tag_name, 0)
@spec create(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def create(project_id, name) do
case Tags.create_tag(%{project_id: project_id, name: name}) do
{:ok, tag} -> {:ok, dgettext("ui", "Tag %{name} created", name: tag.name)}
{:error, reason} -> {:error, error_message(reason)}
end
end
@spec rename(String.t(), String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def rename(project_id, tag_name, new_name) do
with {:ok, tag} <- fetch(project_id, tag_name) do
normalized = String.trim(to_string(new_name || ""))
cond do
normalized == "" ->
{:error, dgettext("ui", "Tag name cannot be empty")}
normalized == tag.name ->
{:ok, dgettext("ui", "Tag unchanged")}
true ->
case Tags.rename_tag(tag.id, normalized) do
{:ok, renamed} ->
{:ok, dgettext("ui", "Tag renamed to %{name}", name: renamed.name)}
{:error, reason} ->
{:error, error_message(reason)}
end
end
end
end
@doc "Advances the tag colour through the presets (last preset wraps to none)."
@spec cycle_color(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def cycle_color(project_id, tag_name) do
with {:ok, tag} <- fetch(project_id, tag_name) do
next = next_in_cycle(@colour_presets, tag.color)
case Tags.update_tag(tag.id, %{color: next}) do
{:ok, updated} ->
{:ok,
dgettext("ui", "Colour of %{name}: %{color}",
name: updated.name,
color: updated.color || dgettext("ui", "none")
)}
{:error, reason} ->
{:error, error_message(reason)}
end
end
end
@doc "Advances the tag post template through the project templates (wraps to none)."
@spec cycle_template(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def cycle_template(project_id, tag_name) do
with {:ok, tag} <- fetch(project_id, tag_name) do
next = next_in_cycle(template_slugs(project_id), tag.post_template_slug)
case Tags.update_tag(tag.id, %{post_template_slug: next}) do
{:ok, updated} ->
{:ok,
dgettext("ui", "Template of %{name}: %{template}",
name: updated.name,
template: updated.post_template_slug || dgettext("ui", "default")
)}
{:error, reason} ->
{:error, error_message(reason)}
end
end
end
@spec delete(String.t(), String.t()) :: {:ok, String.t()} | {:error, String.t()}
def delete(project_id, tag_name) do
with {:ok, tag} <- fetch(project_id, tag_name) do
case Tags.delete_tag(tag.id) do
{:ok, _deleted} -> {:ok, dgettext("ui", "Tag %{name} deleted", name: tag_name)}
{:error, reason} -> {:error, error_message(reason)}
end
end
end
@doc "Merges the named tags into `target_name` (which must be one of them)."
@spec merge(String.t(), [String.t()], String.t()) :: {:ok, String.t()} | {:error, String.t()}
def merge(project_id, source_names, target_name) do
tags =
Repo.all(
from tag in Tag, where: tag.project_id == ^project_id and tag.name in ^source_names
)
target = Enum.find(tags, &(&1.name == target_name))
sources = Enum.reject(tags, &(&1.name == target_name))
cond do
target == nil ->
{:error, dgettext("ui", "The merge target must be one of the marked tags")}
sources == [] ->
{:error, dgettext("ui", "Mark at least two tags to merge")}
true ->
case Tags.merge_tags(Enum.map(sources, & &1.id), target.id) do
{:ok, _merged} ->
{:ok,
dgettext("ui", "Merged %{count} tags into %{name}",
count: length(sources),
name: target.name
)}
{:error, reason} ->
{:error, error_message(reason)}
end
end
end
@spec sync(String.t()) :: {:ok, String.t()} | {:error, String.t()}
def sync(project_id) do
case Tags.sync_tags_from_posts(project_id) do
{:ok, tags} ->
{:ok, dgettext("ui", "Tags synced from posts (%{count} total)", count: length(tags))}
{:error, reason} ->
{:error, error_message(reason)}
end
end
defp fetch(project_id, tag_name) do
case Repo.get_by(Tag, project_id: project_id, name: tag_name) do
nil -> {:error, dgettext("ui", "Tag %{name} not found", name: tag_name)}
tag -> {:ok, tag}
end
end
defp template_slugs(project_id) do
Repo.all(
from template in Template,
where: template.project_id == ^project_id,
order_by: [asc: template.slug],
select: template.slug
)
end
# nil → first option → … → last option → nil
defp next_in_cycle([], _current), do: nil
defp next_in_cycle(options, current) do
case Enum.find_index(options, &(&1 == current)) do
nil -> List.first(options)
index when index == length(options) - 1 -> nil
index -> Enum.at(options, index + 1)
end
end
defp error_message(reason) when is_binary(reason), do: reason
defp error_message(:not_found), do: dgettext("ui", "Tag not found")
defp error_message(%Ecto.Changeset{} = changeset) do
changeset
|> Ecto.Changeset.traverse_errors(fn {message, opts} ->
Enum.reduce(opts, message, fn {key, value}, acc ->
String.replace(acc, "%{#{key}}", to_string(value))
end)
end)
|> Enum.map_join("; ", fn {field, messages} -> "#{field}: #{Enum.join(messages, ", ")}" end)
end
defp error_message(reason), do: inspect(reason)
end

View File

@@ -82,11 +82,11 @@ msgstr "KI-Einstellungen"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72
#: lib/bds/desktop/shell_live/post_editor.ex:906
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:952
#: lib/bds/tui.ex:960
#: lib/bds/tui.ex:1762
#: lib/bds/tui.ex:1172
#: lib/bds/tui.ex:1175
#: lib/bds/tui.ex:1178
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:2035
#, elixir-autogen, elixir-format
msgid "AI Suggestions"
msgstr "KI-Vorschlaege"
@@ -575,7 +575,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Unveränderte Diff-Blöcke einklappen"
#: lib/bds/desktop/shell_live/overlay_manager.ex:423
#: lib/bds/tui.ex:1858
#: lib/bds/tui.ex:2131
#, elixir-autogen, elixir-format
msgid "Command completed"
msgstr "Befehl abgeschlossen"
@@ -593,7 +593,7 @@ msgstr "Bestaetigen"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375
#: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:1228
#: lib/bds/tui.ex:1468
#: lib/bds/ui/settings_form.ex:137
#: lib/bds/ui/sidebar.ex:801
#, elixir-autogen, elixir-format
@@ -1040,7 +1040,7 @@ msgid "Filename"
msgstr "Dateiname"
#: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:1822
#: lib/bds/tui.ex:2095
#, elixir-autogen, elixir-format
msgid "Fill Missing Translations"
msgstr "Fehlende Übersetzungen ergänzen"
@@ -1051,7 +1051,7 @@ msgid "Find"
msgstr "Suchen"
#: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:1825
#: lib/bds/tui.ex:2098
#, elixir-autogen, elixir-format
msgid "Find Duplicate Posts"
msgstr "Doppelte Beiträge finden"
@@ -1078,14 +1078,14 @@ msgid "Gallery"
msgstr "Galerie"
#: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:1806
#: lib/bds/tui.ex:2079
#, elixir-autogen, elixir-format
msgid "Generate Site"
msgstr "Website generieren"
#: lib/bds/desktop/shell_live.ex:792
#: lib/bds/desktop/shell_live/socket_state.ex:109
#: lib/bds/tui.ex:1671
#: lib/bds/tui.ex:1944
#: lib/bds/ui/sidebar.ex:826
#, elixir-autogen, elixir-format
msgid "Git"
@@ -1404,9 +1404,9 @@ msgstr "Maximale Beiträge pro Seite"
#: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:1666
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:1939
#: lib/bds/tui.ex:2160
#: lib/bds/tui.ex:2163
#: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:578
@@ -1435,6 +1435,7 @@ msgid "Merge"
msgstr "Zusammenführen"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78
#: lib/bds/tui.ex:1926
#: lib/bds/ui/sidebar.ex:787
#, elixir-autogen, elixir-format
msgid "Merge Tags"
@@ -1449,11 +1450,11 @@ msgstr "Metadaten"
#: 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:448
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:284
#: lib/bds/tui.ex:295
#: lib/bds/tui.ex:1421
#: lib/bds/tui.ex:1803
#: lib/bds/tui.ex:285
#: lib/bds/tui.ex:291
#: lib/bds/tui.ex:302
#: lib/bds/tui.ex:1663
#: lib/bds/tui.ex:2076
#: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format
msgid "Metadata Diff"
@@ -1499,7 +1500,7 @@ msgstr "Neue Seite"
#: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:232
#: lib/bds/tui.ex:238
#, elixir-autogen, elixir-format
msgid "New Post"
msgstr "Neuer Beitrag"
@@ -1787,8 +1788,8 @@ msgid "Open Data Folder"
msgstr "Datenordner öffnen"
#: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:801
#: lib/bds/tui.ex:806
#: lib/bds/tui.ex:1019
#: lib/bds/tui.ex:1024
#, elixir-autogen, elixir-format
msgid "Open Existing Blog"
msgstr "Bestehenden Blog öffnen"
@@ -1800,7 +1801,7 @@ msgid "Open Settings"
msgstr "Einstellungen öffnen"
#: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:1827
#: lib/bds/tui.ex:2100
#, elixir-autogen, elixir-format
msgid "Open in Browser"
msgstr "Im Browser öffnen"
@@ -1949,8 +1950,8 @@ msgstr "Beitrag gespeichert"
#: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:1665
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1938
#: lib/bds/tui.ex:1953
#: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format
@@ -2010,8 +2011,8 @@ msgstr "Projekt und Veröffentlichung"
#: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:714
#: lib/bds/tui.ex:719
#: lib/bds/tui.ex:932
#: lib/bds/tui.ex:937
#, elixir-autogen, elixir-format
msgid "Projects"
msgstr "Projekte"
@@ -2079,15 +2080,15 @@ msgid "Ready to import:"
msgstr "Bereit zum Import:"
#: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:798
#: lib/bds/tui.ex:1807
#: lib/bds/tui.ex:1016
#: lib/bds/tui.ex:2080
#, elixir-autogen, elixir-format
msgid "Rebuild Database"
msgstr "Datenbank neu aufbauen"
#: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:1811
#: lib/bds/tui.ex:2084
#, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index"
msgstr "Embedding-Index neu aufbauen"
@@ -2145,7 +2146,7 @@ msgid "Refresh Translation"
msgstr "Übersetzung aktualisieren"
#: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:1814
#: lib/bds/tui.ex:2087
#, elixir-autogen, elixir-format
msgid "Regenerate Calendar"
msgstr "Kalender neu erzeugen"
@@ -2156,7 +2157,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Fehlende Vorschaubilder neu erzeugen"
#: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:1808
#: lib/bds/tui.ex:2081
#, elixir-autogen, elixir-format
msgid "Reindex Text"
msgstr "Text neu indizieren"
@@ -2344,7 +2345,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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:1668
#: lib/bds/tui.ex:1941
#: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115
@@ -2451,7 +2452,7 @@ msgstr "Semantische Ähnlichkeit"
#: lib/bds/desktop/shell_live/settings_editor/project_settings.ex:60
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11
#: lib/bds/tui.ex:1670
#: lib/bds/tui.ex:1943
#: lib/bds/ui/registry.ex:86
#: lib/bds/ui/registry.ex:101
#: lib/bds/ui/sidebar.ex:795
@@ -2475,9 +2476,9 @@ msgid "Site"
msgstr "Website"
#: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:313
#: lib/bds/tui.ex:1426
#: lib/bds/tui.ex:318
#: lib/bds/tui.ex:320
#: lib/bds/tui.ex:1668
#: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format
msgid "Site Validation"
@@ -2574,6 +2575,7 @@ msgid "System Prompt"
msgstr "System-Prompt"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16
#: lib/bds/tui.ex:1917
#: lib/bds/ui/sidebar.ex:785
#, elixir-autogen, elixir-format
msgid "Tag Cloud"
@@ -2595,12 +2597,13 @@ msgstr "Schlagwortname"
#: lib/bds/desktop/shell_live/index.html.heex:325
#: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:161
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:158
#: lib/bds/desktop/shell_live/tags_editor.ex:104
#: lib/bds/desktop/shell_live/tags_editor.ex:208
#: 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:99
#: lib/bds/desktop/shell_live/tags_editor.ex:203
#: lib/bds/desktop/shell_live/tags_editor.ex:217
#: lib/bds/desktop/shell_live/tags_editor.ex:248
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:1669
#: lib/bds/tui.ex:1920
#: lib/bds/tui.ex:1942
#: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289
@@ -2612,7 +2615,7 @@ msgstr "Tags"
#: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "Tasks"
msgstr "Aufgaben"
@@ -2658,7 +2661,7 @@ msgstr "Template-Syntax ist gültig"
#: lib/bds/desktop/shell_live/template_editor.ex:171
#: lib/bds/desktop/shell_live/template_editor.ex:176
#: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:1667
#: lib/bds/tui.ex:1940
#: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122
@@ -2882,7 +2885,7 @@ msgid "Updated URLs"
msgstr "Aktualisierte URLs"
#: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:1826
#: lib/bds/tui.ex:2099
#, elixir-autogen, elixir-format
msgid "Upload Site"
msgstr "Website hochladen"
@@ -2910,13 +2913,13 @@ msgid "Validate"
msgstr "Validieren"
#: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:1804
#: lib/bds/tui.ex:2077
#, elixir-autogen, elixir-format
msgid "Validate Site"
msgstr "Website validieren"
#: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:1817
#: lib/bds/tui.ex:2090
#, elixir-autogen, elixir-format
msgid "Validate Translations"
msgstr "Übersetzungen validieren"
@@ -3389,15 +3392,15 @@ msgstr "Änderungen"
#: lib/bds/desktop/shell_live/git_handler.ex:46
#: lib/bds/desktop/shell_live/git_handler.ex:52
#: lib/bds/desktop/shell_live/sidebar_components.ex:556
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:343
#: lib/bds/tui.ex:341
#: lib/bds/tui.ex:347
#: lib/bds/tui.ex:350
#, elixir-autogen, elixir-format
msgid "Commit"
msgstr "Commit"
#: lib/bds/desktop/shell_live/sidebar_components.ex:555
#: lib/bds/tui.ex:1248
#: lib/bds/tui.ex:1490
#, elixir-autogen, elixir-format
msgid "Commit message"
msgstr "Commit-Nachricht"
@@ -3421,7 +3424,7 @@ msgid "Fetch"
msgstr "Abrufen"
#: lib/bds/desktop/shell_live/sidebar_components.ex:586
#: lib/bds/tui.ex:1083
#: lib/bds/tui.ex:1309
#, elixir-autogen, elixir-format
msgid "History"
msgstr "Verlauf"
@@ -3469,7 +3472,7 @@ msgstr "LFS bereinigen"
#: lib/bds/desktop/shell_live/git_handler.ex:17
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/tui.ex:966
#: lib/bds/tui.ex:1192
#, elixir-autogen, elixir-format
msgid "Pull"
msgstr "Pull"
@@ -3477,7 +3480,7 @@ msgstr "Pull"
#: lib/bds/desktop/shell_live/git_handler.ex:18
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/tui.ex:967
#: lib/bds/tui.ex:1193
#, elixir-autogen, elixir-format
msgid "Push"
msgstr "Push"
@@ -3590,7 +3593,7 @@ msgid "Suggested tags"
msgstr "Vorgeschlagene Tags"
#: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:1805
#: lib/bds/tui.ex:2078
#, elixir-autogen, elixir-format
msgid "Force Render Site"
msgstr "Website vollständig neu generieren"
@@ -3687,83 +3690,83 @@ msgstr "OK"
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."
#: lib/bds/tui.ex:1763
#: lib/bds/tui.ex:2036
#, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "KI ist im Flugmodus ohne lokalen Endpunkt nicht verfügbar."
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:2163
#, elixir-autogen, elixir-format
msgid "Could not load this file."
msgstr "Diese Datei konnte nicht geladen werden."
#: lib/bds/tui.ex:243
#: lib/bds/tui.ex:250
#, elixir-autogen, elixir-format
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."
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:1175
#, elixir-autogen, elixir-format
msgid "No suggestions returned."
msgstr "Keine Vorschläge erhalten."
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:2160
#, elixir-autogen, elixir-format
msgid "Only images can be previewed."
msgstr "Nur Bilder können in der Vorschau angezeigt werden."
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1953
#, elixir-autogen, elixir-format
msgid "Post not found."
msgstr "Beitrag nicht gefunden."
#: lib/bds/tui.ex:1183
#: lib/bds/tui.ex:1423
#, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}."
msgstr "Drücken Sie Enter, um %{name} in der Vorschau anzuzeigen."
#: lib/bds/tui.ex:1733
#: lib/bds/tui.ex:2006
#, elixir-autogen, elixir-format
msgid "Published."
msgstr "Veröffentlicht."
#: lib/bds/tui.ex:1749
#: lib/bds/tui.ex:2022
#, elixir-autogen, elixir-format
msgid "Save before switching languages."
msgstr "Speichern Sie vor dem Sprachwechsel."
#: lib/bds/tui.ex:533
#: lib/bds/tui.ex:1734
#: lib/bds/tui.ex:540
#: lib/bds/tui.ex:2007
#, elixir-autogen, elixir-format
msgid "Saved."
msgstr "Gespeichert."
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:1426
#, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it."
msgstr "Wählen Sie einen Eintrag aus und öffnen Sie ihn mit Enter."
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:1172
#, elixir-autogen, elixir-format
msgid "Suggestions applied."
msgstr "Vorschläge übernommen."
#: lib/bds/tui.ex:1198
#: lib/bds/tui.ex:1438
#, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)"
msgstr "Titel (Strg+T zum Bearbeiten)"
#: lib/bds/tui.ex:1197
#: lib/bds/tui.ex:1437
#, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)"
msgstr "Titel (Bearbeitung — Enter zum Bestätigen)"
#: lib/bds/tui.ex:1250
#: lib/bds/tui.ex:1492
#, elixir-autogen, elixir-format
msgid "Working…"
msgstr "Wird bearbeitet…"
#: lib/bds/tui.ex:1272
#: lib/bds/tui.ex:1514
#, elixir-autogen, elixir-format
msgid "esc to close"
msgstr "Esc zum Schließen"
@@ -3800,148 +3803,148 @@ msgstr "Serveradresse (user@host oder user@host:port), Public-Key-Authentifizier
msgid "Use the form user@host or user@host:port."
msgstr "Verwenden Sie das Format user@host oder user@host:port."
#: lib/bds/tui.ex:1217
#: lib/bds/tui.ex:1457
#, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)"
msgstr "Vorschau (ctrl+e zum Bearbeiten)"
#: lib/bds/tui.ex:1529
#: lib/bds/tui.ex:1771
#, 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"
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:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "All tasks finished."
msgstr "Alle Aufgaben abgeschlossen."
#: lib/bds/tui.ex:1298
#: lib/bds/tui.ex:1540
#, elixir-autogen, elixir-format
msgid "Commands — esc to close"
msgstr "Befehle — Esc zum Schließen"
#: lib/bds/tui.ex:823
#: lib/bds/tui.ex:1041
#, elixir-autogen, elixir-format
msgid "Unknown command."
msgstr "Unbekannter Befehl."
#: lib/bds/tui.ex:1288
#: lib/bds/tui.ex:1530
#, elixir-autogen, elixir-format
msgid "[report/apply in GUI]"
msgstr "[Bericht/Anwenden in der GUI]"
#: lib/bds/tui.ex:1437
#: lib/bds/tui.ex:1679
#, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} Unterschiede · %{orphans} verwaiste Dateien"
#: lib/bds/tui.ex:1469
#: lib/bds/tui.ex:1711
#, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}"
msgstr "Erwartet %{expected} · Vorhanden %{existing}"
#: lib/bds/tui.ex:1486
#: lib/bds/tui.ex:1728
#, elixir-autogen, elixir-format
msgid "Extra files (will be removed):"
msgstr "Überzählige Dateien (werden entfernt):"
#: lib/bds/tui.ex:1482
#: lib/bds/tui.ex:1724
#, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):"
msgstr "Fehlende Seiten (werden gerendert):"
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:318
#, elixir-autogen, elixir-format
msgid "Nothing to apply."
msgstr "Nichts anzuwenden."
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:285
#, elixir-autogen, elixir-format
msgid "Nothing to repair."
msgstr "Nichts zu reparieren."
#: lib/bds/tui.ex:1460
#: lib/bds/tui.ex:1702
#, elixir-autogen, elixir-format
msgid "Orphan files (not in database):"
msgstr "Verwaiste Dateien (nicht in der Datenbank):"
#: lib/bds/tui.ex:1476
#: lib/bds/tui.ex:1718
#, elixir-autogen, elixir-format
msgid "Sitemap changed."
msgstr "Sitemap geändert."
#: lib/bds/tui.ex:1490
#: lib/bds/tui.ex:1732
#, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):"
msgstr "Aktualisierte Beiträge (werden neu gerendert):"
#: lib/bds/tui.ex:1427
#: lib/bds/tui.ex:1669
#, elixir-autogen, elixir-format
msgid "enter apply changes · esc close"
msgstr "Enter Änderungen anwenden · Esc Schließen"
#: lib/bds/tui.ex:1422
#: lib/bds/tui.ex:1664
#, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close"
msgstr "Enter alles aus Dateien reparieren · Esc Schließen"
#: lib/bds/tui.ex:788
#: lib/bds/tui.ex:1006
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Importierter Blog"
#: lib/bds/tui.ex:807
#: lib/bds/tui.ex:1025
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "Kein Ordner: %{path}"
#: lib/bds/tui.ex:1364
#: lib/bds/tui.ex:1606
#, 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:715
#: lib/bds/tui.ex:933
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Zu %{name} gewechselt."
#: lib/bds/tui.ex:1392
#: lib/bds/tui.ex:1634
#, elixir-autogen, elixir-format
msgid "Matching folders"
msgstr "Passende Ordner"
#: lib/bds/tui.ex:1330
#: lib/bds/tui.ex:1572
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · tab complete · enter open · esc back"
msgstr "Bestehenden Blog öffnen — Ordnerpfad eingeben · Tab Vervollständigen · Enter Öffnen · Esc Zurück"
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:341
#, elixir-autogen, elixir-format
msgid "Commit message required."
msgstr "Commit-Nachricht erforderlich."
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:347
#, elixir-autogen, elixir-format
msgid "Committed."
msgstr "Commit erstellt."
#: lib/bds/tui.ex:1174
#: lib/bds/tui.ex:1414
#, elixir-autogen, elixir-format
msgid "Diff (pgup/pgdn scroll)"
msgstr "Diff (Bild↑/Bild↓ blättern)"
#: lib/bds/tui.ex:1557
#: lib/bds/tui.ex:1799
#, elixir-autogen, elixir-format
msgid "No changes."
msgstr "Keine Änderungen."
#: lib/bds/tui.ex:400
#: lib/bds/tui.ex:407
#, elixir-autogen, elixir-format
msgid "No diff for this file."
msgstr "Kein Diff für diese Datei."
#: lib/bds/tui.ex:388
#: lib/bds/tui.ex:1161
#: lib/bds/tui.ex:395
#: lib/bds/tui.ex:1401
#, elixir-autogen, elixir-format
msgid "Not a git repository."
msgstr "Kein Git-Repository."
@@ -4036,12 +4039,12 @@ msgstr "Titel anzeigen"
msgid "Theme"
msgstr "Theme"
#: lib/bds/tui.ex:1145
#: lib/bds/tui.ex:1371
#, elixir-autogen, elixir-format
msgid "enter edit · ctrl+s save · esc close"
msgstr "Enter Bearbeiten · Strg+S Speichern · Esc Schließen"
#: lib/bds/tui.ex:1508
#: lib/bds/tui.ex:1750
#, elixir-autogen, elixir-format
msgid "enter edit/toggle/cycle · ctrl+s save · esc close · ctrl+q quit"
msgstr "Enter Bearbeiten/Umschalten/Wechseln · Strg+S Speichern · Esc Schließen · Strg+Q Beenden"
@@ -4051,12 +4054,12 @@ msgstr "Enter Bearbeiten/Umschalten/Wechseln · Strg+S Speichern · Esc Schließ
msgid "not supported yet"
msgstr "noch nicht unterstützt"
#: lib/bds/tui.ex:1515
#: lib/bds/tui.ex:1757
#, elixir-autogen, elixir-format
msgid "c commit · u pull · s push · enter jump to file · pgup/pgdn scroll diff · 1-7 views · ctrl+q quit"
msgstr "C Commit · U Pull · S Push · Enter Zur Datei springen · Bild↑/Bild↓ Diff blättern · 1-7 Ansichten · Strg+Q Beenden"
#: lib/bds/tui.ex:1522
#: lib/bds/tui.ex:1764
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-7 views · p projects · / search · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "Enter Öffnen · N Neuer Beitrag · 1-7 Ansichten · P Projekte · / Suche · : Befehle (:? Hilfe) · R Aktualisieren · Strg+Q Beenden"
@@ -4066,8 +4069,6 @@ msgstr "Enter Öffnen · N Neuer Beitrag · 1-7 Ansichten · P Projekte · / Suc
msgid "CLI tool installed to %{path}"
msgstr "CLI-Tool wurde nach %{path} installiert"
#: lib/bds/desktop/shell_live/settings_editor.ex:75
#: lib/bds/desktop/shell_live/settings_editor.ex:78
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:386
#: lib/bds/ui/settings_form.ex:223
#, elixir-autogen, elixir-format
@@ -4099,3 +4100,113 @@ msgstr "Das CLI-Tool kann nur aus der paketierten Anwendung installiert werden"
#, elixir-autogen, elixir-format
msgid "Unknown settings action"
msgstr "Unbekannte Einstellungsaktion"
#: lib/bds/ui/tags_panel.ex:114
#, elixir-autogen, elixir-format
msgid "Colour of %{name}: %{color}"
msgstr "Farbe von %{name}: %{color}"
#: lib/bds/tui.ex:708
#, elixir-autogen, elixir-format
msgid "Delete %{name} (used by %{count} posts)? Press y to confirm."
msgstr "%{name} löschen (von %{count} Artikeln verwendet)? Zum Bestätigen y drücken."
#: lib/bds/tui.ex:656
#, elixir-autogen, elixir-format
msgid "Delete cancelled"
msgstr "Löschen abgebrochen"
#: lib/bds/ui/tags_panel.ex:171
#, elixir-autogen, elixir-format
msgid "Mark at least two tags to merge"
msgstr "Zum Zusammenführen mindestens zwei Schlagwörter markieren"
#: lib/bds/ui/tags_panel.ex:177
#, elixir-autogen, elixir-format
msgid "Merged %{count} tags into %{name}"
msgstr "%{count} Schlagwörter in %{name} zusammengeführt"
#: lib/bds/tui.ex:668
#, elixir-autogen, elixir-format
msgid "New tag"
msgstr "Neues Schlagwort"
#: lib/bds/tui.ex:681
#, elixir-autogen, elixir-format
msgid "Rename tag"
msgstr "Schlagwort umbenennen"
#: lib/bds/ui/tags_panel.ex:76
#, elixir-autogen, elixir-format
msgid "Tag %{name} created"
msgstr "Schlagwort %{name} erstellt"
#: lib/bds/ui/tags_panel.ex:149
#, elixir-autogen, elixir-format
msgid "Tag %{name} deleted"
msgstr "Schlagwort %{name} gelöscht"
#: lib/bds/ui/tags_panel.ex:201
#, elixir-autogen, elixir-format
msgid "Tag %{name} not found"
msgstr "Schlagwort %{name} nicht gefunden"
#: lib/bds/ui/tags_panel.ex:88
#, elixir-autogen, elixir-format
msgid "Tag name cannot be empty"
msgstr "Der Schlagwortname darf nicht leer sein"
#: lib/bds/ui/tags_panel.ex:227
#, elixir-autogen, elixir-format
msgid "Tag not found"
msgstr "Schlagwort nicht gefunden"
#: lib/bds/ui/tags_panel.ex:96
#, elixir-autogen, elixir-format
msgid "Tag renamed to %{name}"
msgstr "Schlagwort umbenannt in %{name}"
#: lib/bds/ui/tags_panel.ex:91
#, elixir-autogen, elixir-format
msgid "Tag unchanged"
msgstr "Schlagwort unverändert"
#: lib/bds/ui/tags_panel.ex:192
#, elixir-autogen, elixir-format
msgid "Tags synced from posts (%{count} total)"
msgstr "Schlagwörter aus Artikeln synchronisiert (insgesamt %{count})"
#: lib/bds/ui/tags_panel.ex:134
#, elixir-autogen, elixir-format
msgid "Template of %{name}: %{template}"
msgstr "Vorlage von %{name}: %{template}"
#: lib/bds/ui/tags_panel.ex:168
#, elixir-autogen, elixir-format
msgid "The merge target must be one of the marked tags"
msgstr "Das Ziel der Zusammenführung muss eines der markierten Schlagwörter sein"
#: lib/bds/ui/tags_panel.ex:136
#, elixir-autogen, elixir-format
msgid "default"
msgstr "Standard"
#: lib/bds/tui.ex:1917
#, elixir-autogen, elixir-format
msgid "esc close"
msgstr "Esc schließen"
#: lib/bds/tui.ex:1922
#, elixir-autogen, elixir-format
msgid "n new · enter rename · c colour · t template · d delete · s sync · esc close"
msgstr "n neu · Enter umbenennen · c Farbe · t Vorlage · d löschen · s synchronisieren · Esc schließen"
#: lib/bds/ui/tags_panel.ex:116
#, elixir-autogen, elixir-format
msgid "none"
msgstr "keine"
#: lib/bds/tui.ex:1927
#, elixir-autogen, elixir-format
msgid "space mark · m merge into selected · esc close"
msgstr "Leertaste markieren · m in Auswahl zusammenführen · Esc schließen"

View File

@@ -82,11 +82,11 @@ msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:72
#: lib/bds/desktop/shell_live/post_editor.ex:906
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:952
#: lib/bds/tui.ex:960
#: lib/bds/tui.ex:1762
#: lib/bds/tui.ex:1172
#: lib/bds/tui.ex:1175
#: lib/bds/tui.ex:1178
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:2035
#, elixir-autogen, elixir-format
msgid "AI Suggestions"
msgstr ""
@@ -575,7 +575,7 @@ msgid "Collapse unchanged diff hunks"
msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:423
#: lib/bds/tui.ex:1858
#: lib/bds/tui.ex:2131
#, elixir-autogen, elixir-format
msgid "Command completed"
msgstr ""
@@ -593,7 +593,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375
#: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:1228
#: lib/bds/tui.ex:1468
#: lib/bds/ui/settings_form.ex:137
#: lib/bds/ui/sidebar.ex:801
#, elixir-autogen, elixir-format
@@ -1040,7 +1040,7 @@ msgid "Filename"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:1822
#: lib/bds/tui.ex:2095
#, elixir-autogen, elixir-format
msgid "Fill Missing Translations"
msgstr ""
@@ -1051,7 +1051,7 @@ msgid "Find"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:1825
#: lib/bds/tui.ex:2098
#, elixir-autogen, elixir-format
msgid "Find Duplicate Posts"
msgstr ""
@@ -1078,14 +1078,14 @@ msgid "Gallery"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:1806
#: lib/bds/tui.ex:2079
#, elixir-autogen, elixir-format
msgid "Generate Site"
msgstr ""
#: lib/bds/desktop/shell_live.ex:792
#: lib/bds/desktop/shell_live/socket_state.ex:109
#: lib/bds/tui.ex:1671
#: lib/bds/tui.ex:1944
#: lib/bds/ui/sidebar.ex:826
#, elixir-autogen, elixir-format
msgid "Git"
@@ -1404,9 +1404,9 @@ msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:1666
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:1939
#: lib/bds/tui.ex:2160
#: lib/bds/tui.ex:2163
#: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:578
@@ -1435,6 +1435,7 @@ msgid "Merge"
msgstr ""
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78
#: lib/bds/tui.ex:1926
#: lib/bds/ui/sidebar.ex:787
#, elixir-autogen, elixir-format
msgid "Merge Tags"
@@ -1449,11 +1450,11 @@ msgstr ""
#: 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:448
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:284
#: lib/bds/tui.ex:295
#: lib/bds/tui.ex:1421
#: lib/bds/tui.ex:1803
#: lib/bds/tui.ex:285
#: lib/bds/tui.ex:291
#: lib/bds/tui.ex:302
#: lib/bds/tui.ex:1663
#: lib/bds/tui.ex:2076
#: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format
msgid "Metadata Diff"
@@ -1499,7 +1500,7 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:232
#: lib/bds/tui.ex:238
#, elixir-autogen, elixir-format
msgid "New Post"
msgstr ""
@@ -1787,8 +1788,8 @@ msgid "Open Data Folder"
msgstr ""
#: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:801
#: lib/bds/tui.ex:806
#: lib/bds/tui.ex:1019
#: lib/bds/tui.ex:1024
#, elixir-autogen, elixir-format
msgid "Open Existing Blog"
msgstr ""
@@ -1800,7 +1801,7 @@ msgid "Open Settings"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:1827
#: lib/bds/tui.ex:2100
#, elixir-autogen, elixir-format
msgid "Open in Browser"
msgstr ""
@@ -1949,8 +1950,8 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:1665
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1938
#: lib/bds/tui.ex:1953
#: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format
@@ -2010,8 +2011,8 @@ msgstr ""
#: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:714
#: lib/bds/tui.ex:719
#: lib/bds/tui.ex:932
#: lib/bds/tui.ex:937
#, elixir-autogen, elixir-format
msgid "Projects"
msgstr ""
@@ -2079,15 +2080,15 @@ msgid "Ready to import:"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:798
#: lib/bds/tui.ex:1807
#: lib/bds/tui.ex:1016
#: lib/bds/tui.ex:2080
#, elixir-autogen, elixir-format
msgid "Rebuild Database"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:1811
#: lib/bds/tui.ex:2084
#, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index"
msgstr ""
@@ -2145,7 +2146,7 @@ msgid "Refresh Translation"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:1814
#: lib/bds/tui.ex:2087
#, elixir-autogen, elixir-format
msgid "Regenerate Calendar"
msgstr ""
@@ -2156,7 +2157,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:1808
#: lib/bds/tui.ex:2081
#, elixir-autogen, elixir-format
msgid "Reindex Text"
msgstr ""
@@ -2344,7 +2345,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/script_editor.ex:216
#: lib/bds/desktop/shell_live/script_editor.ex:219
#: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:1668
#: lib/bds/tui.ex:1941
#: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115
@@ -2451,7 +2452,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/settings_editor/project_settings.ex:60
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11
#: lib/bds/tui.ex:1670
#: lib/bds/tui.ex:1943
#: lib/bds/ui/registry.ex:86
#: lib/bds/ui/registry.ex:101
#: lib/bds/ui/sidebar.ex:795
@@ -2475,9 +2476,9 @@ msgid "Site"
msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:313
#: lib/bds/tui.ex:1426
#: lib/bds/tui.ex:318
#: lib/bds/tui.ex:320
#: lib/bds/tui.ex:1668
#: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format
msgid "Site Validation"
@@ -2574,6 +2575,7 @@ msgid "System Prompt"
msgstr ""
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16
#: lib/bds/tui.ex:1917
#: lib/bds/ui/sidebar.ex:785
#, elixir-autogen, elixir-format
msgid "Tag Cloud"
@@ -2595,12 +2597,13 @@ msgstr ""
#: lib/bds/desktop/shell_live/index.html.heex:325
#: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:161
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:158
#: lib/bds/desktop/shell_live/tags_editor.ex:104
#: lib/bds/desktop/shell_live/tags_editor.ex:208
#: 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:99
#: lib/bds/desktop/shell_live/tags_editor.ex:203
#: lib/bds/desktop/shell_live/tags_editor.ex:217
#: lib/bds/desktop/shell_live/tags_editor.ex:248
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:1669
#: lib/bds/tui.ex:1920
#: lib/bds/tui.ex:1942
#: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289
@@ -2612,7 +2615,7 @@ msgstr ""
#: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "Tasks"
msgstr ""
@@ -2658,7 +2661,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/template_editor.ex:171
#: lib/bds/desktop/shell_live/template_editor.ex:176
#: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:1667
#: lib/bds/tui.ex:1940
#: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122
@@ -2882,7 +2885,7 @@ msgid "Updated URLs"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:1826
#: lib/bds/tui.ex:2099
#, elixir-autogen, elixir-format
msgid "Upload Site"
msgstr ""
@@ -2910,13 +2913,13 @@ msgid "Validate"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:1804
#: lib/bds/tui.ex:2077
#, elixir-autogen, elixir-format
msgid "Validate Site"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:1817
#: lib/bds/tui.ex:2090
#, elixir-autogen, elixir-format
msgid "Validate Translations"
msgstr ""
@@ -3389,15 +3392,15 @@ msgstr ""
#: lib/bds/desktop/shell_live/git_handler.ex:46
#: lib/bds/desktop/shell_live/git_handler.ex:52
#: lib/bds/desktop/shell_live/sidebar_components.ex:556
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:343
#: lib/bds/tui.ex:341
#: lib/bds/tui.ex:347
#: lib/bds/tui.ex:350
#, elixir-autogen, elixir-format
msgid "Commit"
msgstr ""
#: lib/bds/desktop/shell_live/sidebar_components.ex:555
#: lib/bds/tui.ex:1248
#: lib/bds/tui.ex:1490
#, elixir-autogen, elixir-format
msgid "Commit message"
msgstr ""
@@ -3421,7 +3424,7 @@ msgid "Fetch"
msgstr ""
#: lib/bds/desktop/shell_live/sidebar_components.ex:586
#: lib/bds/tui.ex:1083
#: lib/bds/tui.ex:1309
#, elixir-autogen, elixir-format
msgid "History"
msgstr ""
@@ -3469,7 +3472,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/git_handler.ex:17
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/tui.ex:966
#: lib/bds/tui.ex:1192
#, elixir-autogen, elixir-format
msgid "Pull"
msgstr ""
@@ -3477,7 +3480,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/git_handler.ex:18
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/tui.ex:967
#: lib/bds/tui.ex:1193
#, elixir-autogen, elixir-format, fuzzy
msgid "Push"
msgstr ""
@@ -3590,7 +3593,7 @@ msgid "Suggested tags"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:1805
#: lib/bds/tui.ex:2078
#, elixir-autogen, elixir-format
msgid "Force Render Site"
msgstr ""
@@ -3687,83 +3690,83 @@ msgstr ""
msgid "The endpoint returned no models. You can still type a model name manually."
msgstr ""
#: lib/bds/tui.ex:1763
#: lib/bds/tui.ex:2036
#, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr ""
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:2163
#, elixir-autogen, elixir-format, fuzzy
msgid "Could not load this file."
msgstr ""
#: lib/bds/tui.ex:243
#: lib/bds/tui.ex:250
#, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet."
msgstr ""
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:1175
#, elixir-autogen, elixir-format
msgid "No suggestions returned."
msgstr ""
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:2160
#, elixir-autogen, elixir-format
msgid "Only images can be previewed."
msgstr ""
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1953
#, elixir-autogen, elixir-format
msgid "Post not found."
msgstr ""
#: lib/bds/tui.ex:1183
#: lib/bds/tui.ex:1423
#, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}."
msgstr ""
#: lib/bds/tui.ex:1733
#: lib/bds/tui.ex:2006
#, elixir-autogen, elixir-format, fuzzy
msgid "Published."
msgstr ""
#: lib/bds/tui.ex:1749
#: lib/bds/tui.ex:2022
#, elixir-autogen, elixir-format
msgid "Save before switching languages."
msgstr ""
#: lib/bds/tui.ex:533
#: lib/bds/tui.ex:1734
#: lib/bds/tui.ex:540
#: lib/bds/tui.ex:2007
#, elixir-autogen, elixir-format, fuzzy
msgid "Saved."
msgstr ""
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:1426
#, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it."
msgstr ""
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:1172
#, elixir-autogen, elixir-format
msgid "Suggestions applied."
msgstr ""
#: lib/bds/tui.ex:1198
#: lib/bds/tui.ex:1438
#, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)"
msgstr ""
#: lib/bds/tui.ex:1197
#: lib/bds/tui.ex:1437
#, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)"
msgstr ""
#: lib/bds/tui.ex:1250
#: lib/bds/tui.ex:1492
#, elixir-autogen, elixir-format, fuzzy
msgid "Working…"
msgstr ""
#: lib/bds/tui.ex:1272
#: lib/bds/tui.ex:1514
#, elixir-autogen, elixir-format
msgid "esc to close"
msgstr ""
@@ -3800,148 +3803,148 @@ msgstr ""
msgid "Use the form user@host or user@host:port."
msgstr ""
#: lib/bds/tui.ex:1217
#: lib/bds/tui.ex:1457
#, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)"
msgstr ""
#: lib/bds/tui.ex:1529
#: lib/bds/tui.ex:1771
#, 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"
msgstr ""
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "All tasks finished."
msgstr ""
#: lib/bds/tui.ex:1298
#: lib/bds/tui.ex:1540
#, elixir-autogen, elixir-format
msgid "Commands — esc to close"
msgstr ""
#: lib/bds/tui.ex:823
#: lib/bds/tui.ex:1041
#, elixir-autogen, elixir-format, fuzzy
msgid "Unknown command."
msgstr ""
#: lib/bds/tui.ex:1288
#: lib/bds/tui.ex:1530
#, elixir-autogen, elixir-format
msgid "[report/apply in GUI]"
msgstr ""
#: lib/bds/tui.ex:1437
#: lib/bds/tui.ex:1679
#, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files"
msgstr ""
#: lib/bds/tui.ex:1469
#: lib/bds/tui.ex:1711
#, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}"
msgstr ""
#: lib/bds/tui.ex:1486
#: lib/bds/tui.ex:1728
#, elixir-autogen, elixir-format
msgid "Extra files (will be removed):"
msgstr ""
#: lib/bds/tui.ex:1482
#: lib/bds/tui.ex:1724
#, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):"
msgstr ""
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:318
#, elixir-autogen, elixir-format, fuzzy
msgid "Nothing to apply."
msgstr ""
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:285
#, elixir-autogen, elixir-format, fuzzy
msgid "Nothing to repair."
msgstr ""
#: lib/bds/tui.ex:1460
#: lib/bds/tui.ex:1702
#, elixir-autogen, elixir-format
msgid "Orphan files (not in database):"
msgstr ""
#: lib/bds/tui.ex:1476
#: lib/bds/tui.ex:1718
#, elixir-autogen, elixir-format
msgid "Sitemap changed."
msgstr ""
#: lib/bds/tui.ex:1490
#: lib/bds/tui.ex:1732
#, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):"
msgstr ""
#: lib/bds/tui.ex:1427
#: lib/bds/tui.ex:1669
#, elixir-autogen, elixir-format
msgid "enter apply changes · esc close"
msgstr ""
#: lib/bds/tui.ex:1422
#: lib/bds/tui.ex:1664
#, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close"
msgstr ""
#: lib/bds/tui.ex:788
#: lib/bds/tui.ex:1006
#, elixir-autogen, elixir-format, fuzzy
msgid "Imported Blog"
msgstr ""
#: lib/bds/tui.ex:807
#: lib/bds/tui.ex:1025
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr ""
#: lib/bds/tui.ex:1364
#: lib/bds/tui.ex:1606
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr ""
#: lib/bds/tui.ex:715
#: lib/bds/tui.ex:933
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr ""
#: lib/bds/tui.ex:1392
#: lib/bds/tui.ex:1634
#, elixir-autogen, elixir-format
msgid "Matching folders"
msgstr ""
#: lib/bds/tui.ex:1330
#: lib/bds/tui.ex:1572
#, elixir-autogen, elixir-format, fuzzy
msgid "Open Existing Blog — type a folder path · tab complete · enter open · esc back"
msgstr ""
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:341
#, elixir-autogen, elixir-format, fuzzy
msgid "Commit message required."
msgstr ""
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:347
#, elixir-autogen, elixir-format, fuzzy
msgid "Committed."
msgstr ""
#: lib/bds/tui.ex:1174
#: lib/bds/tui.ex:1414
#, elixir-autogen, elixir-format
msgid "Diff (pgup/pgdn scroll)"
msgstr ""
#: lib/bds/tui.ex:1557
#: lib/bds/tui.ex:1799
#, elixir-autogen, elixir-format, fuzzy
msgid "No changes."
msgstr ""
#: lib/bds/tui.ex:400
#: lib/bds/tui.ex:407
#, elixir-autogen, elixir-format
msgid "No diff for this file."
msgstr ""
#: lib/bds/tui.ex:388
#: lib/bds/tui.ex:1161
#: lib/bds/tui.ex:395
#: lib/bds/tui.ex:1401
#, elixir-autogen, elixir-format
msgid "Not a git repository."
msgstr ""
@@ -4036,12 +4039,12 @@ msgstr ""
msgid "Theme"
msgstr ""
#: lib/bds/tui.ex:1145
#: lib/bds/tui.ex:1371
#, elixir-autogen, elixir-format
msgid "enter edit · ctrl+s save · esc close"
msgstr ""
#: lib/bds/tui.ex:1508
#: lib/bds/tui.ex:1750
#, elixir-autogen, elixir-format
msgid "enter edit/toggle/cycle · ctrl+s save · esc close · ctrl+q quit"
msgstr ""
@@ -4051,12 +4054,12 @@ msgstr ""
msgid "not supported yet"
msgstr ""
#: lib/bds/tui.ex:1515
#: lib/bds/tui.ex:1757
#, elixir-autogen, elixir-format, fuzzy
msgid "c commit · u pull · s push · enter jump to file · pgup/pgdn scroll diff · 1-7 views · ctrl+q quit"
msgstr ""
#: lib/bds/tui.ex:1522
#: lib/bds/tui.ex:1764
#, elixir-autogen, elixir-format, fuzzy
msgid "enter open · n new post · 1-7 views · p projects · / search · : commands (:? help) · r refresh · ctrl+q quit"
msgstr ""
@@ -4066,8 +4069,6 @@ msgstr ""
msgid "CLI tool installed to %{path}"
msgstr ""
#: lib/bds/desktop/shell_live/settings_editor.ex:75
#: lib/bds/desktop/shell_live/settings_editor.ex:78
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:386
#: lib/bds/ui/settings_form.ex:223
#, elixir-autogen, elixir-format
@@ -4099,3 +4100,113 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Unknown settings action"
msgstr ""
#: lib/bds/ui/tags_panel.ex:114
#, elixir-autogen, elixir-format
msgid "Colour of %{name}: %{color}"
msgstr ""
#: lib/bds/tui.ex:708
#, elixir-autogen, elixir-format
msgid "Delete %{name} (used by %{count} posts)? Press y to confirm."
msgstr ""
#: lib/bds/tui.ex:656
#, elixir-autogen, elixir-format
msgid "Delete cancelled"
msgstr ""
#: lib/bds/ui/tags_panel.ex:171
#, elixir-autogen, elixir-format
msgid "Mark at least two tags to merge"
msgstr ""
#: lib/bds/ui/tags_panel.ex:177
#, elixir-autogen, elixir-format
msgid "Merged %{count} tags into %{name}"
msgstr ""
#: lib/bds/tui.ex:668
#, elixir-autogen, elixir-format, fuzzy
msgid "New tag"
msgstr ""
#: lib/bds/tui.ex:681
#, elixir-autogen, elixir-format, fuzzy
msgid "Rename tag"
msgstr ""
#: lib/bds/ui/tags_panel.ex:76
#, elixir-autogen, elixir-format, fuzzy
msgid "Tag %{name} created"
msgstr ""
#: lib/bds/ui/tags_panel.ex:149
#, elixir-autogen, elixir-format, fuzzy
msgid "Tag %{name} deleted"
msgstr ""
#: lib/bds/ui/tags_panel.ex:201
#, elixir-autogen, elixir-format
msgid "Tag %{name} not found"
msgstr ""
#: lib/bds/ui/tags_panel.ex:88
#, elixir-autogen, elixir-format
msgid "Tag name cannot be empty"
msgstr ""
#: lib/bds/ui/tags_panel.ex:227
#, elixir-autogen, elixir-format, fuzzy
msgid "Tag not found"
msgstr ""
#: lib/bds/ui/tags_panel.ex:96
#, elixir-autogen, elixir-format
msgid "Tag renamed to %{name}"
msgstr ""
#: lib/bds/ui/tags_panel.ex:91
#, elixir-autogen, elixir-format, fuzzy
msgid "Tag unchanged"
msgstr ""
#: lib/bds/ui/tags_panel.ex:192
#, elixir-autogen, elixir-format
msgid "Tags synced from posts (%{count} total)"
msgstr ""
#: lib/bds/ui/tags_panel.ex:134
#, elixir-autogen, elixir-format
msgid "Template of %{name}: %{template}"
msgstr ""
#: lib/bds/ui/tags_panel.ex:168
#, elixir-autogen, elixir-format
msgid "The merge target must be one of the marked tags"
msgstr ""
#: lib/bds/ui/tags_panel.ex:136
#, elixir-autogen, elixir-format, fuzzy
msgid "default"
msgstr ""
#: lib/bds/tui.ex:1917
#, elixir-autogen, elixir-format, fuzzy
msgid "esc close"
msgstr ""
#: lib/bds/tui.ex:1922
#, elixir-autogen, elixir-format
msgid "n new · enter rename · c colour · t template · d delete · s sync · esc close"
msgstr ""
#: lib/bds/ui/tags_panel.ex:116
#, elixir-autogen, elixir-format, fuzzy
msgid "none"
msgstr ""
#: lib/bds/tui.ex:1927
#, elixir-autogen, elixir-format
msgid "space mark · m merge into selected · esc close"
msgstr ""

View File

@@ -82,11 +82,11 @@ msgstr "Configuración de IA"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72
#: lib/bds/desktop/shell_live/post_editor.ex:906
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:952
#: lib/bds/tui.ex:960
#: lib/bds/tui.ex:1762
#: lib/bds/tui.ex:1172
#: lib/bds/tui.ex:1175
#: lib/bds/tui.ex:1178
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:2035
#, elixir-autogen, elixir-format
msgid "AI Suggestions"
msgstr "Sugerencias de IA"
@@ -575,7 +575,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Contraer bloques de diff sin cambios"
#: lib/bds/desktop/shell_live/overlay_manager.ex:423
#: lib/bds/tui.ex:1858
#: lib/bds/tui.ex:2131
#, elixir-autogen, elixir-format
msgid "Command completed"
msgstr "Comando completado"
@@ -593,7 +593,7 @@ msgstr "Confirmar"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375
#: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:1228
#: lib/bds/tui.ex:1468
#: lib/bds/ui/settings_form.ex:137
#: lib/bds/ui/sidebar.ex:801
#, elixir-autogen, elixir-format
@@ -1040,7 +1040,7 @@ msgid "Filename"
msgstr "Nombre de archivo"
#: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:1822
#: lib/bds/tui.ex:2095
#, elixir-autogen, elixir-format
msgid "Fill Missing Translations"
msgstr "Completar traducciones faltantes"
@@ -1051,7 +1051,7 @@ msgid "Find"
msgstr "Buscar"
#: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:1825
#: lib/bds/tui.ex:2098
#, elixir-autogen, elixir-format
msgid "Find Duplicate Posts"
msgstr "Buscar entradas duplicadas"
@@ -1078,14 +1078,14 @@ msgid "Gallery"
msgstr "Galeria"
#: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:1806
#: lib/bds/tui.ex:2079
#, elixir-autogen, elixir-format
msgid "Generate Site"
msgstr "Generar sitio"
#: lib/bds/desktop/shell_live.ex:792
#: lib/bds/desktop/shell_live/socket_state.ex:109
#: lib/bds/tui.ex:1671
#: lib/bds/tui.ex:1944
#: lib/bds/ui/sidebar.ex:826
#, elixir-autogen, elixir-format
msgid "Git"
@@ -1404,9 +1404,9 @@ msgstr "Máximo de publicaciones por página"
#: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:1666
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:1939
#: lib/bds/tui.ex:2160
#: lib/bds/tui.ex:2163
#: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:578
@@ -1435,6 +1435,7 @@ msgid "Merge"
msgstr "Fusionar"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78
#: lib/bds/tui.ex:1926
#: lib/bds/ui/sidebar.ex:787
#, elixir-autogen, elixir-format
msgid "Merge Tags"
@@ -1449,11 +1450,11 @@ msgstr "Metadatos"
#: 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:448
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:284
#: lib/bds/tui.ex:295
#: lib/bds/tui.ex:1421
#: lib/bds/tui.ex:1803
#: lib/bds/tui.ex:285
#: lib/bds/tui.ex:291
#: lib/bds/tui.ex:302
#: lib/bds/tui.ex:1663
#: lib/bds/tui.ex:2076
#: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format
msgid "Metadata Diff"
@@ -1499,7 +1500,7 @@ msgstr "Nueva página"
#: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:232
#: lib/bds/tui.ex:238
#, elixir-autogen, elixir-format
msgid "New Post"
msgstr "Nueva entrada"
@@ -1787,8 +1788,8 @@ msgid "Open Data Folder"
msgstr "Abrir carpeta de datos"
#: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:801
#: lib/bds/tui.ex:806
#: lib/bds/tui.ex:1019
#: lib/bds/tui.ex:1024
#, elixir-autogen, elixir-format
msgid "Open Existing Blog"
msgstr "Abrir blog existente"
@@ -1800,7 +1801,7 @@ msgid "Open Settings"
msgstr "Abrir Ajustes"
#: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:1827
#: lib/bds/tui.ex:2100
#, elixir-autogen, elixir-format
msgid "Open in Browser"
msgstr "Abrir en el navegador"
@@ -1949,8 +1950,8 @@ msgstr "Artículo guardado"
#: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:1665
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1938
#: lib/bds/tui.ex:1953
#: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format
@@ -2010,8 +2011,8 @@ msgstr "Proyecto y publicación"
#: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:714
#: lib/bds/tui.ex:719
#: lib/bds/tui.ex:932
#: lib/bds/tui.ex:937
#, elixir-autogen, elixir-format
msgid "Projects"
msgstr "Proyectos"
@@ -2079,15 +2080,15 @@ msgid "Ready to import:"
msgstr "Listo para importar:"
#: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:798
#: lib/bds/tui.ex:1807
#: lib/bds/tui.ex:1016
#: lib/bds/tui.ex:2080
#, elixir-autogen, elixir-format
msgid "Rebuild Database"
msgstr "Reconstruir base de datos"
#: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:1811
#: lib/bds/tui.ex:2084
#, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index"
msgstr "Reconstruir índice de embeddings"
@@ -2145,7 +2146,7 @@ msgid "Refresh Translation"
msgstr "Actualizar traducción"
#: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:1814
#: lib/bds/tui.ex:2087
#, elixir-autogen, elixir-format
msgid "Regenerate Calendar"
msgstr "Regenerar calendario"
@@ -2156,7 +2157,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Regenerar miniaturas faltantes"
#: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:1808
#: lib/bds/tui.ex:2081
#, elixir-autogen, elixir-format
msgid "Reindex Text"
msgstr "Reindexar texto"
@@ -2344,7 +2345,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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:1668
#: lib/bds/tui.ex:1941
#: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115
@@ -2451,7 +2452,7 @@ msgstr "Similitud semántica"
#: lib/bds/desktop/shell_live/settings_editor/project_settings.ex:60
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11
#: lib/bds/tui.ex:1670
#: lib/bds/tui.ex:1943
#: lib/bds/ui/registry.ex:86
#: lib/bds/ui/registry.ex:101
#: lib/bds/ui/sidebar.ex:795
@@ -2475,9 +2476,9 @@ msgid "Site"
msgstr "Sitio"
#: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:313
#: lib/bds/tui.ex:1426
#: lib/bds/tui.ex:318
#: lib/bds/tui.ex:320
#: lib/bds/tui.ex:1668
#: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format
msgid "Site Validation"
@@ -2574,6 +2575,7 @@ msgid "System Prompt"
msgstr "Prompt del sistema"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16
#: lib/bds/tui.ex:1917
#: lib/bds/ui/sidebar.ex:785
#, elixir-autogen, elixir-format
msgid "Tag Cloud"
@@ -2595,12 +2597,13 @@ msgstr "Nombre de la etiqueta"
#: lib/bds/desktop/shell_live/index.html.heex:325
#: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:161
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:158
#: lib/bds/desktop/shell_live/tags_editor.ex:104
#: lib/bds/desktop/shell_live/tags_editor.ex:208
#: 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:99
#: lib/bds/desktop/shell_live/tags_editor.ex:203
#: lib/bds/desktop/shell_live/tags_editor.ex:217
#: lib/bds/desktop/shell_live/tags_editor.ex:248
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:1669
#: lib/bds/tui.ex:1920
#: lib/bds/tui.ex:1942
#: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289
@@ -2612,7 +2615,7 @@ msgstr "Etiquetas"
#: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "Tasks"
msgstr "Tareas"
@@ -2658,7 +2661,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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:1667
#: lib/bds/tui.ex:1940
#: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122
@@ -2882,7 +2885,7 @@ msgid "Updated URLs"
msgstr "URLs actualizadas"
#: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:1826
#: lib/bds/tui.ex:2099
#, elixir-autogen, elixir-format
msgid "Upload Site"
msgstr "Subir sitio"
@@ -2910,13 +2913,13 @@ msgid "Validate"
msgstr "Validar"
#: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:1804
#: lib/bds/tui.ex:2077
#, elixir-autogen, elixir-format
msgid "Validate Site"
msgstr "Validar sitio"
#: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:1817
#: lib/bds/tui.ex:2090
#, elixir-autogen, elixir-format
msgid "Validate Translations"
msgstr "Validar traducciones"
@@ -3389,15 +3392,15 @@ msgstr "Cambios"
#: lib/bds/desktop/shell_live/git_handler.ex:46
#: lib/bds/desktop/shell_live/git_handler.ex:52
#: lib/bds/desktop/shell_live/sidebar_components.ex:556
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:343
#: lib/bds/tui.ex:341
#: lib/bds/tui.ex:347
#: lib/bds/tui.ex:350
#, elixir-autogen, elixir-format
msgid "Commit"
msgstr "Commit"
#: lib/bds/desktop/shell_live/sidebar_components.ex:555
#: lib/bds/tui.ex:1248
#: lib/bds/tui.ex:1490
#, elixir-autogen, elixir-format
msgid "Commit message"
msgstr "Mensaje de commit"
@@ -3421,7 +3424,7 @@ msgid "Fetch"
msgstr "Obtener"
#: lib/bds/desktop/shell_live/sidebar_components.ex:586
#: lib/bds/tui.ex:1083
#: lib/bds/tui.ex:1309
#, elixir-autogen, elixir-format
msgid "History"
msgstr "Historial"
@@ -3469,7 +3472,7 @@ msgstr "Limpiar LFS"
#: lib/bds/desktop/shell_live/git_handler.ex:17
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/tui.ex:966
#: lib/bds/tui.ex:1192
#, elixir-autogen, elixir-format
msgid "Pull"
msgstr "Pull"
@@ -3477,7 +3480,7 @@ msgstr "Pull"
#: lib/bds/desktop/shell_live/git_handler.ex:18
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/tui.ex:967
#: lib/bds/tui.ex:1193
#, elixir-autogen, elixir-format
msgid "Push"
msgstr "Push"
@@ -3590,7 +3593,7 @@ msgid "Suggested tags"
msgstr "Etiquetas sugeridas"
#: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:1805
#: lib/bds/tui.ex:2078
#, elixir-autogen, elixir-format
msgid "Force Render Site"
msgstr "Forzar la regeneración del sitio"
@@ -3687,83 +3690,83 @@ msgstr "OK"
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."
#: lib/bds/tui.ex:1763
#: lib/bds/tui.ex:2036
#, elixir-autogen, elixir-format
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."
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:2163
#, elixir-autogen, elixir-format
msgid "Could not load this file."
msgstr "No se pudo cargar este archivo."
#: lib/bds/tui.ex:243
#: lib/bds/tui.ex:250
#, elixir-autogen, elixir-format
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."
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:1175
#, elixir-autogen, elixir-format
msgid "No suggestions returned."
msgstr "No se recibieron sugerencias."
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:2160
#, elixir-autogen, elixir-format
msgid "Only images can be previewed."
msgstr "Solo se pueden previsualizar imágenes."
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1953
#, elixir-autogen, elixir-format
msgid "Post not found."
msgstr "Entrada no encontrada."
#: lib/bds/tui.ex:1183
#: lib/bds/tui.ex:1423
#, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}."
msgstr "Pulsa Intro para previsualizar %{name}."
#: lib/bds/tui.ex:1733
#: lib/bds/tui.ex:2006
#, elixir-autogen, elixir-format
msgid "Published."
msgstr "Publicado."
#: lib/bds/tui.ex:1749
#: lib/bds/tui.ex:2022
#, elixir-autogen, elixir-format
msgid "Save before switching languages."
msgstr "Guarda antes de cambiar de idioma."
#: lib/bds/tui.ex:533
#: lib/bds/tui.ex:1734
#: lib/bds/tui.ex:540
#: lib/bds/tui.ex:2007
#, elixir-autogen, elixir-format
msgid "Saved."
msgstr "Guardado."
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:1426
#, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it."
msgstr "Selecciona una entrada y pulsa Intro para abrirla."
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:1172
#, elixir-autogen, elixir-format
msgid "Suggestions applied."
msgstr "Sugerencias aplicadas."
#: lib/bds/tui.ex:1198
#: lib/bds/tui.ex:1438
#, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)"
msgstr "Título (ctrl+t para editar)"
#: lib/bds/tui.ex:1197
#: lib/bds/tui.ex:1437
#, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)"
msgstr "Título (edición — Intro para confirmar)"
#: lib/bds/tui.ex:1250
#: lib/bds/tui.ex:1492
#, elixir-autogen, elixir-format
msgid "Working…"
msgstr "Procesando…"
#: lib/bds/tui.ex:1272
#: lib/bds/tui.ex:1514
#, elixir-autogen, elixir-format
msgid "esc to close"
msgstr "esc para cerrar"
@@ -3800,148 +3803,148 @@ msgstr "Dirección del servidor (user@host o user@host:port), autenticación de
msgid "Use the form user@host or user@host:port."
msgstr "Usa el formato user@host o user@host:port."
#: lib/bds/tui.ex:1217
#: lib/bds/tui.ex:1457
#, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)"
msgstr "Vista previa (ctrl+e para editar)"
#: lib/bds/tui.ex:1529
#: lib/bds/tui.ex:1771
#, 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"
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:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "All tasks finished."
msgstr "Todas las tareas han terminado."
#: lib/bds/tui.ex:1298
#: lib/bds/tui.ex:1540
#, elixir-autogen, elixir-format
msgid "Commands — esc to close"
msgstr "Comandos — esc para cerrar"
#: lib/bds/tui.ex:823
#: lib/bds/tui.ex:1041
#, elixir-autogen, elixir-format
msgid "Unknown command."
msgstr "Comando desconocido."
#: lib/bds/tui.ex:1288
#: lib/bds/tui.ex:1530
#, elixir-autogen, elixir-format
msgid "[report/apply in GUI]"
msgstr "[informe/aplicación en la GUI]"
#: lib/bds/tui.ex:1437
#: lib/bds/tui.ex:1679
#, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} diferencias · %{orphans} archivos huérfanos"
#: lib/bds/tui.ex:1469
#: lib/bds/tui.ex:1711
#, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}"
msgstr "Esperados %{expected} · Existentes %{existing}"
#: lib/bds/tui.ex:1486
#: lib/bds/tui.ex:1728
#, elixir-autogen, elixir-format
msgid "Extra files (will be removed):"
msgstr "Archivos sobrantes (se eliminarán):"
#: lib/bds/tui.ex:1482
#: lib/bds/tui.ex:1724
#, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):"
msgstr "Páginas faltantes (se generarán):"
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:318
#, elixir-autogen, elixir-format
msgid "Nothing to apply."
msgstr "Nada que aplicar."
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:285
#, elixir-autogen, elixir-format
msgid "Nothing to repair."
msgstr "Nada que reparar."
#: lib/bds/tui.ex:1460
#: lib/bds/tui.ex:1702
#, elixir-autogen, elixir-format
msgid "Orphan files (not in database):"
msgstr "Archivos huérfanos (no están en la base de datos):"
#: lib/bds/tui.ex:1476
#: lib/bds/tui.ex:1718
#, elixir-autogen, elixir-format
msgid "Sitemap changed."
msgstr "Sitemap modificado."
#: lib/bds/tui.ex:1490
#: lib/bds/tui.ex:1732
#, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):"
msgstr "Entradas actualizadas (se volverán a generar):"
#: lib/bds/tui.ex:1427
#: lib/bds/tui.ex:1669
#, elixir-autogen, elixir-format
msgid "enter apply changes · esc close"
msgstr "intro aplicar cambios · esc cerrar"
#: lib/bds/tui.ex:1422
#: lib/bds/tui.ex:1664
#, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close"
msgstr "intro reparar todo desde archivos · esc cerrar"
#: lib/bds/tui.ex:788
#: lib/bds/tui.ex:1006
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Blog importado"
#: lib/bds/tui.ex:807
#: lib/bds/tui.ex:1025
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "No es una carpeta: %{path}"
#: lib/bds/tui.ex:1364
#: lib/bds/tui.ex:1606
#, 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:715
#: lib/bds/tui.ex:933
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Cambiado a %{name}."
#: lib/bds/tui.ex:1392
#: lib/bds/tui.ex:1634
#, elixir-autogen, elixir-format
msgid "Matching folders"
msgstr "Carpetas coincidentes"
#: lib/bds/tui.ex:1330
#: lib/bds/tui.ex:1572
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · tab complete · enter open · esc back"
msgstr "Abrir blog existente — escribe la ruta de una carpeta · tab completar · intro abrir · esc volver"
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:341
#, elixir-autogen, elixir-format
msgid "Commit message required."
msgstr "Se requiere un mensaje de commit."
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:347
#, elixir-autogen, elixir-format
msgid "Committed."
msgstr "Commit realizado."
#: lib/bds/tui.ex:1174
#: lib/bds/tui.ex:1414
#, elixir-autogen, elixir-format
msgid "Diff (pgup/pgdn scroll)"
msgstr "Diff (pgup/pgdn para desplazar)"
#: lib/bds/tui.ex:1557
#: lib/bds/tui.ex:1799
#, elixir-autogen, elixir-format
msgid "No changes."
msgstr "Sin cambios."
#: lib/bds/tui.ex:400
#: lib/bds/tui.ex:407
#, elixir-autogen, elixir-format
msgid "No diff for this file."
msgstr "No hay diff para este archivo."
#: lib/bds/tui.ex:388
#: lib/bds/tui.ex:1161
#: lib/bds/tui.ex:395
#: lib/bds/tui.ex:1401
#, elixir-autogen, elixir-format
msgid "Not a git repository."
msgstr "No es un repositorio git."
@@ -4036,12 +4039,12 @@ msgstr "Mostrar título"
msgid "Theme"
msgstr "Tema"
#: lib/bds/tui.ex:1145
#: lib/bds/tui.ex:1371
#, elixir-autogen, elixir-format
msgid "enter edit · ctrl+s save · esc close"
msgstr "intro editar · ctrl+s guardar · esc cerrar"
#: lib/bds/tui.ex:1508
#: lib/bds/tui.ex:1750
#, elixir-autogen, elixir-format
msgid "enter edit/toggle/cycle · ctrl+s save · esc close · ctrl+q quit"
msgstr "intro editar/alternar/ciclar · ctrl+s guardar · esc cerrar · ctrl+q salir"
@@ -4051,12 +4054,12 @@ msgstr "intro editar/alternar/ciclar · ctrl+s guardar · esc cerrar · ctrl+q s
msgid "not supported yet"
msgstr "aún no compatible"
#: lib/bds/tui.ex:1515
#: lib/bds/tui.ex:1757
#, elixir-autogen, elixir-format
msgid "c commit · u pull · s push · enter jump to file · pgup/pgdn scroll diff · 1-7 views · ctrl+q quit"
msgstr "c commit · u pull · s push · intro ir al archivo · pgup/pgdn desplazar el diff · 1-7 vistas · ctrl+q salir"
#: lib/bds/tui.ex:1522
#: lib/bds/tui.ex:1764
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-7 views · p projects · / search · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "intro abrir · n nueva entrada · 1-7 vistas · p proyectos · / buscar · : comandos (:? ayuda) · r actualizar · ctrl+q salir"
@@ -4066,8 +4069,6 @@ msgstr "intro abrir · n nueva entrada · 1-7 vistas · p proyectos · / buscar
msgid "CLI tool installed to %{path}"
msgstr "Herramienta CLI instalada en %{path}"
#: lib/bds/desktop/shell_live/settings_editor.ex:75
#: lib/bds/desktop/shell_live/settings_editor.ex:78
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:386
#: lib/bds/ui/settings_form.ex:223
#, elixir-autogen, elixir-format
@@ -4099,3 +4100,113 @@ msgstr "La herramienta CLI solo puede instalarse desde la aplicación empaquetad
#, elixir-autogen, elixir-format
msgid "Unknown settings action"
msgstr "Acción de configuración desconocida"
#: lib/bds/ui/tags_panel.ex:114
#, elixir-autogen, elixir-format
msgid "Colour of %{name}: %{color}"
msgstr "Color de %{name}: %{color}"
#: lib/bds/tui.ex:708
#, elixir-autogen, elixir-format
msgid "Delete %{name} (used by %{count} posts)? Press y to confirm."
msgstr "¿Eliminar %{name} (usada en %{count} artículos)? Pulsa y para confirmar."
#: lib/bds/tui.ex:656
#, elixir-autogen, elixir-format
msgid "Delete cancelled"
msgstr "Eliminación cancelada"
#: lib/bds/ui/tags_panel.ex:171
#, elixir-autogen, elixir-format
msgid "Mark at least two tags to merge"
msgstr "Marca al menos dos etiquetas para combinar"
#: lib/bds/ui/tags_panel.ex:177
#, elixir-autogen, elixir-format
msgid "Merged %{count} tags into %{name}"
msgstr "%{count} etiquetas combinadas en %{name}"
#: lib/bds/tui.ex:668
#, elixir-autogen, elixir-format
msgid "New tag"
msgstr "Nueva etiqueta"
#: lib/bds/tui.ex:681
#, elixir-autogen, elixir-format
msgid "Rename tag"
msgstr "Renombrar etiqueta"
#: lib/bds/ui/tags_panel.ex:76
#, elixir-autogen, elixir-format
msgid "Tag %{name} created"
msgstr "Etiqueta %{name} creada"
#: lib/bds/ui/tags_panel.ex:149
#, elixir-autogen, elixir-format
msgid "Tag %{name} deleted"
msgstr "Etiqueta %{name} eliminada"
#: lib/bds/ui/tags_panel.ex:201
#, elixir-autogen, elixir-format
msgid "Tag %{name} not found"
msgstr "Etiqueta %{name} no encontrada"
#: lib/bds/ui/tags_panel.ex:88
#, elixir-autogen, elixir-format
msgid "Tag name cannot be empty"
msgstr "El nombre de la etiqueta no puede estar vacío"
#: lib/bds/ui/tags_panel.ex:227
#, elixir-autogen, elixir-format
msgid "Tag not found"
msgstr "Etiqueta no encontrada"
#: lib/bds/ui/tags_panel.ex:96
#, elixir-autogen, elixir-format
msgid "Tag renamed to %{name}"
msgstr "Etiqueta renombrada a %{name}"
#: lib/bds/ui/tags_panel.ex:91
#, elixir-autogen, elixir-format
msgid "Tag unchanged"
msgstr "Etiqueta sin cambios"
#: lib/bds/ui/tags_panel.ex:192
#, elixir-autogen, elixir-format
msgid "Tags synced from posts (%{count} total)"
msgstr "Etiquetas sincronizadas desde los artículos (%{count} en total)"
#: lib/bds/ui/tags_panel.ex:134
#, elixir-autogen, elixir-format
msgid "Template of %{name}: %{template}"
msgstr "Plantilla de %{name}: %{template}"
#: lib/bds/ui/tags_panel.ex:168
#, elixir-autogen, elixir-format
msgid "The merge target must be one of the marked tags"
msgstr "El destino de la combinación debe ser una de las etiquetas marcadas"
#: lib/bds/ui/tags_panel.ex:136
#, elixir-autogen, elixir-format
msgid "default"
msgstr "predeterminado"
#: lib/bds/tui.ex:1917
#, elixir-autogen, elixir-format
msgid "esc close"
msgstr "esc cerrar"
#: lib/bds/tui.ex:1922
#, elixir-autogen, elixir-format
msgid "n new · enter rename · c colour · t template · d delete · s sync · esc close"
msgstr "n nuevo · intro renombrar · c color · t plantilla · d eliminar · s sincronizar · esc cerrar"
#: lib/bds/ui/tags_panel.ex:116
#, elixir-autogen, elixir-format
msgid "none"
msgstr "ninguno"
#: lib/bds/tui.ex:1927
#, elixir-autogen, elixir-format
msgid "space mark · m merge into selected · esc close"
msgstr "espacio marcar · m combinar en la selección · esc cerrar"

View File

@@ -82,11 +82,11 @@ msgstr "Paramètres IA"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72
#: lib/bds/desktop/shell_live/post_editor.ex:906
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:952
#: lib/bds/tui.ex:960
#: lib/bds/tui.ex:1762
#: lib/bds/tui.ex:1172
#: lib/bds/tui.ex:1175
#: lib/bds/tui.ex:1178
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:2035
#, elixir-autogen, elixir-format
msgid "AI Suggestions"
msgstr "Suggestions IA"
@@ -575,7 +575,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Réduire les blocs de diff inchangés"
#: lib/bds/desktop/shell_live/overlay_manager.ex:423
#: lib/bds/tui.ex:1858
#: lib/bds/tui.ex:2131
#, elixir-autogen, elixir-format
msgid "Command completed"
msgstr "Commande terminée"
@@ -593,7 +593,7 @@ msgstr "Confirmer"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375
#: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:1228
#: lib/bds/tui.ex:1468
#: lib/bds/ui/settings_form.ex:137
#: lib/bds/ui/sidebar.ex:801
#, elixir-autogen, elixir-format
@@ -1040,7 +1040,7 @@ msgid "Filename"
msgstr "Nom de fichier"
#: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:1822
#: lib/bds/tui.ex:2095
#, elixir-autogen, elixir-format
msgid "Fill Missing Translations"
msgstr "Compléter les traductions manquantes"
@@ -1051,7 +1051,7 @@ msgid "Find"
msgstr "Rechercher"
#: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:1825
#: lib/bds/tui.ex:2098
#, elixir-autogen, elixir-format
msgid "Find Duplicate Posts"
msgstr "Trouver les doublons"
@@ -1078,14 +1078,14 @@ msgid "Gallery"
msgstr "Galerie"
#: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:1806
#: lib/bds/tui.ex:2079
#, elixir-autogen, elixir-format
msgid "Generate Site"
msgstr "Générer le site"
#: lib/bds/desktop/shell_live.ex:792
#: lib/bds/desktop/shell_live/socket_state.ex:109
#: lib/bds/tui.ex:1671
#: lib/bds/tui.ex:1944
#: lib/bds/ui/sidebar.ex:826
#, elixir-autogen, elixir-format
msgid "Git"
@@ -1404,9 +1404,9 @@ msgstr "Nombre maximal darticles par page"
#: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:1666
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:1939
#: lib/bds/tui.ex:2160
#: lib/bds/tui.ex:2163
#: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:578
@@ -1435,6 +1435,7 @@ msgid "Merge"
msgstr "Fusionner"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78
#: lib/bds/tui.ex:1926
#: lib/bds/ui/sidebar.ex:787
#, elixir-autogen, elixir-format
msgid "Merge Tags"
@@ -1449,11 +1450,11 @@ msgstr "Métadonnées"
#: 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:448
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:284
#: lib/bds/tui.ex:295
#: lib/bds/tui.ex:1421
#: lib/bds/tui.ex:1803
#: lib/bds/tui.ex:285
#: lib/bds/tui.ex:291
#: lib/bds/tui.ex:302
#: lib/bds/tui.ex:1663
#: lib/bds/tui.ex:2076
#: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format
msgid "Metadata Diff"
@@ -1499,7 +1500,7 @@ msgstr "Nouvelle page"
#: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:232
#: lib/bds/tui.ex:238
#, elixir-autogen, elixir-format
msgid "New Post"
msgstr "Nouvel article"
@@ -1787,8 +1788,8 @@ msgid "Open Data Folder"
msgstr "Ouvrir le dossier de données"
#: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:801
#: lib/bds/tui.ex:806
#: lib/bds/tui.ex:1019
#: lib/bds/tui.ex:1024
#, elixir-autogen, elixir-format
msgid "Open Existing Blog"
msgstr "Ouvrir un blog existant"
@@ -1800,7 +1801,7 @@ msgid "Open Settings"
msgstr "Ouvrir les Réglages"
#: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:1827
#: lib/bds/tui.ex:2100
#, elixir-autogen, elixir-format
msgid "Open in Browser"
msgstr "Ouvrir dans le navigateur"
@@ -1949,8 +1950,8 @@ msgstr "Article enregistré"
#: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:1665
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1938
#: lib/bds/tui.ex:1953
#: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format
@@ -2010,8 +2011,8 @@ msgstr "Projet et publication"
#: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:714
#: lib/bds/tui.ex:719
#: lib/bds/tui.ex:932
#: lib/bds/tui.ex:937
#, elixir-autogen, elixir-format
msgid "Projects"
msgstr "Projets"
@@ -2079,15 +2080,15 @@ msgid "Ready to import:"
msgstr "Prêt à importer :"
#: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:798
#: lib/bds/tui.ex:1807
#: lib/bds/tui.ex:1016
#: lib/bds/tui.ex:2080
#, elixir-autogen, elixir-format
msgid "Rebuild Database"
msgstr "Reconstruire la base de données"
#: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:1811
#: lib/bds/tui.ex:2084
#, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index"
msgstr "Reconstruire lindex dembeddings"
@@ -2145,7 +2146,7 @@ msgid "Refresh Translation"
msgstr "Actualiser la traduction"
#: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:1814
#: lib/bds/tui.ex:2087
#, elixir-autogen, elixir-format
msgid "Regenerate Calendar"
msgstr "Régénérer le calendrier"
@@ -2156,7 +2157,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Régénérer les vignettes manquantes"
#: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:1808
#: lib/bds/tui.ex:2081
#, elixir-autogen, elixir-format
msgid "Reindex Text"
msgstr "Réindexer le texte"
@@ -2344,7 +2345,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:219
#: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:1668
#: lib/bds/tui.ex:1941
#: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115
@@ -2451,7 +2452,7 @@ msgstr "Similarité sémantique"
#: lib/bds/desktop/shell_live/settings_editor/project_settings.ex:60
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11
#: lib/bds/tui.ex:1670
#: lib/bds/tui.ex:1943
#: lib/bds/ui/registry.ex:86
#: lib/bds/ui/registry.ex:101
#: lib/bds/ui/sidebar.ex:795
@@ -2475,9 +2476,9 @@ msgid "Site"
msgstr "Site"
#: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:313
#: lib/bds/tui.ex:1426
#: lib/bds/tui.ex:318
#: lib/bds/tui.ex:320
#: lib/bds/tui.ex:1668
#: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format
msgid "Site Validation"
@@ -2574,6 +2575,7 @@ msgid "System Prompt"
msgstr "Prompt système"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16
#: lib/bds/tui.ex:1917
#: lib/bds/ui/sidebar.ex:785
#, elixir-autogen, elixir-format
msgid "Tag Cloud"
@@ -2595,12 +2597,13 @@ msgstr "Nom du mot-clé"
#: lib/bds/desktop/shell_live/index.html.heex:325
#: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:161
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:158
#: lib/bds/desktop/shell_live/tags_editor.ex:104
#: lib/bds/desktop/shell_live/tags_editor.ex:208
#: 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:99
#: lib/bds/desktop/shell_live/tags_editor.ex:203
#: lib/bds/desktop/shell_live/tags_editor.ex:217
#: lib/bds/desktop/shell_live/tags_editor.ex:248
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:1669
#: lib/bds/tui.ex:1920
#: lib/bds/tui.ex:1942
#: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289
@@ -2612,7 +2615,7 @@ msgstr "Tags"
#: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "Tasks"
msgstr "Tâches"
@@ -2658,7 +2661,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:176
#: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:1667
#: lib/bds/tui.ex:1940
#: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122
@@ -2882,7 +2885,7 @@ msgid "Updated URLs"
msgstr "URLs mises à jour"
#: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:1826
#: lib/bds/tui.ex:2099
#, elixir-autogen, elixir-format
msgid "Upload Site"
msgstr "Téléverser le site"
@@ -2910,13 +2913,13 @@ msgid "Validate"
msgstr "Valider"
#: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:1804
#: lib/bds/tui.ex:2077
#, elixir-autogen, elixir-format
msgid "Validate Site"
msgstr "Valider le site"
#: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:1817
#: lib/bds/tui.ex:2090
#, elixir-autogen, elixir-format
msgid "Validate Translations"
msgstr "Valider les traductions"
@@ -3389,15 +3392,15 @@ msgstr "Modifications"
#: lib/bds/desktop/shell_live/git_handler.ex:46
#: lib/bds/desktop/shell_live/git_handler.ex:52
#: lib/bds/desktop/shell_live/sidebar_components.ex:556
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:343
#: lib/bds/tui.ex:341
#: lib/bds/tui.ex:347
#: lib/bds/tui.ex:350
#, elixir-autogen, elixir-format
msgid "Commit"
msgstr "Commit"
#: lib/bds/desktop/shell_live/sidebar_components.ex:555
#: lib/bds/tui.ex:1248
#: lib/bds/tui.ex:1490
#, elixir-autogen, elixir-format
msgid "Commit message"
msgstr "Message de commit"
@@ -3421,7 +3424,7 @@ msgid "Fetch"
msgstr "Récupérer"
#: lib/bds/desktop/shell_live/sidebar_components.ex:586
#: lib/bds/tui.ex:1083
#: lib/bds/tui.ex:1309
#, elixir-autogen, elixir-format
msgid "History"
msgstr "Historique"
@@ -3469,7 +3472,7 @@ msgstr "Nettoyer LFS"
#: lib/bds/desktop/shell_live/git_handler.ex:17
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/tui.ex:966
#: lib/bds/tui.ex:1192
#, elixir-autogen, elixir-format
msgid "Pull"
msgstr "Pull"
@@ -3477,7 +3480,7 @@ msgstr "Pull"
#: lib/bds/desktop/shell_live/git_handler.ex:18
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/tui.ex:967
#: lib/bds/tui.ex:1193
#, elixir-autogen, elixir-format
msgid "Push"
msgstr "Push"
@@ -3590,7 +3593,7 @@ msgid "Suggested tags"
msgstr "Tags suggérés"
#: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:1805
#: lib/bds/tui.ex:2078
#, elixir-autogen, elixir-format
msgid "Force Render Site"
msgstr "Forcer la régénération du site"
@@ -3687,83 +3690,83 @@ msgstr "OK"
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."
#: lib/bds/tui.ex:1763
#: lib/bds/tui.ex:2036
#, elixir-autogen, elixir-format
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."
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:2163
#, elixir-autogen, elixir-format
msgid "Could not load this file."
msgstr "Impossible de charger ce fichier."
#: lib/bds/tui.ex:243
#: lib/bds/tui.ex:250
#, elixir-autogen, elixir-format
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."
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:1175
#, elixir-autogen, elixir-format
msgid "No suggestions returned."
msgstr "Aucune suggestion reçue."
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:2160
#, elixir-autogen, elixir-format
msgid "Only images can be previewed."
msgstr "Seules les images peuvent être prévisualisées."
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1953
#, elixir-autogen, elixir-format
msgid "Post not found."
msgstr "Article introuvable."
#: lib/bds/tui.ex:1183
#: lib/bds/tui.ex:1423
#, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}."
msgstr "Appuyez sur Entrée pour prévisualiser %{name}."
#: lib/bds/tui.ex:1733
#: lib/bds/tui.ex:2006
#, elixir-autogen, elixir-format
msgid "Published."
msgstr "Publié."
#: lib/bds/tui.ex:1749
#: lib/bds/tui.ex:2022
#, elixir-autogen, elixir-format
msgid "Save before switching languages."
msgstr "Enregistrez avant de changer de langue."
#: lib/bds/tui.ex:533
#: lib/bds/tui.ex:1734
#: lib/bds/tui.ex:540
#: lib/bds/tui.ex:2007
#, elixir-autogen, elixir-format
msgid "Saved."
msgstr "Enregistré."
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:1426
#, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it."
msgstr "Sélectionnez une entrée et appuyez sur Entrée pour l'ouvrir."
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:1172
#, elixir-autogen, elixir-format
msgid "Suggestions applied."
msgstr "Suggestions appliquées."
#: lib/bds/tui.ex:1198
#: lib/bds/tui.ex:1438
#, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)"
msgstr "Titre (ctrl+t pour modifier)"
#: lib/bds/tui.ex:1197
#: lib/bds/tui.ex:1437
#, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)"
msgstr "Titre (édition — Entrée pour confirmer)"
#: lib/bds/tui.ex:1250
#: lib/bds/tui.ex:1492
#, elixir-autogen, elixir-format
msgid "Working…"
msgstr "Traitement en cours…"
#: lib/bds/tui.ex:1272
#: lib/bds/tui.ex:1514
#, elixir-autogen, elixir-format
msgid "esc to close"
msgstr "échap pour fermer"
@@ -3800,148 +3803,148 @@ msgstr "Adresse du serveur (user@host ou user@host:port), authentification par c
msgid "Use the form user@host or user@host:port."
msgstr "Utilisez le format user@host ou user@host:port."
#: lib/bds/tui.ex:1217
#: lib/bds/tui.ex:1457
#, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)"
msgstr "Aperçu (ctrl+e pour modifier)"
#: lib/bds/tui.ex:1529
#: lib/bds/tui.ex:1771
#, 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"
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:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "All tasks finished."
msgstr "Toutes les tâches sont terminées."
#: lib/bds/tui.ex:1298
#: lib/bds/tui.ex:1540
#, elixir-autogen, elixir-format
msgid "Commands — esc to close"
msgstr "Commandes — échap pour fermer"
#: lib/bds/tui.ex:823
#: lib/bds/tui.ex:1041
#, elixir-autogen, elixir-format
msgid "Unknown command."
msgstr "Commande inconnue."
#: lib/bds/tui.ex:1288
#: lib/bds/tui.ex:1530
#, elixir-autogen, elixir-format
msgid "[report/apply in GUI]"
msgstr "[rapport/application dans la GUI]"
#: lib/bds/tui.ex:1437
#: lib/bds/tui.ex:1679
#, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} différences · %{orphans} fichiers orphelins"
#: lib/bds/tui.ex:1469
#: lib/bds/tui.ex:1711
#, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}"
msgstr "Attendu %{expected} · Existant %{existing}"
#: lib/bds/tui.ex:1486
#: lib/bds/tui.ex:1728
#, elixir-autogen, elixir-format
msgid "Extra files (will be removed):"
msgstr "Fichiers en trop (seront supprimés) :"
#: lib/bds/tui.ex:1482
#: lib/bds/tui.ex:1724
#, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):"
msgstr "Pages manquantes (seront rendues) :"
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:318
#, elixir-autogen, elixir-format
msgid "Nothing to apply."
msgstr "Rien à appliquer."
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:285
#, elixir-autogen, elixir-format
msgid "Nothing to repair."
msgstr "Rien à réparer."
#: lib/bds/tui.ex:1460
#: lib/bds/tui.ex:1702
#, elixir-autogen, elixir-format
msgid "Orphan files (not in database):"
msgstr "Fichiers orphelins (absents de la base de données) :"
#: lib/bds/tui.ex:1476
#: lib/bds/tui.ex:1718
#, elixir-autogen, elixir-format
msgid "Sitemap changed."
msgstr "Sitemap modifié."
#: lib/bds/tui.ex:1490
#: lib/bds/tui.ex:1732
#, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):"
msgstr "Articles mis à jour (seront rendus à nouveau) :"
#: lib/bds/tui.ex:1427
#: lib/bds/tui.ex:1669
#, elixir-autogen, elixir-format
msgid "enter apply changes · esc close"
msgstr "entrée appliquer les modifications · échap fermer"
#: lib/bds/tui.ex:1422
#: lib/bds/tui.ex:1664
#, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close"
msgstr "entrée tout réparer depuis les fichiers · échap fermer"
#: lib/bds/tui.ex:788
#: lib/bds/tui.ex:1006
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Blog importé"
#: lib/bds/tui.ex:807
#: lib/bds/tui.ex:1025
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "Pas un dossier : %{path}"
#: lib/bds/tui.ex:1364
#: lib/bds/tui.ex:1606
#, 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:715
#: lib/bds/tui.ex:933
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Passage à %{name}."
#: lib/bds/tui.ex:1392
#: lib/bds/tui.ex:1634
#, elixir-autogen, elixir-format
msgid "Matching folders"
msgstr "Dossiers correspondants"
#: lib/bds/tui.ex:1330
#: lib/bds/tui.ex:1572
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · tab complete · enter open · esc back"
msgstr "Ouvrir un blog existant — saisir le chemin d'un dossier · tab compléter · entrée ouvrir · échap retour"
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:341
#, elixir-autogen, elixir-format
msgid "Commit message required."
msgstr "Message de commit requis."
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:347
#, elixir-autogen, elixir-format
msgid "Committed."
msgstr "Commit effectué."
#: lib/bds/tui.ex:1174
#: lib/bds/tui.ex:1414
#, elixir-autogen, elixir-format
msgid "Diff (pgup/pgdn scroll)"
msgstr "Diff (pgup/pgdn pour défiler)"
#: lib/bds/tui.ex:1557
#: lib/bds/tui.ex:1799
#, elixir-autogen, elixir-format
msgid "No changes."
msgstr "Aucune modification."
#: lib/bds/tui.ex:400
#: lib/bds/tui.ex:407
#, elixir-autogen, elixir-format
msgid "No diff for this file."
msgstr "Pas de diff pour ce fichier."
#: lib/bds/tui.ex:388
#: lib/bds/tui.ex:1161
#: lib/bds/tui.ex:395
#: lib/bds/tui.ex:1401
#, elixir-autogen, elixir-format
msgid "Not a git repository."
msgstr "Pas un dépôt git."
@@ -4036,12 +4039,12 @@ msgstr "Afficher le titre"
msgid "Theme"
msgstr "Thème"
#: lib/bds/tui.ex:1145
#: lib/bds/tui.ex:1371
#, elixir-autogen, elixir-format
msgid "enter edit · ctrl+s save · esc close"
msgstr "entrée modifier · ctrl+s enregistrer · échap fermer"
#: lib/bds/tui.ex:1508
#: lib/bds/tui.ex:1750
#, elixir-autogen, elixir-format
msgid "enter edit/toggle/cycle · ctrl+s save · esc close · ctrl+q quit"
msgstr "entrée modifier/basculer/parcourir · ctrl+s enregistrer · échap fermer · ctrl+q quitter"
@@ -4051,12 +4054,12 @@ msgstr "entrée modifier/basculer/parcourir · ctrl+s enregistrer · échap ferm
msgid "not supported yet"
msgstr "pas encore pris en charge"
#: lib/bds/tui.ex:1515
#: lib/bds/tui.ex:1757
#, elixir-autogen, elixir-format
msgid "c commit · u pull · s push · enter jump to file · pgup/pgdn scroll diff · 1-7 views · ctrl+q quit"
msgstr "c commit · u pull · s push · entrée aller au fichier · pgup/pgdn défiler le diff · 1-7 vues · ctrl+q quitter"
#: lib/bds/tui.ex:1522
#: lib/bds/tui.ex:1764
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-7 views · p projects · / search · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "entrée ouvrir · n nouvel article · 1-7 vues · p projets · / rechercher · : commandes (:? aide) · r actualiser · ctrl+q quitter"
@@ -4066,8 +4069,6 @@ msgstr "entrée ouvrir · n nouvel article · 1-7 vues · p projets · / recherc
msgid "CLI tool installed to %{path}"
msgstr "Outil CLI installé dans %{path}"
#: lib/bds/desktop/shell_live/settings_editor.ex:75
#: lib/bds/desktop/shell_live/settings_editor.ex:78
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:386
#: lib/bds/ui/settings_form.ex:223
#, elixir-autogen, elixir-format
@@ -4099,3 +4100,113 @@ msgstr "L'outil CLI ne peut être installé que depuis l'application empaquetée
#, elixir-autogen, elixir-format
msgid "Unknown settings action"
msgstr "Action de paramètres inconnue"
#: lib/bds/ui/tags_panel.ex:114
#, elixir-autogen, elixir-format
msgid "Colour of %{name}: %{color}"
msgstr "Couleur de %{name} : %{color}"
#: lib/bds/tui.ex:708
#, elixir-autogen, elixir-format
msgid "Delete %{name} (used by %{count} posts)? Press y to confirm."
msgstr "Supprimer %{name} (utilisé par %{count} articles) ? Appuyez sur y pour confirmer."
#: lib/bds/tui.ex:656
#, elixir-autogen, elixir-format
msgid "Delete cancelled"
msgstr "Suppression annulée"
#: lib/bds/ui/tags_panel.ex:171
#, elixir-autogen, elixir-format
msgid "Mark at least two tags to merge"
msgstr "Marquez au moins deux mots-clés à fusionner"
#: lib/bds/ui/tags_panel.ex:177
#, elixir-autogen, elixir-format
msgid "Merged %{count} tags into %{name}"
msgstr "%{count} mots-clés fusionnés dans %{name}"
#: lib/bds/tui.ex:668
#, elixir-autogen, elixir-format
msgid "New tag"
msgstr "Nouveau mot-clé"
#: lib/bds/tui.ex:681
#, elixir-autogen, elixir-format
msgid "Rename tag"
msgstr "Renommer le mot-clé"
#: lib/bds/ui/tags_panel.ex:76
#, elixir-autogen, elixir-format
msgid "Tag %{name} created"
msgstr "Mot-clé %{name} créé"
#: lib/bds/ui/tags_panel.ex:149
#, elixir-autogen, elixir-format
msgid "Tag %{name} deleted"
msgstr "Mot-clé %{name} supprimé"
#: lib/bds/ui/tags_panel.ex:201
#, elixir-autogen, elixir-format
msgid "Tag %{name} not found"
msgstr "Mot-clé %{name} introuvable"
#: lib/bds/ui/tags_panel.ex:88
#, elixir-autogen, elixir-format
msgid "Tag name cannot be empty"
msgstr "Le nom du mot-clé ne peut pas être vide"
#: lib/bds/ui/tags_panel.ex:227
#, elixir-autogen, elixir-format
msgid "Tag not found"
msgstr "Mot-clé introuvable"
#: lib/bds/ui/tags_panel.ex:96
#, elixir-autogen, elixir-format
msgid "Tag renamed to %{name}"
msgstr "Mot-clé renommé en %{name}"
#: lib/bds/ui/tags_panel.ex:91
#, elixir-autogen, elixir-format
msgid "Tag unchanged"
msgstr "Mot-clé inchangé"
#: lib/bds/ui/tags_panel.ex:192
#, elixir-autogen, elixir-format
msgid "Tags synced from posts (%{count} total)"
msgstr "Mots-clés synchronisés depuis les articles (%{count} au total)"
#: lib/bds/ui/tags_panel.ex:134
#, elixir-autogen, elixir-format
msgid "Template of %{name}: %{template}"
msgstr "Modèle de %{name} : %{template}"
#: lib/bds/ui/tags_panel.ex:168
#, elixir-autogen, elixir-format
msgid "The merge target must be one of the marked tags"
msgstr "La cible de la fusion doit être l'un des mots-clés marqués"
#: lib/bds/ui/tags_panel.ex:136
#, elixir-autogen, elixir-format
msgid "default"
msgstr "par défaut"
#: lib/bds/tui.ex:1917
#, elixir-autogen, elixir-format
msgid "esc close"
msgstr "échap fermer"
#: lib/bds/tui.ex:1922
#, elixir-autogen, elixir-format
msgid "n new · enter rename · c colour · t template · d delete · s sync · esc close"
msgstr "n nouveau · entrée renommer · c couleur · t modèle · d supprimer · s synchroniser · échap fermer"
#: lib/bds/ui/tags_panel.ex:116
#, elixir-autogen, elixir-format
msgid "none"
msgstr "aucune"
#: lib/bds/tui.ex:1927
#, elixir-autogen, elixir-format
msgid "space mark · m merge into selected · esc close"
msgstr "espace marquer · m fusionner dans la sélection · échap fermer"

View File

@@ -82,11 +82,11 @@ msgstr "Impostazioni IA"
#: lib/bds/desktop/shell_live/overlay_manager.ex:72
#: lib/bds/desktop/shell_live/post_editor.ex:906
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:952
#: lib/bds/tui.ex:960
#: lib/bds/tui.ex:1762
#: lib/bds/tui.ex:1172
#: lib/bds/tui.ex:1175
#: lib/bds/tui.ex:1178
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:2035
#, elixir-autogen, elixir-format
msgid "AI Suggestions"
msgstr "Suggerimenti IA"
@@ -575,7 +575,7 @@ msgid "Collapse unchanged diff hunks"
msgstr "Comprimi i blocchi diff invariati"
#: lib/bds/desktop/shell_live/overlay_manager.ex:423
#: lib/bds/tui.ex:1858
#: lib/bds/tui.ex:2131
#, elixir-autogen, elixir-format
msgid "Command completed"
msgstr "Comando completato"
@@ -593,7 +593,7 @@ msgstr "Conferma"
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375
#: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:1228
#: lib/bds/tui.ex:1468
#: lib/bds/ui/settings_form.ex:137
#: lib/bds/ui/sidebar.ex:801
#, elixir-autogen, elixir-format
@@ -1040,7 +1040,7 @@ msgid "Filename"
msgstr "Nome file"
#: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:1822
#: lib/bds/tui.ex:2095
#, elixir-autogen, elixir-format
msgid "Fill Missing Translations"
msgstr "Completa traduzioni mancanti"
@@ -1051,7 +1051,7 @@ msgid "Find"
msgstr "Trova"
#: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:1825
#: lib/bds/tui.ex:2098
#, elixir-autogen, elixir-format
msgid "Find Duplicate Posts"
msgstr "Trova post duplicati"
@@ -1078,14 +1078,14 @@ msgid "Gallery"
msgstr "Galleria"
#: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:1806
#: lib/bds/tui.ex:2079
#, elixir-autogen, elixir-format
msgid "Generate Site"
msgstr "Genera sito"
#: lib/bds/desktop/shell_live.ex:792
#: lib/bds/desktop/shell_live/socket_state.ex:109
#: lib/bds/tui.ex:1671
#: lib/bds/tui.ex:1944
#: lib/bds/ui/sidebar.ex:826
#, elixir-autogen, elixir-format
msgid "Git"
@@ -1404,9 +1404,9 @@ msgstr "Numero massimo di post per pagina"
#: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:1666
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:1939
#: lib/bds/tui.ex:2160
#: lib/bds/tui.ex:2163
#: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:578
@@ -1435,6 +1435,7 @@ msgid "Merge"
msgstr "Unisci"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78
#: lib/bds/tui.ex:1926
#: lib/bds/ui/sidebar.ex:787
#, elixir-autogen, elixir-format
msgid "Merge Tags"
@@ -1449,11 +1450,11 @@ msgstr "Metadati"
#: 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:448
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:284
#: lib/bds/tui.ex:295
#: lib/bds/tui.ex:1421
#: lib/bds/tui.ex:1803
#: lib/bds/tui.ex:285
#: lib/bds/tui.ex:291
#: lib/bds/tui.ex:302
#: lib/bds/tui.ex:1663
#: lib/bds/tui.ex:2076
#: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format
msgid "Metadata Diff"
@@ -1499,7 +1500,7 @@ msgstr "Nuova pagina"
#: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:232
#: lib/bds/tui.ex:238
#, elixir-autogen, elixir-format
msgid "New Post"
msgstr "Nuovo post"
@@ -1787,8 +1788,8 @@ msgid "Open Data Folder"
msgstr "Apri cartella dati"
#: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:801
#: lib/bds/tui.ex:806
#: lib/bds/tui.ex:1019
#: lib/bds/tui.ex:1024
#, elixir-autogen, elixir-format
msgid "Open Existing Blog"
msgstr "Apri blog esistente"
@@ -1800,7 +1801,7 @@ msgid "Open Settings"
msgstr "Apri Impostazioni"
#: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:1827
#: lib/bds/tui.ex:2100
#, elixir-autogen, elixir-format
msgid "Open in Browser"
msgstr "Apri nel browser"
@@ -1949,8 +1950,8 @@ msgstr "Articolo salvato"
#: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:1665
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1938
#: lib/bds/tui.ex:1953
#: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format
@@ -2010,8 +2011,8 @@ msgstr "Progetto e pubblicazione"
#: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:714
#: lib/bds/tui.ex:719
#: lib/bds/tui.ex:932
#: lib/bds/tui.ex:937
#, elixir-autogen, elixir-format
msgid "Projects"
msgstr "Progetti"
@@ -2079,15 +2080,15 @@ msgid "Ready to import:"
msgstr "Pronto per importare:"
#: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:798
#: lib/bds/tui.ex:1807
#: lib/bds/tui.ex:1016
#: lib/bds/tui.ex:2080
#, elixir-autogen, elixir-format
msgid "Rebuild Database"
msgstr "Ricostruisci database"
#: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:1811
#: lib/bds/tui.ex:2084
#, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index"
msgstr "Ricostruisci indice embeddings"
@@ -2145,7 +2146,7 @@ msgid "Refresh Translation"
msgstr "Aggiorna traduzione"
#: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:1814
#: lib/bds/tui.ex:2087
#, elixir-autogen, elixir-format
msgid "Regenerate Calendar"
msgstr "Rigenera calendario"
@@ -2156,7 +2157,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr "Rigenera miniature mancanti"
#: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:1808
#: lib/bds/tui.ex:2081
#, elixir-autogen, elixir-format
msgid "Reindex Text"
msgstr "Reindicizza testo"
@@ -2344,7 +2345,7 @@ msgstr "Le capacità di scripting sono configurate a livello applicativo nella r
#: lib/bds/desktop/shell_live/script_editor.ex:216
#: lib/bds/desktop/shell_live/script_editor.ex:219
#: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:1668
#: lib/bds/tui.ex:1941
#: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115
@@ -2451,7 +2452,7 @@ msgstr "Somiglianza semantica"
#: lib/bds/desktop/shell_live/settings_editor/project_settings.ex:60
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11
#: lib/bds/tui.ex:1670
#: lib/bds/tui.ex:1943
#: lib/bds/ui/registry.ex:86
#: lib/bds/ui/registry.ex:101
#: lib/bds/ui/sidebar.ex:795
@@ -2475,9 +2476,9 @@ msgid "Site"
msgstr "Sito"
#: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:313
#: lib/bds/tui.ex:1426
#: lib/bds/tui.ex:318
#: lib/bds/tui.ex:320
#: lib/bds/tui.ex:1668
#: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format
msgid "Site Validation"
@@ -2574,6 +2575,7 @@ msgid "System Prompt"
msgstr "Prompt di sistema"
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16
#: lib/bds/tui.ex:1917
#: lib/bds/ui/sidebar.ex:785
#, elixir-autogen, elixir-format
msgid "Tag Cloud"
@@ -2595,12 +2597,13 @@ msgstr "Nome del tag"
#: lib/bds/desktop/shell_live/index.html.heex:325
#: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:161
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:158
#: lib/bds/desktop/shell_live/tags_editor.ex:104
#: lib/bds/desktop/shell_live/tags_editor.ex:208
#: 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:99
#: lib/bds/desktop/shell_live/tags_editor.ex:203
#: lib/bds/desktop/shell_live/tags_editor.ex:217
#: lib/bds/desktop/shell_live/tags_editor.ex:248
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:1669
#: lib/bds/tui.ex:1920
#: lib/bds/tui.ex:1942
#: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289
@@ -2612,7 +2615,7 @@ msgstr "Tag"
#: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "Tasks"
msgstr "Attività"
@@ -2658,7 +2661,7 @@ msgstr "La sintassi del template è valida"
#: lib/bds/desktop/shell_live/template_editor.ex:171
#: lib/bds/desktop/shell_live/template_editor.ex:176
#: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:1667
#: lib/bds/tui.ex:1940
#: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122
@@ -2882,7 +2885,7 @@ msgid "Updated URLs"
msgstr "URL aggiornati"
#: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:1826
#: lib/bds/tui.ex:2099
#, elixir-autogen, elixir-format
msgid "Upload Site"
msgstr "Carica sito"
@@ -2910,13 +2913,13 @@ msgid "Validate"
msgstr "Valida"
#: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:1804
#: lib/bds/tui.ex:2077
#, elixir-autogen, elixir-format
msgid "Validate Site"
msgstr "Valida sito"
#: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:1817
#: lib/bds/tui.ex:2090
#, elixir-autogen, elixir-format
msgid "Validate Translations"
msgstr "Valida traduzioni"
@@ -3389,15 +3392,15 @@ msgstr "Modifiche"
#: lib/bds/desktop/shell_live/git_handler.ex:46
#: lib/bds/desktop/shell_live/git_handler.ex:52
#: lib/bds/desktop/shell_live/sidebar_components.ex:556
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:343
#: lib/bds/tui.ex:341
#: lib/bds/tui.ex:347
#: lib/bds/tui.ex:350
#, elixir-autogen, elixir-format
msgid "Commit"
msgstr "Commit"
#: lib/bds/desktop/shell_live/sidebar_components.ex:555
#: lib/bds/tui.ex:1248
#: lib/bds/tui.ex:1490
#, elixir-autogen, elixir-format
msgid "Commit message"
msgstr "Messaggio di commit"
@@ -3421,7 +3424,7 @@ msgid "Fetch"
msgstr "Recupera"
#: lib/bds/desktop/shell_live/sidebar_components.ex:586
#: lib/bds/tui.ex:1083
#: lib/bds/tui.ex:1309
#, elixir-autogen, elixir-format
msgid "History"
msgstr "Cronologia"
@@ -3469,7 +3472,7 @@ msgstr "Pulisci LFS"
#: lib/bds/desktop/shell_live/git_handler.ex:17
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/tui.ex:966
#: lib/bds/tui.ex:1192
#, elixir-autogen, elixir-format
msgid "Pull"
msgstr "Pull"
@@ -3477,7 +3480,7 @@ msgstr "Pull"
#: lib/bds/desktop/shell_live/git_handler.ex:18
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/tui.ex:967
#: lib/bds/tui.ex:1193
#, elixir-autogen, elixir-format
msgid "Push"
msgstr "Push"
@@ -3590,7 +3593,7 @@ msgid "Suggested tags"
msgstr "Tag suggeriti"
#: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:1805
#: lib/bds/tui.ex:2078
#, elixir-autogen, elixir-format
msgid "Force Render Site"
msgstr "Forza la rigenerazione del sito"
@@ -3687,83 +3690,83 @@ msgstr "OK"
msgid "The endpoint returned no models. You can still type a model name manually."
msgstr "L'endpoint non ha restituito alcun modello. Puoi comunque digitare manualmente il nome di un modello."
#: lib/bds/tui.ex:1763
#: lib/bds/tui.ex:2036
#, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr "L'IA non è disponibile in modalità aereo senza un endpoint locale."
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:2163
#, elixir-autogen, elixir-format
msgid "Could not load this file."
msgstr "Impossibile caricare questo file."
#: lib/bds/tui.ex:243
#: lib/bds/tui.ex:250
#, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet."
msgstr "La modifica di questo elemento non è ancora disponibile nell'interfaccia del terminale."
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:1175
#, elixir-autogen, elixir-format
msgid "No suggestions returned."
msgstr "Nessun suggerimento ricevuto."
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:2160
#, elixir-autogen, elixir-format
msgid "Only images can be previewed."
msgstr "Solo le immagini possono essere visualizzate in anteprima."
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1953
#, elixir-autogen, elixir-format
msgid "Post not found."
msgstr "Post non trovato."
#: lib/bds/tui.ex:1183
#: lib/bds/tui.ex:1423
#, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}."
msgstr "Premi Invio per l'anteprima di %{name}."
#: lib/bds/tui.ex:1733
#: lib/bds/tui.ex:2006
#, elixir-autogen, elixir-format
msgid "Published."
msgstr "Pubblicato."
#: lib/bds/tui.ex:1749
#: lib/bds/tui.ex:2022
#, elixir-autogen, elixir-format
msgid "Save before switching languages."
msgstr "Salva prima di cambiare lingua."
#: lib/bds/tui.ex:533
#: lib/bds/tui.ex:1734
#: lib/bds/tui.ex:540
#: lib/bds/tui.ex:2007
#, elixir-autogen, elixir-format
msgid "Saved."
msgstr "Salvato."
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:1426
#, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it."
msgstr "Seleziona una voce e premi Invio per aprirla."
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:1172
#, elixir-autogen, elixir-format
msgid "Suggestions applied."
msgstr "Suggerimenti applicati."
#: lib/bds/tui.ex:1198
#: lib/bds/tui.ex:1438
#, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)"
msgstr "Titolo (ctrl+t per modificare)"
#: lib/bds/tui.ex:1197
#: lib/bds/tui.ex:1437
#, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)"
msgstr "Titolo (modifica — Invio per confermare)"
#: lib/bds/tui.ex:1250
#: lib/bds/tui.ex:1492
#, elixir-autogen, elixir-format
msgid "Working…"
msgstr "Elaborazione…"
#: lib/bds/tui.ex:1272
#: lib/bds/tui.ex:1514
#, elixir-autogen, elixir-format
msgid "esc to close"
msgstr "esc per chiudere"
@@ -3800,148 +3803,148 @@ msgstr "Indirizzo del server (user@host o user@host:port), autenticazione a chia
msgid "Use the form user@host or user@host:port."
msgstr "Usa il formato user@host o user@host:port."
#: lib/bds/tui.ex:1217
#: lib/bds/tui.ex:1457
#, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)"
msgstr "Anteprima (ctrl+e per modificare)"
#: lib/bds/tui.ex:1529
#: lib/bds/tui.ex:1771
#, 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"
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:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "All tasks finished."
msgstr "Tutte le attività sono terminate."
#: lib/bds/tui.ex:1298
#: lib/bds/tui.ex:1540
#, elixir-autogen, elixir-format
msgid "Commands — esc to close"
msgstr "Comandi — esc per chiudere"
#: lib/bds/tui.ex:823
#: lib/bds/tui.ex:1041
#, elixir-autogen, elixir-format
msgid "Unknown command."
msgstr "Comando sconosciuto."
#: lib/bds/tui.ex:1288
#: lib/bds/tui.ex:1530
#, elixir-autogen, elixir-format
msgid "[report/apply in GUI]"
msgstr "[report/applicazione nella GUI]"
#: lib/bds/tui.ex:1437
#: lib/bds/tui.ex:1679
#, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files"
msgstr "%{diffs} differenze · %{orphans} file orfani"
#: lib/bds/tui.ex:1469
#: lib/bds/tui.ex:1711
#, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}"
msgstr "Attesi %{expected} · Esistenti %{existing}"
#: lib/bds/tui.ex:1486
#: lib/bds/tui.ex:1728
#, elixir-autogen, elixir-format
msgid "Extra files (will be removed):"
msgstr "File in eccesso (verranno rimossi):"
#: lib/bds/tui.ex:1482
#: lib/bds/tui.ex:1724
#, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):"
msgstr "Pagine mancanti (verranno generate):"
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:318
#, elixir-autogen, elixir-format
msgid "Nothing to apply."
msgstr "Niente da applicare."
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:285
#, elixir-autogen, elixir-format
msgid "Nothing to repair."
msgstr "Niente da riparare."
#: lib/bds/tui.ex:1460
#: lib/bds/tui.ex:1702
#, elixir-autogen, elixir-format
msgid "Orphan files (not in database):"
msgstr "File orfani (non presenti nel database):"
#: lib/bds/tui.ex:1476
#: lib/bds/tui.ex:1718
#, elixir-autogen, elixir-format
msgid "Sitemap changed."
msgstr "Sitemap modificata."
#: lib/bds/tui.ex:1490
#: lib/bds/tui.ex:1732
#, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):"
msgstr "Post aggiornati (verranno rigenerati):"
#: lib/bds/tui.ex:1427
#: lib/bds/tui.ex:1669
#, elixir-autogen, elixir-format
msgid "enter apply changes · esc close"
msgstr "invio applica le modifiche · esc chiudi"
#: lib/bds/tui.ex:1422
#: lib/bds/tui.ex:1664
#, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close"
msgstr "invio ripara tutto dai file · esc chiudi"
#: lib/bds/tui.ex:788
#: lib/bds/tui.ex:1006
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr "Blog importato"
#: lib/bds/tui.ex:807
#: lib/bds/tui.ex:1025
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr "Non è una cartella: %{path}"
#: lib/bds/tui.ex:1364
#: lib/bds/tui.ex:1606
#, 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:715
#: lib/bds/tui.ex:933
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr "Passato a %{name}."
#: lib/bds/tui.ex:1392
#: lib/bds/tui.ex:1634
#, elixir-autogen, elixir-format
msgid "Matching folders"
msgstr "Cartelle corrispondenti"
#: lib/bds/tui.ex:1330
#: lib/bds/tui.ex:1572
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · tab complete · enter open · esc back"
msgstr "Apri blog esistente — digita il percorso di una cartella · tab completa · invio apri · esc indietro"
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:341
#, elixir-autogen, elixir-format
msgid "Commit message required."
msgstr "Messaggio di commit obbligatorio."
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:347
#, elixir-autogen, elixir-format
msgid "Committed."
msgstr "Commit eseguito."
#: lib/bds/tui.ex:1174
#: lib/bds/tui.ex:1414
#, elixir-autogen, elixir-format
msgid "Diff (pgup/pgdn scroll)"
msgstr "Diff (pgup/pgdn per scorrere)"
#: lib/bds/tui.ex:1557
#: lib/bds/tui.ex:1799
#, elixir-autogen, elixir-format
msgid "No changes."
msgstr "Nessuna modifica."
#: lib/bds/tui.ex:400
#: lib/bds/tui.ex:407
#, elixir-autogen, elixir-format
msgid "No diff for this file."
msgstr "Nessun diff per questo file."
#: lib/bds/tui.ex:388
#: lib/bds/tui.ex:1161
#: lib/bds/tui.ex:395
#: lib/bds/tui.ex:1401
#, elixir-autogen, elixir-format
msgid "Not a git repository."
msgstr "Non è un repository git."
@@ -4036,12 +4039,12 @@ msgstr "Mostra titolo"
msgid "Theme"
msgstr "Tema"
#: lib/bds/tui.ex:1145
#: lib/bds/tui.ex:1371
#, elixir-autogen, elixir-format
msgid "enter edit · ctrl+s save · esc close"
msgstr "invio modifica · ctrl+s salva · esc chiudi"
#: lib/bds/tui.ex:1508
#: lib/bds/tui.ex:1750
#, elixir-autogen, elixir-format
msgid "enter edit/toggle/cycle · ctrl+s save · esc close · ctrl+q quit"
msgstr "invio modifica/attiva/cicla · ctrl+s salva · esc chiudi · ctrl+q esci"
@@ -4051,12 +4054,12 @@ msgstr "invio modifica/attiva/cicla · ctrl+s salva · esc chiudi · ctrl+q esci
msgid "not supported yet"
msgstr "non ancora supportato"
#: lib/bds/tui.ex:1515
#: lib/bds/tui.ex:1757
#, elixir-autogen, elixir-format
msgid "c commit · u pull · s push · enter jump to file · pgup/pgdn scroll diff · 1-7 views · ctrl+q quit"
msgstr "c commit · u pull · s push · invio vai al file · pgup/pgdn scorri il diff · 1-7 viste · ctrl+q esci"
#: lib/bds/tui.ex:1522
#: lib/bds/tui.ex:1764
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-7 views · p projects · / search · : commands (:? help) · r refresh · ctrl+q quit"
msgstr "invio apri · n nuovo post · 1-7 viste · p progetti · / cerca · : comandi (:? aiuto) · r aggiorna · ctrl+q esci"
@@ -4066,8 +4069,6 @@ msgstr "invio apri · n nuovo post · 1-7 viste · p progetti · / cerca · : co
msgid "CLI tool installed to %{path}"
msgstr "Strumento CLI installato in %{path}"
#: lib/bds/desktop/shell_live/settings_editor.ex:75
#: lib/bds/desktop/shell_live/settings_editor.ex:78
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:386
#: lib/bds/ui/settings_form.ex:223
#, elixir-autogen, elixir-format
@@ -4099,3 +4100,113 @@ msgstr "Lo strumento CLI può essere installato solo dall'applicazione pacchetti
#, elixir-autogen, elixir-format
msgid "Unknown settings action"
msgstr "Azione delle impostazioni sconosciuta"
#: lib/bds/ui/tags_panel.ex:114
#, elixir-autogen, elixir-format
msgid "Colour of %{name}: %{color}"
msgstr "Colore di %{name}: %{color}"
#: lib/bds/tui.ex:708
#, elixir-autogen, elixir-format
msgid "Delete %{name} (used by %{count} posts)? Press y to confirm."
msgstr "Eliminare %{name} (usato da %{count} articoli)? Premi y per confermare."
#: lib/bds/tui.ex:656
#, elixir-autogen, elixir-format
msgid "Delete cancelled"
msgstr "Eliminazione annullata"
#: lib/bds/ui/tags_panel.ex:171
#, elixir-autogen, elixir-format
msgid "Mark at least two tags to merge"
msgstr "Contrassegna almeno due tag da unire"
#: lib/bds/ui/tags_panel.ex:177
#, elixir-autogen, elixir-format
msgid "Merged %{count} tags into %{name}"
msgstr "%{count} tag uniti in %{name}"
#: lib/bds/tui.ex:668
#, elixir-autogen, elixir-format
msgid "New tag"
msgstr "Nuovo tag"
#: lib/bds/tui.ex:681
#, elixir-autogen, elixir-format
msgid "Rename tag"
msgstr "Rinomina tag"
#: lib/bds/ui/tags_panel.ex:76
#, elixir-autogen, elixir-format
msgid "Tag %{name} created"
msgstr "Tag %{name} creato"
#: lib/bds/ui/tags_panel.ex:149
#, elixir-autogen, elixir-format
msgid "Tag %{name} deleted"
msgstr "Tag %{name} eliminato"
#: lib/bds/ui/tags_panel.ex:201
#, elixir-autogen, elixir-format
msgid "Tag %{name} not found"
msgstr "Tag %{name} non trovato"
#: lib/bds/ui/tags_panel.ex:88
#, elixir-autogen, elixir-format
msgid "Tag name cannot be empty"
msgstr "Il nome del tag non può essere vuoto"
#: lib/bds/ui/tags_panel.ex:227
#, elixir-autogen, elixir-format
msgid "Tag not found"
msgstr "Tag non trovato"
#: lib/bds/ui/tags_panel.ex:96
#, elixir-autogen, elixir-format
msgid "Tag renamed to %{name}"
msgstr "Tag rinominato in %{name}"
#: lib/bds/ui/tags_panel.ex:91
#, elixir-autogen, elixir-format
msgid "Tag unchanged"
msgstr "Tag invariato"
#: lib/bds/ui/tags_panel.ex:192
#, elixir-autogen, elixir-format
msgid "Tags synced from posts (%{count} total)"
msgstr "Tag sincronizzati dagli articoli (%{count} in totale)"
#: lib/bds/ui/tags_panel.ex:134
#, elixir-autogen, elixir-format
msgid "Template of %{name}: %{template}"
msgstr "Template di %{name}: %{template}"
#: lib/bds/ui/tags_panel.ex:168
#, elixir-autogen, elixir-format
msgid "The merge target must be one of the marked tags"
msgstr "La destinazione dell'unione deve essere uno dei tag contrassegnati"
#: lib/bds/ui/tags_panel.ex:136
#, elixir-autogen, elixir-format
msgid "default"
msgstr "predefinito"
#: lib/bds/tui.ex:1917
#, elixir-autogen, elixir-format
msgid "esc close"
msgstr "esc chiudi"
#: lib/bds/tui.ex:1922
#, elixir-autogen, elixir-format
msgid "n new · enter rename · c colour · t template · d delete · s sync · esc close"
msgstr "n nuovo · invio rinomina · c colore · t template · d elimina · s sincronizza · esc chiudi"
#: lib/bds/ui/tags_panel.ex:116
#, elixir-autogen, elixir-format
msgid "none"
msgstr "nessuno"
#: lib/bds/tui.ex:1927
#, elixir-autogen, elixir-format
msgid "space mark · m merge into selected · esc close"
msgstr "spazio contrassegna · m unisci nel selezionato · esc chiudi"

View File

@@ -95,11 +95,11 @@ msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:72
#: lib/bds/desktop/shell_live/post_editor.ex:906
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:952
#: lib/bds/tui.ex:960
#: lib/bds/tui.ex:1762
#: lib/bds/tui.ex:1172
#: lib/bds/tui.ex:1175
#: lib/bds/tui.ex:1178
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:2035
#, elixir-autogen, elixir-format
msgid "AI Suggestions"
msgstr ""
@@ -588,7 +588,7 @@ msgid "Collapse unchanged diff hunks"
msgstr ""
#: lib/bds/desktop/shell_live/overlay_manager.ex:423
#: lib/bds/tui.ex:1858
#: lib/bds/tui.ex:2131
#, elixir-autogen, elixir-format
msgid "Command completed"
msgstr ""
@@ -606,7 +606,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375
#: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34
#: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32
#: lib/bds/tui.ex:1228
#: lib/bds/tui.ex:1468
#: lib/bds/ui/settings_form.ex:137
#: lib/bds/ui/sidebar.ex:801
#, elixir-autogen, elixir-format
@@ -1053,7 +1053,7 @@ msgid "Filename"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:254
#: lib/bds/tui.ex:1822
#: lib/bds/tui.ex:2095
#, elixir-autogen, elixir-format
msgid "Fill Missing Translations"
msgstr ""
@@ -1064,7 +1064,7 @@ msgid "Find"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:255
#: lib/bds/tui.ex:1825
#: lib/bds/tui.ex:2098
#, elixir-autogen, elixir-format
msgid "Find Duplicate Posts"
msgstr ""
@@ -1091,14 +1091,14 @@ msgid "Gallery"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:256
#: lib/bds/tui.ex:1806
#: lib/bds/tui.ex:2079
#, elixir-autogen, elixir-format
msgid "Generate Site"
msgstr ""
#: lib/bds/desktop/shell_live.ex:792
#: lib/bds/desktop/shell_live/socket_state.ex:109
#: lib/bds/tui.ex:1671
#: lib/bds/tui.ex:1944
#: lib/bds/ui/sidebar.ex:826
#, elixir-autogen, elixir-format
msgid "Git"
@@ -1417,9 +1417,9 @@ msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:762
#: lib/bds/desktop/shell_live/sidebar_components.ex:654
#: lib/bds/desktop/shell_live/sidebar_delete.ex:175
#: lib/bds/tui.ex:1666
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:1939
#: lib/bds/tui.ex:2160
#: lib/bds/tui.ex:2163
#: lib/bds/ui/registry.ex:30
#: lib/bds/ui/registry.ex:100
#: lib/bds/ui/sidebar.ex:578
@@ -1448,6 +1448,7 @@ msgid "Merge"
msgstr ""
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78
#: lib/bds/tui.ex:1926
#: lib/bds/ui/sidebar.ex:787
#, elixir-autogen, elixir-format
msgid "Merge Tags"
@@ -1462,11 +1463,11 @@ msgstr ""
#: 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:448
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:284
#: lib/bds/tui.ex:295
#: lib/bds/tui.ex:1421
#: lib/bds/tui.ex:1803
#: lib/bds/tui.ex:285
#: lib/bds/tui.ex:291
#: lib/bds/tui.ex:302
#: lib/bds/tui.ex:1663
#: lib/bds/tui.ex:2076
#: lib/bds/ui/registry.ex:111
#, elixir-autogen, elixir-format
msgid "Metadata Diff"
@@ -1512,7 +1513,7 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:214
#: lib/bds/desktop/shell_live/sidebar_create.ex:41
#: lib/bds/tui.ex:232
#: lib/bds/tui.ex:238
#, elixir-autogen, elixir-format
msgid "New Post"
msgstr ""
@@ -1800,8 +1801,8 @@ msgid "Open Data Folder"
msgstr ""
#: lib/bds/desktop/shell_live/index.html.heex:644
#: lib/bds/tui.ex:801
#: lib/bds/tui.ex:806
#: lib/bds/tui.ex:1019
#: lib/bds/tui.ex:1024
#, elixir-autogen, elixir-format
msgid "Open Existing Blog"
msgstr ""
@@ -1813,7 +1814,7 @@ msgid "Open Settings"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:217
#: lib/bds/tui.ex:1827
#: lib/bds/tui.ex:2100
#, elixir-autogen, elixir-format
msgid "Open in Browser"
msgstr ""
@@ -1962,8 +1963,8 @@ msgstr ""
#: lib/bds/desktop/menu_bar.ex:233
#: lib/bds/desktop/shell_live/misc_editor.ex:664
#: lib/bds/desktop/shell_live/misc_editor.ex:761
#: lib/bds/tui.ex:1665
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1938
#: lib/bds/tui.ex:1953
#: lib/bds/ui/registry.ex:14
#: lib/bds/ui/sidebar.ex:271
#, elixir-autogen, elixir-format
@@ -2023,8 +2024,8 @@ msgstr ""
#: lib/bds/desktop/shell_live/chat_surface.ex:15
#: lib/bds/desktop/shell_live/index.html.heex:623
#: lib/bds/tui.ex:714
#: lib/bds/tui.ex:719
#: lib/bds/tui.ex:932
#: lib/bds/tui.ex:937
#, elixir-autogen, elixir-format
msgid "Projects"
msgstr ""
@@ -2092,15 +2093,15 @@ msgid "Ready to import:"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:248
#: lib/bds/tui.ex:798
#: lib/bds/tui.ex:1807
#: lib/bds/tui.ex:1016
#: lib/bds/tui.ex:2080
#, elixir-autogen, elixir-format
msgid "Rebuild Database"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:250
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:381
#: lib/bds/tui.ex:1811
#: lib/bds/tui.ex:2084
#, elixir-autogen, elixir-format
msgid "Rebuild Embedding Index"
msgstr ""
@@ -2158,7 +2159,7 @@ msgid "Refresh Translation"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:252
#: lib/bds/tui.ex:1814
#: lib/bds/tui.ex:2087
#, elixir-autogen, elixir-format
msgid "Regenerate Calendar"
msgstr ""
@@ -2169,7 +2170,7 @@ msgid "Regenerate Missing Thumbnails"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:249
#: lib/bds/tui.ex:1808
#: lib/bds/tui.ex:2081
#, elixir-autogen, elixir-format
msgid "Reindex Text"
msgstr ""
@@ -2357,7 +2358,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/script_editor.ex:216
#: lib/bds/desktop/shell_live/script_editor.ex:219
#: lib/bds/desktop/shell_live/script_editor.ex:234
#: lib/bds/tui.ex:1668
#: lib/bds/tui.ex:1941
#: lib/bds/ui/registry.ex:38
#: lib/bds/ui/sidebar.ex:63
#: lib/bds/ui/sidebar.ex:115
@@ -2464,7 +2465,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/settings_editor/project_settings.ex:60
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11
#: lib/bds/tui.ex:1670
#: lib/bds/tui.ex:1943
#: lib/bds/ui/registry.ex:86
#: lib/bds/ui/registry.ex:101
#: lib/bds/ui/sidebar.ex:795
@@ -2488,9 +2489,9 @@ msgid "Site"
msgstr ""
#: lib/bds/desktop/shell_live/misc_editor.ex:412
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:313
#: lib/bds/tui.ex:1426
#: lib/bds/tui.ex:318
#: lib/bds/tui.ex:320
#: lib/bds/tui.ex:1668
#: lib/bds/ui/registry.ex:125
#, elixir-autogen, elixir-format
msgid "Site Validation"
@@ -2587,6 +2588,7 @@ msgid "System Prompt"
msgstr ""
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16
#: lib/bds/tui.ex:1917
#: lib/bds/ui/sidebar.ex:785
#, elixir-autogen, elixir-format
msgid "Tag Cloud"
@@ -2608,12 +2610,13 @@ msgstr ""
#: lib/bds/desktop/shell_live/index.html.heex:325
#: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:161
#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:158
#: lib/bds/desktop/shell_live/tags_editor.ex:104
#: lib/bds/desktop/shell_live/tags_editor.ex:208
#: 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:99
#: lib/bds/desktop/shell_live/tags_editor.ex:203
#: lib/bds/desktop/shell_live/tags_editor.ex:217
#: lib/bds/desktop/shell_live/tags_editor.ex:248
#: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11
#: lib/bds/tui.ex:1669
#: lib/bds/tui.ex:1920
#: lib/bds/tui.ex:1942
#: lib/bds/ui/registry.ex:54
#: lib/bds/ui/registry.ex:103
#: lib/bds/ui/sidebar.ex:289
@@ -2625,7 +2628,7 @@ msgstr ""
#: lib/bds/desktop/shell_live.ex:786
#: lib/bds/desktop/shell_live/panel_renderer.ex:54
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "Tasks"
msgstr ""
@@ -2671,7 +2674,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/template_editor.ex:171
#: lib/bds/desktop/shell_live/template_editor.ex:176
#: lib/bds/desktop/shell_live/template_editor.ex:191
#: lib/bds/tui.ex:1667
#: lib/bds/tui.ex:1940
#: lib/bds/ui/registry.ex:46
#: lib/bds/ui/sidebar.ex:71
#: lib/bds/ui/sidebar.ex:122
@@ -2895,7 +2898,7 @@ msgid "Updated URLs"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:259
#: lib/bds/tui.ex:1826
#: lib/bds/tui.ex:2099
#, elixir-autogen, elixir-format
msgid "Upload Site"
msgstr ""
@@ -2923,13 +2926,13 @@ msgid "Validate"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:258
#: lib/bds/tui.ex:1804
#: lib/bds/tui.ex:2077
#, elixir-autogen, elixir-format
msgid "Validate Site"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:253
#: lib/bds/tui.ex:1817
#: lib/bds/tui.ex:2090
#, elixir-autogen, elixir-format
msgid "Validate Translations"
msgstr ""
@@ -3402,15 +3405,15 @@ msgstr ""
#: lib/bds/desktop/shell_live/git_handler.ex:46
#: lib/bds/desktop/shell_live/git_handler.ex:52
#: lib/bds/desktop/shell_live/sidebar_components.ex:556
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:343
#: lib/bds/tui.ex:341
#: lib/bds/tui.ex:347
#: lib/bds/tui.ex:350
#, elixir-autogen, elixir-format
msgid "Commit"
msgstr ""
#: lib/bds/desktop/shell_live/sidebar_components.ex:555
#: lib/bds/tui.ex:1248
#: lib/bds/tui.ex:1490
#, elixir-autogen, elixir-format
msgid "Commit message"
msgstr ""
@@ -3434,7 +3437,7 @@ msgid "Fetch"
msgstr ""
#: lib/bds/desktop/shell_live/sidebar_components.ex:586
#: lib/bds/tui.ex:1083
#: lib/bds/tui.ex:1309
#, elixir-autogen, elixir-format
msgid "History"
msgstr ""
@@ -3482,7 +3485,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/git_handler.ex:17
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/desktop/shell_live/sidebar_components.ex:543
#: lib/bds/tui.ex:966
#: lib/bds/tui.ex:1192
#, elixir-autogen, elixir-format
msgid "Pull"
msgstr ""
@@ -3490,7 +3493,7 @@ msgstr ""
#: lib/bds/desktop/shell_live/git_handler.ex:18
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/desktop/shell_live/sidebar_components.ex:544
#: lib/bds/tui.ex:967
#: lib/bds/tui.ex:1193
#, elixir-autogen, elixir-format
msgid "Push"
msgstr ""
@@ -3603,7 +3606,7 @@ msgid "Suggested tags"
msgstr ""
#: lib/bds/desktop/menu_bar.ex:257
#: lib/bds/tui.ex:1805
#: lib/bds/tui.ex:2078
#, elixir-autogen, elixir-format
msgid "Force Render Site"
msgstr ""
@@ -3700,83 +3703,83 @@ msgstr ""
msgid "The endpoint returned no models. You can still type a model name manually."
msgstr ""
#: lib/bds/tui.ex:1763
#: lib/bds/tui.ex:2036
#, elixir-autogen, elixir-format
msgid "AI is unavailable in airplane mode without a local endpoint."
msgstr ""
#: lib/bds/tui.ex:1890
#: lib/bds/tui.ex:2163
#, elixir-autogen, elixir-format
msgid "Could not load this file."
msgstr ""
#: lib/bds/tui.ex:243
#: lib/bds/tui.ex:250
#, elixir-autogen, elixir-format
msgid "Editing this item is not available in the terminal UI yet."
msgstr ""
#: lib/bds/tui.ex:949
#: lib/bds/tui.ex:1175
#, elixir-autogen, elixir-format
msgid "No suggestions returned."
msgstr ""
#: lib/bds/tui.ex:1887
#: lib/bds/tui.ex:2160
#, elixir-autogen, elixir-format
msgid "Only images can be previewed."
msgstr ""
#: lib/bds/tui.ex:1680
#: lib/bds/tui.ex:1953
#, elixir-autogen, elixir-format
msgid "Post not found."
msgstr ""
#: lib/bds/tui.ex:1183
#: lib/bds/tui.ex:1423
#, elixir-autogen, elixir-format
msgid "Press enter to preview %{name}."
msgstr ""
#: lib/bds/tui.ex:1733
#: lib/bds/tui.ex:2006
#, elixir-autogen, elixir-format
msgid "Published."
msgstr ""
#: lib/bds/tui.ex:1749
#: lib/bds/tui.ex:2022
#, elixir-autogen, elixir-format
msgid "Save before switching languages."
msgstr ""
#: lib/bds/tui.ex:533
#: lib/bds/tui.ex:1734
#: lib/bds/tui.ex:540
#: lib/bds/tui.ex:2007
#, elixir-autogen, elixir-format
msgid "Saved."
msgstr ""
#: lib/bds/tui.ex:1186
#: lib/bds/tui.ex:1426
#, elixir-autogen, elixir-format
msgid "Select an entry and press enter to open it."
msgstr ""
#: lib/bds/tui.ex:946
#: lib/bds/tui.ex:1172
#, elixir-autogen, elixir-format
msgid "Suggestions applied."
msgstr ""
#: lib/bds/tui.ex:1198
#: lib/bds/tui.ex:1438
#, elixir-autogen, elixir-format
msgid "Title (ctrl+t to edit)"
msgstr ""
#: lib/bds/tui.ex:1197
#: lib/bds/tui.ex:1437
#, elixir-autogen, elixir-format
msgid "Title (editing — enter to confirm)"
msgstr ""
#: lib/bds/tui.ex:1250
#: lib/bds/tui.ex:1492
#, elixir-autogen, elixir-format
msgid "Working…"
msgstr ""
#: lib/bds/tui.ex:1272
#: lib/bds/tui.ex:1514
#, elixir-autogen, elixir-format
msgid "esc to close"
msgstr ""
@@ -3813,148 +3816,148 @@ msgstr ""
msgid "Use the form user@host or user@host:port."
msgstr ""
#: lib/bds/tui.ex:1217
#: lib/bds/tui.ex:1457
#, elixir-autogen, elixir-format
msgid "Preview (ctrl+e to edit)"
msgstr ""
#: lib/bds/tui.ex:1529
#: lib/bds/tui.ex:1771
#, 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"
msgstr ""
#: lib/bds/tui.ex:994
#: lib/bds/tui.ex:1220
#, elixir-autogen, elixir-format
msgid "All tasks finished."
msgstr ""
#: lib/bds/tui.ex:1298
#: lib/bds/tui.ex:1540
#, elixir-autogen, elixir-format
msgid "Commands — esc to close"
msgstr ""
#: lib/bds/tui.ex:823
#: lib/bds/tui.ex:1041
#, elixir-autogen, elixir-format
msgid "Unknown command."
msgstr ""
#: lib/bds/tui.ex:1288
#: lib/bds/tui.ex:1530
#, elixir-autogen, elixir-format
msgid "[report/apply in GUI]"
msgstr ""
#: lib/bds/tui.ex:1437
#: lib/bds/tui.ex:1679
#, elixir-autogen, elixir-format
msgid "%{diffs} differences · %{orphans} orphan files"
msgstr ""
#: lib/bds/tui.ex:1469
#: lib/bds/tui.ex:1711
#, elixir-autogen, elixir-format
msgid "Expected %{expected} · Existing %{existing}"
msgstr ""
#: lib/bds/tui.ex:1486
#: lib/bds/tui.ex:1728
#, elixir-autogen, elixir-format
msgid "Extra files (will be removed):"
msgstr ""
#: lib/bds/tui.ex:1482
#: lib/bds/tui.ex:1724
#, elixir-autogen, elixir-format
msgid "Missing pages (will be rendered):"
msgstr ""
#: lib/bds/tui.ex:311
#: lib/bds/tui.ex:318
#, elixir-autogen, elixir-format
msgid "Nothing to apply."
msgstr ""
#: lib/bds/tui.ex:278
#: lib/bds/tui.ex:285
#, elixir-autogen, elixir-format
msgid "Nothing to repair."
msgstr ""
#: lib/bds/tui.ex:1460
#: lib/bds/tui.ex:1702
#, elixir-autogen, elixir-format
msgid "Orphan files (not in database):"
msgstr ""
#: lib/bds/tui.ex:1476
#: lib/bds/tui.ex:1718
#, elixir-autogen, elixir-format
msgid "Sitemap changed."
msgstr ""
#: lib/bds/tui.ex:1490
#: lib/bds/tui.ex:1732
#, elixir-autogen, elixir-format
msgid "Updated posts (will be re-rendered):"
msgstr ""
#: lib/bds/tui.ex:1427
#: lib/bds/tui.ex:1669
#, elixir-autogen, elixir-format
msgid "enter apply changes · esc close"
msgstr ""
#: lib/bds/tui.ex:1422
#: lib/bds/tui.ex:1664
#, elixir-autogen, elixir-format
msgid "enter repair all from files · esc close"
msgstr ""
#: lib/bds/tui.ex:788
#: lib/bds/tui.ex:1006
#, elixir-autogen, elixir-format
msgid "Imported Blog"
msgstr ""
#: lib/bds/tui.ex:807
#: lib/bds/tui.ex:1025
#, elixir-autogen, elixir-format
msgid "Not a folder: %{path}"
msgstr ""
#: lib/bds/tui.ex:1364
#: lib/bds/tui.ex:1606
#, elixir-autogen, elixir-format
msgid "Projects — enter switch · o open existing · esc close"
msgstr ""
#: lib/bds/tui.ex:715
#: lib/bds/tui.ex:933
#, elixir-autogen, elixir-format
msgid "Switched to %{name}."
msgstr ""
#: lib/bds/tui.ex:1392
#: lib/bds/tui.ex:1634
#, elixir-autogen, elixir-format
msgid "Matching folders"
msgstr ""
#: lib/bds/tui.ex:1330
#: lib/bds/tui.ex:1572
#, elixir-autogen, elixir-format
msgid "Open Existing Blog — type a folder path · tab complete · enter open · esc back"
msgstr ""
#: lib/bds/tui.ex:334
#: lib/bds/tui.ex:341
#, elixir-autogen, elixir-format
msgid "Commit message required."
msgstr ""
#: lib/bds/tui.ex:340
#: lib/bds/tui.ex:347
#, elixir-autogen, elixir-format
msgid "Committed."
msgstr ""
#: lib/bds/tui.ex:1174
#: lib/bds/tui.ex:1414
#, elixir-autogen, elixir-format
msgid "Diff (pgup/pgdn scroll)"
msgstr ""
#: lib/bds/tui.ex:1557
#: lib/bds/tui.ex:1799
#, elixir-autogen, elixir-format
msgid "No changes."
msgstr ""
#: lib/bds/tui.ex:400
#: lib/bds/tui.ex:407
#, elixir-autogen, elixir-format
msgid "No diff for this file."
msgstr ""
#: lib/bds/tui.ex:388
#: lib/bds/tui.ex:1161
#: lib/bds/tui.ex:395
#: lib/bds/tui.ex:1401
#, elixir-autogen, elixir-format
msgid "Not a git repository."
msgstr ""
@@ -4049,12 +4052,12 @@ msgstr ""
msgid "Theme"
msgstr ""
#: lib/bds/tui.ex:1145
#: lib/bds/tui.ex:1371
#, elixir-autogen, elixir-format
msgid "enter edit · ctrl+s save · esc close"
msgstr ""
#: lib/bds/tui.ex:1508
#: lib/bds/tui.ex:1750
#, elixir-autogen, elixir-format
msgid "enter edit/toggle/cycle · ctrl+s save · esc close · ctrl+q quit"
msgstr ""
@@ -4064,12 +4067,12 @@ msgstr ""
msgid "not supported yet"
msgstr ""
#: lib/bds/tui.ex:1515
#: lib/bds/tui.ex:1757
#, elixir-autogen, elixir-format
msgid "c commit · u pull · s push · enter jump to file · pgup/pgdn scroll diff · 1-7 views · ctrl+q quit"
msgstr ""
#: lib/bds/tui.ex:1522
#: lib/bds/tui.ex:1764
#, elixir-autogen, elixir-format
msgid "enter open · n new post · 1-7 views · p projects · / search · : commands (:? help) · r refresh · ctrl+q quit"
msgstr ""
@@ -4079,8 +4082,6 @@ msgstr ""
msgid "CLI tool installed to %{path}"
msgstr ""
#: lib/bds/desktop/shell_live/settings_editor.ex:75
#: lib/bds/desktop/shell_live/settings_editor.ex:78
#: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:386
#: lib/bds/ui/settings_form.ex:223
#, elixir-autogen, elixir-format
@@ -4112,3 +4113,113 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Unknown settings action"
msgstr ""
#: lib/bds/ui/tags_panel.ex:114
#, elixir-autogen, elixir-format
msgid "Colour of %{name}: %{color}"
msgstr ""
#: lib/bds/tui.ex:708
#, elixir-autogen, elixir-format
msgid "Delete %{name} (used by %{count} posts)? Press y to confirm."
msgstr ""
#: lib/bds/tui.ex:656
#, elixir-autogen, elixir-format
msgid "Delete cancelled"
msgstr ""
#: lib/bds/ui/tags_panel.ex:171
#, elixir-autogen, elixir-format
msgid "Mark at least two tags to merge"
msgstr ""
#: lib/bds/ui/tags_panel.ex:177
#, elixir-autogen, elixir-format
msgid "Merged %{count} tags into %{name}"
msgstr ""
#: lib/bds/tui.ex:668
#, elixir-autogen, elixir-format
msgid "New tag"
msgstr ""
#: lib/bds/tui.ex:681
#, elixir-autogen, elixir-format
msgid "Rename tag"
msgstr ""
#: lib/bds/ui/tags_panel.ex:76
#, elixir-autogen, elixir-format
msgid "Tag %{name} created"
msgstr ""
#: lib/bds/ui/tags_panel.ex:149
#, elixir-autogen, elixir-format
msgid "Tag %{name} deleted"
msgstr ""
#: lib/bds/ui/tags_panel.ex:201
#, elixir-autogen, elixir-format
msgid "Tag %{name} not found"
msgstr ""
#: lib/bds/ui/tags_panel.ex:88
#, elixir-autogen, elixir-format
msgid "Tag name cannot be empty"
msgstr ""
#: lib/bds/ui/tags_panel.ex:227
#, elixir-autogen, elixir-format
msgid "Tag not found"
msgstr ""
#: lib/bds/ui/tags_panel.ex:96
#, elixir-autogen, elixir-format
msgid "Tag renamed to %{name}"
msgstr ""
#: lib/bds/ui/tags_panel.ex:91
#, elixir-autogen, elixir-format
msgid "Tag unchanged"
msgstr ""
#: lib/bds/ui/tags_panel.ex:192
#, elixir-autogen, elixir-format
msgid "Tags synced from posts (%{count} total)"
msgstr ""
#: lib/bds/ui/tags_panel.ex:134
#, elixir-autogen, elixir-format
msgid "Template of %{name}: %{template}"
msgstr ""
#: lib/bds/ui/tags_panel.ex:168
#, elixir-autogen, elixir-format
msgid "The merge target must be one of the marked tags"
msgstr ""
#: lib/bds/ui/tags_panel.ex:136
#, elixir-autogen, elixir-format
msgid "default"
msgstr ""
#: lib/bds/tui.ex:1917
#, elixir-autogen, elixir-format
msgid "esc close"
msgstr ""
#: lib/bds/tui.ex:1922
#, elixir-autogen, elixir-format
msgid "n new · enter rename · c colour · t template · d delete · s sync · esc close"
msgstr ""
#: lib/bds/ui/tags_panel.ex:116
#, elixir-autogen, elixir-format
msgid "none"
msgstr ""
#: lib/bds/tui.ex:1927
#, elixir-autogen, elixir-format
msgid "space mark · m merge into selected · esc close"
msgstr ""

View File

@@ -134,6 +134,26 @@ rule SettingsPanel {
ensures: SettingsFormShownEditedOrSaved()
}
rule TagsPanel {
when: TuiKeyPressed(code: "5")
-- "5" opens the tags view (issue #34), matching the GUI panel
-- numbering. The sidebar lists the same three sections as the GUI
-- tags editor (Tag Cloud, Create / Edit, Merge Tags — from
-- BDS.UI.Sidebar's tags nav view); enter opens the section in the
-- main area, all backed by BDS.UI.TagsPanel over the same BDS.Tags
-- operations as the GUI editor. Cloud lists tags with their post
-- usage counts ordered by usage; manage is alphabetical with "n"
-- (create prompt), enter (rename prompt), "c" (cycle colour through
-- the shared presets), "t" (cycle post template), "d" then "y"
-- (delete with post-count confirmation; any other key cancels) and
-- "s" (sync tags from post tags); merge marks tags with space and
-- "m" merges the marked tags into the selected one (at least two,
-- target included). Text prompts live in the status line; esc
-- cancels the prompt, then closes the panel. Domain tag events
-- reload an open panel, keeping it in sync with GUI and CLI writes.
ensures: TagsPanelShownOrEdited()
}
rule GitPanel {
when: TuiKeyPressed(code: "7")
-- "7" opens the git panel (issue #30) for content sync: the sidebar

View File

@@ -966,6 +966,143 @@ defmodule BDS.TUITest do
do: Enum.at(state.settings_form.fields, state.settings_form.selected)
end
describe "tags panel (issue #34)" do
defp open_tags_section(state, section) do
state = press(state, "5")
index =
Enum.find_index(state.items, fn
{:item, %{id: id}} -> id == "tags-" <> section
_other -> false
end)
assert index != nil
press(%{state | selected: index}, "enter")
end
defp type_text(state, text) do
text
|> String.graphemes()
|> Enum.reduce(state, fn char, acc -> press(acc, char) end)
end
defp tag_names(project_id) do
project_id |> BDS.Tags.list_tags() |> Enum.map(& &1.name)
end
test "the sidebar entries open the panel sections in the main area", %{project: project} do
{:ok, _tag} = BDS.Tags.create_tag(%{project_id: project.id, name: "elixir"})
state = open_tags_section(mount!(), "cloud")
assert state.tags_panel.section == "cloud"
assert screen_text(state) =~ "elixir (0)"
state = press(state, "esc")
assert state.tags_panel == nil
state = open_tags_section(state, "manage")
assert state.tags_panel.section == "manage"
state = open_tags_section(press(state, "esc"), "merge")
assert state.tags_panel.section == "merge"
assert screen_text(state) =~ "[ ] elixir (0)"
end
test "manage creates a tag through the n prompt", %{project: project} do
state = open_tags_section(mount!(), "manage")
state = press(state, "n")
assert state.tags_panel.input.kind == :new
state = state |> type_text("neu") |> press("enter")
assert "neu" in tag_names(project.id)
assert state.tags_panel.input == nil
assert state.status =~ "neu"
end
test "manage renames the selected tag through the enter prompt", %{project: project} do
{:ok, _tag} = BDS.Tags.create_tag(%{project_id: project.id, name: "alpha"})
state = open_tags_section(mount!(), "manage")
state = press(state, "enter")
assert state.tags_panel.input.kind == :rename
assert state.tags_panel.input.value == "alpha"
state =
Enum.reduce(1..5, state, fn _n, acc -> press(acc, "backspace") end)
_state = state |> type_text("beta") |> press("enter")
assert tag_names(project.id) == ["beta"]
end
test "manage cycles the tag colour with c", %{project: project} do
{:ok, tag} = BDS.Tags.create_tag(%{project_id: project.id, name: "colored"})
state = open_tags_section(mount!(), "manage")
_state = press(state, "c")
updated = BDS.Repo.get!(BDS.Tags.Tag, tag.id)
assert updated.color == List.first(BDS.UI.TagsPanel.colour_presets())
end
test "manage deletes only after y confirmation", %{project: project} do
{:ok, _tag} = BDS.Tags.create_tag(%{project_id: project.id, name: "doomed"})
state = open_tags_section(mount!(), "manage")
# Any other key cancels the pending delete.
state = state |> press("d") |> press("x")
assert state.tags_panel.confirm_delete == nil
assert "doomed" in tag_names(project.id)
state = state |> press("d")
assert state.tags_panel.confirm_delete == "doomed"
state = press(state, "y")
assert tag_names(project.id) == []
assert state.status =~ "doomed"
end
test "merge marks tags with space and merges them into the selection", %{project: project} do
{:ok, _one} = BDS.Tags.create_tag(%{project_id: project.id, name: "one"})
{:ok, _two} = BDS.Tags.create_tag(%{project_id: project.id, name: "two"})
{:ok, tagged_post} =
BDS.Posts.create_post(%{
project_id: project.id,
title: "Tagged",
content: "body",
tags: ["one"]
})
state = open_tags_section(mount!(), "merge")
# Mark "one", move to "two", merge — "one" is folded into "two".
_state = state |> press(" ") |> press("down") |> press("m")
assert tag_names(project.id) == ["two"]
assert BDS.Posts.get_post!(tagged_post.id).tags == ["two"]
end
test "manage syncs tags from post tags with s", %{project: project} do
{:ok, _post} =
BDS.Posts.create_post(%{
project_id: project.id,
title: "With Tags",
content: "body",
tags: ["from-post"]
})
state = open_tags_section(mount!(), "manage")
state = press(state, "s")
assert "from-post" in tag_names(project.id)
assert Enum.any?(state.tags_panel.tags, &(&1.name == "from-post"))
end
end
test "local tui mode stops the VM when the app exits" do
parent = self()
state = mount!(stop_vm_on_exit: true, stop_fun: fn -> send(parent, :vm_stopped) end)