diff --git a/SPECGAPS.md b/SPECGAPS.md index de8da78..ccffe60 100644 --- a/SPECGAPS.md +++ b/SPECGAPS.md @@ -28,7 +28,7 @@ Gap categories: **SC** = spec correct, fix code | **CS** = code correct, update | A1-14c | ~~Embedding model runs on CPU only; no Apple GPU acceleration~~ | embedding.allium invariant NativeAcceleratedExecution | `Backends.Neural` now selects the defn compiler at serving-build time: Apple GPU via EMLX (MLX/Metal) on arm64 macOS, EXLA-CPU elsewhere | **Resolved:** added `{:emlx, "~> 0.2.0"}` dep (ships precompiled MLX binaries; EMLX 0.2.0 implements both `EMLX.Backend` and the `Nx.Defn.Compiler` behaviour, GPU-default); `Backends.Neural` gained a pure `select_accelerator/3` policy (`:auto` prefers EMLX only when available **and** on Apple Silicon; explicit `:emlx`/`:exla` honoured; forced `:emlx` degrades to EXLA when unavailable so misconfigured hosts still run), `current_accelerator/0`, and `defn_options/1`; `build_serving` places params on `{EMLX.Backend, device: :gpu}` and compiles with `EMLX` for the EMLX path, keeps `EXLA` otherwise; new `accelerator: :auto` config key; spec `NativeAcceleratedExecution` + `EmbeddingModel` updated; PLT app added; 7 tests added (offline — test config still uses the InApp stub). | | A1-15 | ~~Preview vs generation content source strategy undocumented~~ | preview.allium (no invariant), generation.allium (no invariant) | Generation uses only published .md file content (`Generation.Data` snapshots set `content: nil`); preview includes published+draft posts and prefers DB content over file (`Preview.Router` queries `:published`/`:draft`, uses `editor_body`) | **Resolved:** added `PreviewDraftOverlay` invariant to preview.allium and `GenerationPublishedOnly` invariant to generation.allium; both cross-reference each other; code already correct, 3 tests added for draft-in-preview behavior | | A1-16 | ~~Public project content + data_path discovery not compliant with storage-location spec~~ | project.allium `PublicContentLivesInProjectFolder` / `PrivateArtifactsLiveInOsAppDir` / `DataPathNotPersistedInProjectJson` / `DiscoverProjectDataPath` | Public content now lives under a per-user default content location, never the repo | **Resolved:** `project_data_dir/1` drops the `priv/data/projects/` repo fallback — a project without an explicit `data_path` resolves to `default_content_root()/` (configurable via `:default_content_root`, else `~/bds`), never the repo or `private_dir`; the `default` project is now created on first launch with an explicit `data_path` under that location and its folder is `mkdir`'d (`PublicContentLivesInProjectFolder`); added `Projects.private_dir/0`, `default_content_root/0`, and a machine-local project registry (`registry_path/0` → `project_registry.json` under `private_dir`, written on create/ensure-default, removed on delete) that remembers each project's folder without embedding it in `meta/project.json` (`DataPathNotPersistedInProjectJson`/`DiscoverProjectDataPath` — already satisfied since `project.json` never serializes `data_path`); `delete_project` removes app-managed folders (those under `default_content_root`) but preserves user-chosen external folders; committed `priv/data/projects/default/` content removed from the repo and `/priv/data/projects/` git-ignored; test config redirects `:default_content_root` to a temp dir; 4 tests added (default folder outside repo/private, no-repo fallback, registry round-trip, registry cleanup on delete). | -| A1-17 | `bds2://new-post` blogmark deep link is never received or routed | script.allium:74 (`BlogmarkReceived`), script.allium:233-268 (`ExecuteTransform`/`TransformTrigger`), editor_settings.allium:141-143 (`BookmarkletCopy`) | Only the bookmarklet JS string is generated (`app_shell.ex:48`, now emitting the `bds2://` scheme so it does not clash with the legacy app's `bds://`); nothing handles the resulting `bds2://new-post?title=&url=` deep link. The `ExecuteTransform` engine now exists (`BDS.Scripts.Transforms.run/3`, A1-9) but no code emits `BlogmarkReceived(data)`, so the pipeline is never triggered and no post candidate is created. | **Open:** register a `bds2://` URL-scheme handler in the desktop layer, parse `new-post` query params into a candidate `{title, content?, tags, categories, url}`, run `BDS.Scripts.Transforms.run/3`, then create a draft post (defaulting category from `blogmark_category`) and open it in the editor; surface accepted transform toasts. | +| A1-17 | ~~`bds2://new-post` blogmark deep link is never received or routed~~ | script.allium:74 (`BlogmarkReceived`), script.allium:233-268 (`ExecuteTransform`/`TransformTrigger`), editor_settings.allium:141-143 (`BookmarkletCopy`) | `BDS.Desktop.DeepLink` subscribes to OS `{:open_url, ...}` events and routes `bds2://` links to the shell; `BDS.Blogmark` parses + runs transforms + creates the draft; `ShellLive` opens it and surfaces toasts | **Resolved:** added `BDS.Blogmark.parse_deep_link/1` (parses `bds2://new-post?title=&url=&content=&tags=&categories=` into a `{title, content?, tags, categories, url}` candidate, rejecting unsupported scheme/action) and `receive_deep_link/3` (runs `BDS.Scripts.Transforms.run/3` then creates a draft post, defaulting categories from `blogmark_category` only when neither the link nor a transform set one); `BDS.Desktop.DeepLink` GenServer subscribes to `Desktop.Env` `{:open_url, [url]}` events and broadcasts `{:blogmark_deep_link, url}` over PubSub (added to the desktop supervision tree, guarded for headless/test); `ShellLive.handle_info({:blogmark_deep_link, url})` runs the import against the active project, opens the new post tab (route `"post"`), and appends transform toasts/errors to the output panel (warns when no project is open). OS-level scheme registration (macOS `CFBundleURLTypes` in the packaged `Info.plist`) is documented in `BDS.Desktop.DeepLink` — no app-bundle pipeline exists in the repo yet. i18n added for `Blogmark`/"Open a project before importing a blogmark." (de/fr/it/es); 13 tests added (5 parse, 5 receive incl. transforms + default category, 3 deep-link routing, 1 shell create+open). | ### A2. Spec Should Update (code is normative) @@ -190,7 +190,7 @@ All reconciled to follow code. Specs must be self-consistent and match code. 1. ~~**A1-1 through A1-15**~~ — all resolved: auto-save, on-demand preview, template lookup, validation gates, real Pagefind, graceful shutdown, real embedding model, HNSW ANN index, Apple GPU/EMLX acceleration (A1-14c), and preview/generation content strategy (A1-15) 1b. ~~**A1-16**~~ — storage-location compliance resolved: public content now lives under a per-user default content location (never the repo/private dir), `priv/data/projects/` fallback dropped, machine-local project registry added, committed default project content removed from repo -1c. **A1-17** — blogmark deep-link OS handler not implemented: the `ExecuteTransform` engine exists but nothing receives `bds2://new-post` and emits `BlogmarkReceived(data)` to trigger it +1c. ~~**A1-17**~~ — blogmark deep-link handler resolved: `BDS.Desktop.DeepLink` receives OS `bds2://` URL events and `BDS.Blogmark` parses them, runs the transform pipeline, and creates+opens a draft post (macOS `Info.plist` scheme registration documented, pending an app-bundle pipeline) 2. **D1-1 through D1-18** — untested invariants/guarantees 3. **C-1 through C-3** — internal spec inconsistencies (reconcile to code) 4. **B1-1 through B1-6** — major code behaviors missing from spec diff --git a/lib/bds/application.ex b/lib/bds/application.ex index 4aee11a..e02e637 100644 --- a/lib/bds/application.ex +++ b/lib/bds/application.ex @@ -25,21 +25,22 @@ defmodule BDS.Application do @impl true def start(_type, _args) do - children = [ - {Phoenix.PubSub, name: BDS.PubSub}, - {BDS.Desktop.Endpoint, secret_key_base: desktop_secret_key_base()}, - BDS.Repo, - BDS.RepoBootstrap, - BDS.Tasks, - BDS.Preview, - BDS.Publishing, - {Task.Supervisor, name: BDS.Tasks.TaskSupervisor}, - {Task.Supervisor, name: BDS.TCP.TaskSupervisor}, - BDS.Scripting.JobStore, - {Task.Supervisor, name: BDS.Scripting.TaskSupervisor}, - BDS.Scripting.JobSupervisor, - BDS.Embeddings.Index - ] ++ embedding_children() ++ desktop_children(current_env()) + children = + [ + {Phoenix.PubSub, name: BDS.PubSub}, + {BDS.Desktop.Endpoint, secret_key_base: desktop_secret_key_base()}, + BDS.Repo, + BDS.RepoBootstrap, + BDS.Tasks, + BDS.Preview, + BDS.Publishing, + {Task.Supervisor, name: BDS.Tasks.TaskSupervisor}, + {Task.Supervisor, name: BDS.TCP.TaskSupervisor}, + BDS.Scripting.JobStore, + {Task.Supervisor, name: BDS.Scripting.TaskSupervisor}, + BDS.Scripting.JobSupervisor, + BDS.Embeddings.Index + ] ++ embedding_children() ++ desktop_children(current_env()) opts = [strategy: :one_for_one, name: BDS.Supervisor] Supervisor.start_link(children, opts) @@ -72,7 +73,8 @@ defmodule BDS.Application do [ {Desktop.Window, window_opts}, - Supervisor.child_spec({BDS.Desktop.MainWindow, []}, id: BDS.Desktop.MainWindow.Watcher) + Supervisor.child_spec({BDS.Desktop.MainWindow, []}, id: BDS.Desktop.MainWindow.Watcher), + {BDS.Desktop.DeepLink, []} ] end end diff --git a/lib/bds/blogmark.ex b/lib/bds/blogmark.ex new file mode 100644 index 0000000..b95dc03 --- /dev/null +++ b/lib/bds/blogmark.ex @@ -0,0 +1,150 @@ +defmodule BDS.Blogmark do + @moduledoc """ + Receives `bds2://new-post` blogmark deep links and turns them into draft posts + (spec: script.allium `BlogmarkReceived`/`ExecuteTransform`, + editor_settings.allium `BookmarkletCopy`). + + The browser bookmarklet (`BDS.Scripting.Capabilities.AppShell`) navigates to a + `bds2://new-post?title=&url=` URL. The desktop layer hands that URL here, where + it is parsed into a post candidate, run through the enabled transform pipeline + (`BDS.Scripts.Transforms`), and finally persisted as a draft post — defaulting + the category from the project's `blogmark_category` setting when neither the + link nor a transform supplied one. + + The `bds2://` scheme deliberately differs from the legacy app's `bds://` scheme + so the two installs do not fight over the same registration. + """ + + alias BDS.Metadata + alias BDS.Posts + alias BDS.Scripts.Transforms + + @scheme "bds2" + @new_post_action "new-post" + + @type candidate :: %{required(String.t()) => term()} + + @type receive_result :: %{ + post: Posts.Post.t(), + toasts: [String.t()], + errors: [%{slug: String.t() | nil, reason: term()}] + } + + @doc """ + Parses a `bds2://new-post` deep link into a post candidate map. + + Returns `{:ok, candidate}` with string-keyed `title`, `url`, `content`, + `tags` and `categories`, or an error when the scheme or action is unsupported. + """ + @spec parse_deep_link(String.t()) :: + {:ok, candidate()} | {:error, :unsupported_scheme | :unsupported_action | :invalid_url} + def parse_deep_link(url) when is_binary(url) do + case URI.parse(url) do + %URI{scheme: @scheme, host: @new_post_action, query: query} -> + {:ok, candidate_from_query(query)} + + %URI{scheme: @scheme} -> + {:error, :unsupported_action} + + %URI{scheme: nil} -> + {:error, :invalid_url} + + %URI{} -> + {:error, :unsupported_scheme} + end + end + + @doc """ + Receives a blogmark deep link for `project_id`: parses it, runs the transform + pipeline, and creates a draft post from the resulting candidate. + + Returns `{:ok, %{post:, toasts:, errors:}}` where `toasts` are the + budget-enforced transform messages and `errors` records any failed transforms. + """ + @spec receive_deep_link(String.t(), String.t(), keyword()) :: + {:ok, receive_result()} | {:error, term()} + def receive_deep_link(project_id, url, opts \\ []) + when is_binary(project_id) and is_binary(url) and is_list(opts) do + with {:ok, candidate} <- parse_deep_link(url), + {:ok, %{data: data, toasts: toasts, errors: errors}} <- + Transforms.run(project_id, candidate, opts), + data <- apply_default_category(project_id, data), + {:ok, post} <- create_draft(project_id, data) do + {:ok, %{post: post, toasts: toasts, errors: errors}} + end + end + + defp candidate_from_query(query) do + params = URI.decode_query(query || "") + + %{ + "title" => Map.get(params, "title", "") |> to_string(), + "url" => optional(params, "url"), + "content" => optional(params, "content"), + "tags" => list_param(params, "tags"), + "categories" => list_param(params, "categories") + } + end + + defp optional(params, key) do + case Map.get(params, key) do + nil -> nil + "" -> nil + value -> value + end + end + + defp list_param(params, key) do + case Map.get(params, key) do + value when is_binary(value) -> + value + |> String.split(",") + |> Enum.map(&String.trim/1) + |> Enum.reject(&(&1 == "")) + + _ -> + [] + end + end + + # Apply the project default category only when neither the deep link nor a + # transform produced one, so explicit categories always win. + defp apply_default_category(project_id, data) do + case Map.get(data, "categories") do + categories when is_list(categories) and categories != [] -> + data + + _ -> + case default_category(project_id) do + nil -> data + category -> Map.put(data, "categories", [category]) + end + end + end + + defp default_category(project_id) do + case Metadata.get_project_metadata(project_id) do + {:ok, %{blogmark_category: category}} when is_binary(category) and category != "" -> + category + + _ -> + nil + end + end + + defp create_draft(project_id, data) do + Posts.create_post(%{ + project_id: project_id, + title: Map.get(data, "title", ""), + content: optional_string(Map.get(data, "content")), + tags: string_list(Map.get(data, "tags")), + categories: string_list(Map.get(data, "categories")) + }) + end + + defp optional_string(value) when is_binary(value), do: value + defp optional_string(_value), do: nil + + defp string_list(list) when is_list(list), do: Enum.filter(list, &is_binary/1) + defp string_list(_other), do: [] +end diff --git a/lib/bds/desktop/deep_link.ex b/lib/bds/desktop/deep_link.ex new file mode 100644 index 0000000..886648e --- /dev/null +++ b/lib/bds/desktop/deep_link.ex @@ -0,0 +1,74 @@ +defmodule BDS.Desktop.DeepLink do + @moduledoc """ + Receives OS URL-scheme events for the `bds2://` scheme and routes them to the + shell (spec: script.allium `BlogmarkReceived`). + + On macOS the app bundle registers `bds2://` as a custom URL scheme (see the + `CFBundleURLTypes` entry in the packaged `Info.plist`). When the browser + bookmarklet navigates to `bds2://new-post?title=&url=`, the OS launches/raises + the app and `Desktop.Env` delivers an `{:open_url, [url]}` event. This + GenServer subscribes to those events and forwards recognised `bds2://` links to + the live shell over PubSub, where `BDS.Blogmark` turns them into draft posts. + + The `bds2://` scheme is distinct from the legacy app's `bds://` so the two + installs do not contend for the same registration. + """ + + use GenServer + + require Logger + + alias BDS.CliSync.Watcher + + @scheme "bds2://" + + def child_spec(opts) do + %{id: __MODULE__, start: {__MODULE__, :start_link, [opts]}} + end + + def start_link(opts \\ []) do + GenServer.start_link(__MODULE__, opts, name: Keyword.get(opts, :name, __MODULE__)) + end + + @impl true + def init(opts) do + pubsub = Keyword.get(opts, :pubsub, BDS.PubSub) + topic = Keyword.get(opts, :topic, Watcher.topic()) + + subscribe_to_env() + + {:ok, %{pubsub: pubsub, topic: topic}} + end + + # Desktop.Env delivers OS events as {event_name, args} tuples. + @impl true + def handle_info({:open_url, [url | _rest]}, state) when is_binary(url) do + {:noreply, route(url, state)} + end + + def handle_info(_message, state), do: {:noreply, state} + + defp route(url, state) do + if String.starts_with?(url, @scheme) do + Phoenix.PubSub.broadcast(state.pubsub, state.topic, {:blogmark_deep_link, url}) + else + Logger.debug("ignoring non-bds2 deep link: #{inspect(url)}") + end + + state + end + + # Desktop.Env is only present when the wx desktop adapter is running. Guard the + # subscribe so the GenServer can still start in headless/test configurations. + defp subscribe_to_env do + if Process.whereis(Desktop.Env) do + try do + Desktop.Env.subscribe() + catch + :exit, _reason -> :ok + end + end + + :ok + end +end diff --git a/lib/bds/desktop/shell_live.ex b/lib/bds/desktop/shell_live.ex index 1bf128b..4aad5e9 100644 --- a/lib/bds/desktop/shell_live.ex +++ b/lib/bds/desktop/shell_live.ex @@ -5,7 +5,7 @@ defmodule BDS.Desktop.ShellLive do import Phoenix.HTML - alias BDS.{AI, BoundedAtoms, Metadata} + alias BDS.{AI, Blogmark, BoundedAtoms, Metadata} alias BDS.CliSync.Watcher alias BDS.Desktop.{ExternalLinks, FilePicker, FolderPicker, ShellData, UILocale} @@ -717,6 +717,10 @@ defmodule BDS.Desktop.ShellLive do {:noreply, socket} end + def handle_info({:blogmark_deep_link, url}, socket) when is_binary(url) do + {:noreply, handle_blogmark_deep_link(socket, url)} + end + def handle_info(message, socket) do Bridges.handle_info(message, socket, bridges_callbacks()) end @@ -1002,6 +1006,56 @@ defmodule BDS.Desktop.ShellLive do defp create_sidebar_item(socket, kind), do: SidebarCreate.create(socket, kind, sidebar_create_callbacks()) + # Receive a bds2://new-post blogmark deep link: run the transform pipeline, + # create a draft post, open it in the editor, and surface transform toasts. + defp handle_blogmark_deep_link(socket, url) do + title = dgettext("ui", "Blogmark") + + case current_project_id(socket) do + project_id when is_binary(project_id) -> + case Blogmark.receive_deep_link(project_id, url) do + {:ok, %{post: post, toasts: toasts, errors: errors}} -> + socket + |> reload_shell(socket.assigns.workbench) + |> open_sidebar_item( + %{ + "route" => "post", + "id" => post.id, + "title" => post.title, + "subtitle" => post.slug + }, + :pin + ) + |> append_blogmark_toasts(title, toasts) + |> append_blogmark_errors(title, errors) + + {:error, reason} -> + append_output_entry(socket, title, inspect(reason), url, "error") + end + + _ -> + append_output_entry( + socket, + title, + dgettext("ui", "Open a project before importing a blogmark."), + url, + "warning" + ) + end + end + + defp append_blogmark_toasts(socket, title, toasts) do + Enum.reduce(toasts, socket, fn message, acc -> + append_output_entry(acc, title, message, nil, "info") + end) + end + + defp append_blogmark_errors(socket, title, errors) do + Enum.reduce(errors, socket, fn %{slug: slug, reason: reason}, acc -> + append_output_entry(acc, title, inspect(reason), slug, "error") + end) + end + defp handle_file_picker_result(socket, {:ok, _media}), do: refresh_content(socket, socket.assigns.workbench) diff --git a/priv/gettext/de/LC_MESSAGES/render.po b/priv/gettext/de/LC_MESSAGES/render.po index 671216f..460ceed 100644 --- a/priv/gettext/de/LC_MESSAGES/render.po +++ b/priv/gettext/de/LC_MESSAGES/render.po @@ -1,6 +1,6 @@ #: lib/bds/rendering/labels.ex:18 -#: lib/bds/ui/sidebar.ex:284 -#: lib/bds/ui/sidebar.ex:578 +#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:589 #, elixir-autogen, elixir-format msgid "Archive" msgstr "Archiv" diff --git a/priv/gettext/de/LC_MESSAGES/ui.po b/priv/gettext/de/LC_MESSAGES/ui.po index 9d0640d..21a8a8d 100644 --- a/priv/gettext/de/LC_MESSAGES/ui.po +++ b/priv/gettext/de/LC_MESSAGES/ui.po @@ -59,7 +59,7 @@ msgid "--" msgstr "--" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:217 -#: lib/bds/ui/sidebar.ex:762 +#: lib/bds/ui/sidebar.ex:773 #, elixir-autogen, elixir-format msgid "AI" msgstr "KI" @@ -89,7 +89,7 @@ msgstr "KI-Vorschlaege" #: lib/bds/desktop/shell_live/tab_helpers.ex:166 #: lib/bds/ui/sidebar.ex:83 #: lib/bds/ui/sidebar.ex:131 -#: lib/bds/ui/sidebar.ex:175 +#: lib/bds/ui/sidebar.ex:179 #, elixir-autogen, elixir-format msgid "AI conversations" msgstr "KI-Gespräche" @@ -222,7 +222,7 @@ msgid "Apply Theme" msgstr "Theme anwenden" #: lib/bds/desktop/shell_data.ex:182 -#: lib/bds/ui/sidebar.ex:327 +#: lib/bds/ui/sidebar.ex:331 #, elixir-autogen, elixir-format msgid "Archived" msgstr "Archiviert" @@ -257,7 +257,7 @@ msgid "Auto" msgstr "Automatisch" #: lib/bds/desktop/shell_data.ex:98 -#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:431 #: lib/bds/desktop/shell_live/chat_editor.ex:231 #: lib/bds/desktop/shell_live/media_editor.ex:156 #: lib/bds/desktop/shell_live/media_editor.ex:349 @@ -272,7 +272,7 @@ msgstr "Automatische KI-Aktionen bleiben durch den Flugmodus gesperrt." #: lib/bds/desktop/shell_live/tab_helpers.ex:146 #: lib/bds/ui/sidebar.ex:64 #: lib/bds/ui/sidebar.ex:116 -#: lib/bds/ui/sidebar.ex:155 +#: lib/bds/ui/sidebar.ex:159 #, elixir-autogen, elixir-format msgid "Automation helpers" msgstr "Automatisierungshilfen" @@ -374,7 +374,7 @@ msgstr "Bildunterschrift" #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:131 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:144 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:158 -#: lib/bds/ui/sidebar.ex:286 +#: lib/bds/ui/sidebar.ex:290 #, elixir-autogen, elixir-format msgid "Categories" msgstr "Kategorien" @@ -404,7 +404,7 @@ msgstr "Kategorie-Standards, Render-Flags und Template-Zuordnung" msgid "Category name is required" msgstr "Kategoriename ist erforderlich" -#: lib/bds/desktop/shell_live.ex:953 +#: lib/bds/desktop/shell_live.ex:979 #: lib/bds/desktop/shell_live/chat_editor.ex:87 #: lib/bds/desktop/shell_live/chat_editor.ex:230 #: lib/bds/desktop/shell_live/chat_editor.ex:318 @@ -413,7 +413,7 @@ msgstr "Kategoriename ist erforderlich" #: lib/bds/ui/registry.ex:104 #: lib/bds/ui/sidebar.ex:82 #: lib/bds/ui/sidebar.ex:130 -#: lib/bds/ui/sidebar.ex:174 +#: lib/bds/ui/sidebar.ex:178 #, elixir-autogen, elixir-format msgid "Chat" msgstr "Chat" @@ -433,13 +433,13 @@ msgstr "Geprüfte DB-Zeilen: %{dbRows} · Geprüfte Dateien: %{files} · Ungült msgid "Clear" msgstr "Leeren" -#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:292 #, elixir-autogen, elixir-format msgid "Clear categories" msgstr "Kategorien löschen" -#: lib/bds/ui/sidebar.ex:289 -#: lib/bds/ui/sidebar.ex:581 +#: lib/bds/ui/sidebar.ex:293 +#: lib/bds/ui/sidebar.ex:592 #, elixir-autogen, elixir-format msgid "Clear filters" msgstr "Filter löschen" @@ -450,8 +450,8 @@ msgstr "Filter löschen" msgid "Clear mapping" msgstr "Zuordnung entfernen" -#: lib/bds/ui/sidebar.ex:287 -#: lib/bds/ui/sidebar.ex:580 +#: lib/bds/ui/sidebar.ex:291 +#: lib/bds/ui/sidebar.ex:591 #, elixir-autogen, elixir-format msgid "Clear tags" msgstr "Tags löschen" @@ -502,7 +502,7 @@ msgstr "Bestaetigen" #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 #: 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/ui/sidebar.ex:761 +#: lib/bds/ui/sidebar.ex:772 #, elixir-autogen, elixir-format msgid "Content" msgstr "Inhalte" @@ -543,7 +543,7 @@ msgid "Create" msgstr "Erstellen" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:36 -#: lib/bds/ui/sidebar.ex:746 +#: lib/bds/ui/sidebar.ex:757 #, elixir-autogen, elixir-format msgid "Create / Edit" msgstr "Erstellen / Bearbeiten" @@ -589,7 +589,7 @@ msgstr "Dunkel" msgid "Dashboard" msgstr "Instrumententafel" -#: lib/bds/ui/sidebar.ex:775 +#: lib/bds/ui/sidebar.ex:786 #, elixir-autogen, elixir-format msgid "Data" msgstr "Daten" @@ -791,12 +791,12 @@ msgstr "Dokumentation" msgid "Draft" msgstr "Entwurf" -#: lib/bds/ui/sidebar.ex:313 +#: lib/bds/ui/sidebar.ex:317 #, elixir-autogen, elixir-format msgid "Drafts" msgstr "Entwürfe" -#: lib/bds/ui/sidebar.ex:271 +#: lib/bds/ui/sidebar.ex:275 #, elixir-autogen, elixir-format msgid "Drafts, published entries, and archive history" msgstr "Entwürfe, veröffentlichte Einträge und Archivverlauf" @@ -829,7 +829,7 @@ msgstr "Übersetzung bearbeiten" #: lib/bds/desktop/shell_live/index.html.heex:513 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:111 -#: lib/bds/ui/sidebar.ex:760 +#: lib/bds/ui/sidebar.ex:771 #, elixir-autogen, elixir-format msgid "Editor" msgstr "Editor" @@ -991,8 +991,8 @@ msgstr "Galerie" msgid "Generate Site" msgstr "Website generieren" -#: lib/bds/desktop/shell_live.ex:954 -#: lib/bds/ui/sidebar.ex:786 +#: lib/bds/desktop/shell_live.ex:980 +#: lib/bds/ui/sidebar.ex:797 #, elixir-autogen, elixir-format msgid "Git" msgstr "Git" @@ -1004,7 +1004,7 @@ msgid "Git Diff" msgstr "Git-Diff" #: lib/bds/desktop/shell_data.ex:244 -#: lib/bds/desktop/shell_live.ex:950 +#: lib/bds/desktop/shell_live.ex:976 #: lib/bds/desktop/shell_live/panel_renderer.ex:171 #, elixir-autogen, elixir-format msgid "Git Log" @@ -1043,7 +1043,7 @@ msgstr "Leerlauf" msgid "Ignore" msgstr "Ignorieren" -#: lib/bds/ui/sidebar.ex:571 +#: lib/bds/ui/sidebar.ex:582 #, elixir-autogen, elixir-format msgid "Images and files" msgstr "Bilder und Dateien" @@ -1082,7 +1082,7 @@ msgstr "Bilder und Dateien" #: lib/bds/ui/sidebar.ex:33 #: lib/bds/ui/sidebar.ex:90 #: lib/bds/ui/sidebar.ex:137 -#: lib/bds/ui/sidebar.ex:183 +#: lib/bds/ui/sidebar.ex:187 #, elixir-autogen, elixir-format msgid "Import" msgstr "Importieren" @@ -1117,7 +1117,7 @@ msgstr "Import erfolgreich abgeschlossen!" #: lib/bds/ui/sidebar.ex:34 #: lib/bds/ui/sidebar.ex:91 #: lib/bds/ui/sidebar.ex:138 -#: lib/bds/ui/sidebar.ex:184 +#: lib/bds/ui/sidebar.ex:188 #, elixir-autogen, elixir-format msgid "Import definitions" msgstr "Importdefinitionen" @@ -1127,9 +1127,9 @@ msgstr "Importdefinitionen" msgid "Import failed: %{error}" msgstr "Import fehlgeschlagen: %{error}" -#: lib/bds/desktop/shell_live.ex:601 -#: lib/bds/desktop/shell_live.ex:991 -#: lib/bds/desktop/shell_live.ex:997 +#: lib/bds/desktop/shell_live.ex:604 +#: lib/bds/desktop/shell_live.ex:1067 +#: lib/bds/desktop/shell_live.ex:1073 #: lib/bds/desktop/shell_live/sidebar_create.ex:47 #, elixir-autogen, elixir-format msgid "Import media" @@ -1249,7 +1249,7 @@ msgstr "Mehr laden" #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:50 #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:348 -#: lib/bds/ui/sidebar.ex:776 +#: lib/bds/ui/sidebar.ex:787 #, elixir-autogen, elixir-format msgid "MCP" msgstr "MCP" @@ -1308,7 +1308,7 @@ msgstr "Maximale Beiträge pro Seite" #: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:100 -#: lib/bds/ui/sidebar.ex:570 +#: lib/bds/ui/sidebar.ex:581 #, elixir-autogen, elixir-format msgid "Media" msgstr "Medien" @@ -1334,7 +1334,7 @@ msgid "Merge" msgstr "Zusammenführen" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78 -#: lib/bds/ui/sidebar.ex:747 +#: lib/bds/ui/sidebar.ex:758 #, elixir-autogen, elixir-format msgid "Merge Tags" msgstr "Tags zusammenführen" @@ -1456,9 +1456,9 @@ msgstr "Noch keine Git-Historie" #: lib/bds/desktop/shell_live/sidebar_components.ex:321 #: lib/bds/desktop/shell_live/sidebar_components.ex:381 #: lib/bds/desktop/shell_live/sidebar_components.ex:455 -#: lib/bds/ui/sidebar.ex:198 -#: lib/bds/ui/sidebar.ex:789 -#: lib/bds/ui/sidebar.ex:896 +#: lib/bds/ui/sidebar.ex:202 +#: lib/bds/ui/sidebar.ex:800 +#: lib/bds/ui/sidebar.ex:907 #, elixir-autogen, elixir-format msgid "No items" msgstr "Keine Einträge" @@ -1478,13 +1478,13 @@ msgstr "Keine passenden Kategorien gefunden." msgid "No matching pages found." msgstr "Keine passenden Seiten gefunden." -#: lib/bds/ui/sidebar.ex:292 +#: lib/bds/ui/sidebar.ex:296 #, elixir-autogen, elixir-format msgid "No matching posts" msgstr "Keine passenden Beiträge" -#: lib/bds/ui/sidebar.ex:573 #: lib/bds/ui/sidebar.ex:584 +#: lib/bds/ui/sidebar.ex:595 #, elixir-autogen, elixir-format msgid "No media files" msgstr "Keine Mediendateien" @@ -1499,7 +1499,7 @@ msgstr "Keine Metadaten-Diff-Einträge ausgewählt" msgid "No orphan files selected" msgstr "Keine verwaisten Dateien ausgewählt" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No pages yet" msgstr "Noch keine Seiten" @@ -1514,7 +1514,7 @@ msgstr "Noch keine Beitragsverweise" msgid "No posts to link" msgstr "Keine Beiträge zum Verknüpfen" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No posts yet" msgstr "Noch keine Beiträge" @@ -1721,7 +1721,7 @@ msgstr "Sonstige" msgid "Other (%{count})" msgstr "Andere (%{count})" -#: lib/bds/desktop/shell_live.ex:949 +#: lib/bds/desktop/shell_live.ex:975 #: lib/bds/desktop/shell_live/panel_renderer.ex:83 #, elixir-autogen, elixir-format msgid "Output" @@ -1749,7 +1749,7 @@ msgid "Page Slug Conflicts" msgstr "Seiten-Slug-Konflikte" #: lib/bds/ui/registry.ex:22 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Pages" msgstr "Seiten" @@ -1839,7 +1839,7 @@ msgstr "Beitrag gespeichert" #: lib/bds/desktop/shell_live/misc_editor.ex:673 #: lib/bds/desktop/shell_live/misc_editor.ex:770 #: lib/bds/ui/registry.ex:14 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Posts" msgstr "Beiträge" @@ -1879,7 +1879,7 @@ msgstr "Vorschau nicht verfügbar" #: lib/bds/desktop/shell_live/misc_editor.ex:748 #: lib/bds/desktop/shell_live/misc_editor.ex:774 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:27 -#: lib/bds/ui/sidebar.ex:759 +#: lib/bds/ui/sidebar.ex:770 #, elixir-autogen, elixir-format msgid "Project" msgstr "Projekt" @@ -1889,7 +1889,7 @@ msgstr "Projekt" msgid "Project Name" msgstr "Projektname" -#: lib/bds/ui/sidebar.ex:756 +#: lib/bds/ui/sidebar.ex:767 #, elixir-autogen, elixir-format msgid "Project and publishing" msgstr "Projekt und Veröffentlichung" @@ -1925,7 +1925,7 @@ msgstr "Ausgewähltes veröffentlichen" #: lib/bds/desktop/shell_data.ex:181 #: lib/bds/desktop/shell_live/post_editor.ex:897 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 -#: lib/bds/ui/sidebar.ex:320 +#: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" msgstr "Veröffentlicht" @@ -1939,7 +1939,7 @@ msgstr "Veröffentlichte Übersetzung hat Inhalt in der DB statt im Dateisystem" #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:40 #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:335 -#: lib/bds/ui/sidebar.ex:771 +#: lib/bds/ui/sidebar.ex:782 #, elixir-autogen, elixir-format msgid "Publishing" msgstr "Veröffentlichung" @@ -2227,7 +2227,7 @@ msgstr "Scripting-Funktionen werden in der Neufassung auf Anwendungsebene konfig #: lib/bds/ui/registry.ex:38 #: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:115 -#: lib/bds/ui/sidebar.ex:154 +#: lib/bds/ui/sidebar.ex:158 #, elixir-autogen, elixir-format msgid "Scripts" msgstr "Skripte" @@ -2238,12 +2238,12 @@ msgid "Search" msgstr "Suchen" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:99 -#: lib/bds/ui/sidebar.ex:576 +#: lib/bds/ui/sidebar.ex:587 #, elixir-autogen, elixir-format msgid "Search media..." msgstr "Medien durchsuchen..." -#: lib/bds/ui/sidebar.ex:280 +#: lib/bds/ui/sidebar.ex:284 #, elixir-autogen, elixir-format msgid "Search pages..." msgstr "Seiten durchsuchen..." @@ -2254,7 +2254,7 @@ msgid "Search posts" msgstr "Beiträge durchsuchen" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:62 -#: lib/bds/ui/sidebar.ex:281 +#: lib/bds/ui/sidebar.ex:285 #, elixir-autogen, elixir-format msgid "Search posts..." msgstr "Beiträge durchsuchen..." @@ -2330,7 +2330,7 @@ msgstr "Semantische Ähnlichkeit" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11 #: lib/bds/ui/registry.ex:86 #: lib/bds/ui/registry.ex:101 -#: lib/bds/ui/sidebar.ex:755 +#: lib/bds/ui/sidebar.ex:766 #, elixir-autogen, elixir-format msgid "Settings" msgstr "Einstellungen" @@ -2361,7 +2361,7 @@ msgstr "Website-Validierung" #: lib/bds/desktop/shell_live/tab_helpers.ex:156 #: lib/bds/ui/sidebar.ex:72 #: lib/bds/ui/sidebar.ex:123 -#: lib/bds/ui/sidebar.ex:164 +#: lib/bds/ui/sidebar.ex:168 #, elixir-autogen, elixir-format msgid "Site rendering" msgstr "Website-Rendering" @@ -2385,7 +2385,7 @@ msgstr "Slug" msgid "Source Control" msgstr "Quellcodeverwaltung" -#: lib/bds/ui/sidebar.ex:270 +#: lib/bds/ui/sidebar.ex:274 #, elixir-autogen, elixir-format msgid "Standalone pages" msgstr "Eigenständige Seiten" @@ -2416,7 +2416,7 @@ msgstr "Stopp" #: lib/bds/desktop/shell_live/settings_editor/style_editor.ex:74 #: lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex:3 #: lib/bds/ui/registry.ex:102 -#: lib/bds/ui/sidebar.ex:777 +#: lib/bds/ui/sidebar.ex:788 #, elixir-autogen, elixir-format msgid "Style" msgstr "Stil" @@ -2447,12 +2447,12 @@ msgid "System Prompt" msgstr "System-Prompt" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16 -#: lib/bds/ui/sidebar.ex:745 +#: lib/bds/ui/sidebar.ex:756 #, elixir-autogen, elixir-format msgid "Tag Cloud" msgstr "Tag-Wolke" -#: lib/bds/ui/sidebar.ex:742 +#: lib/bds/ui/sidebar.ex:753 #, elixir-autogen, elixir-format msgid "Tag management" msgstr "Tag-Verwaltung" @@ -2476,21 +2476,21 @@ msgstr "Schlagwortname" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:103 -#: lib/bds/ui/sidebar.ex:285 -#: lib/bds/ui/sidebar.ex:579 -#: lib/bds/ui/sidebar.ex:741 +#: lib/bds/ui/sidebar.ex:289 +#: lib/bds/ui/sidebar.ex:590 +#: lib/bds/ui/sidebar.ex:752 #, elixir-autogen, elixir-format msgid "Tags" msgstr "Tags" -#: lib/bds/desktop/shell_live.ex:948 +#: lib/bds/desktop/shell_live.ex:974 #: lib/bds/desktop/shell_live/panel_renderer.ex:54 #, elixir-autogen, elixir-format msgid "Tasks" msgstr "Aufgaben" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:318 -#: lib/bds/ui/sidebar.ex:765 +#: lib/bds/ui/sidebar.ex:776 #, elixir-autogen, elixir-format msgid "Technology" msgstr "Technik" @@ -2532,7 +2532,7 @@ msgstr "Template-Syntax ist gültig" #: lib/bds/ui/registry.ex:46 #: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:122 -#: lib/bds/ui/sidebar.ex:163 +#: lib/bds/ui/sidebar.ex:167 #, elixir-autogen, elixir-format msgid "Templates" msgstr "Vorlagen" @@ -2593,8 +2593,8 @@ msgstr "Assistenten-Seitenleiste umschalten" msgid "Toggle Dev Tools" msgstr "Entwicklertools umschalten" -#: lib/bds/ui/sidebar.ex:283 -#: lib/bds/ui/sidebar.ex:577 +#: lib/bds/ui/sidebar.ex:287 +#: lib/bds/ui/sidebar.ex:588 #, elixir-autogen, elixir-format msgid "Toggle Filters" msgstr "Filter umschalten" @@ -2735,7 +2735,7 @@ msgstr "Nicht gespeichert" #: lib/bds/desktop/shell_live/import_editor.ex:867 #: lib/bds/desktop/shell_live/post_editor/post_metadata.ex:166 -#: lib/bds/ui/sidebar.ex:1105 +#: lib/bds/ui/sidebar.ex:1116 #, elixir-autogen, elixir-format msgid "Untitled" msgstr "Ohne Titel" @@ -2834,7 +2834,7 @@ msgid "Working tree" msgstr "Arbeitsverzeichnis" #: lib/bds/desktop/shell_live/tab_helpers.ex:191 -#: lib/bds/ui/sidebar.ex:787 +#: lib/bds/ui/sidebar.ex:798 #, elixir-autogen, elixir-format msgid "Working tree and history" msgstr "Arbeitsverzeichnis und Verlauf" @@ -3010,14 +3010,14 @@ msgstr "Seiten" msgid "posts" msgstr "Beiträge" -#: lib/bds/ui/sidebar.ex:290 -#: lib/bds/ui/sidebar.ex:582 +#: lib/bds/ui/sidebar.ex:294 +#: lib/bds/ui/sidebar.ex:593 #, elixir-autogen, elixir-format msgid "results" msgstr "Ergebnisse" -#: lib/bds/ui/sidebar.ex:291 -#: lib/bds/ui/sidebar.ex:583 +#: lib/bds/ui/sidebar.ex:295 +#: lib/bds/ui/sidebar.ex:594 #, elixir-autogen, elixir-format msgid "results for" msgstr "Ergebnisse für" @@ -3177,12 +3177,12 @@ msgstr "Willkommen beim KI-Assistenten" msgid "Comparing database and filesystem metadata" msgstr "Vergleicht Datenbank- und Dateisystem-Metadaten" -#: lib/bds/desktop/shell_live.ex:671 +#: lib/bds/desktop/shell_live.ex:680 #, elixir-autogen, elixir-format msgid "Added %{count} images to post" msgstr "%{count} Bilder zum Beitrag hinzugefügt" -#: lib/bds/desktop/shell_live.ex:642 +#: lib/bds/desktop/shell_live.ex:648 #, elixir-autogen, elixir-format msgid "Added %{title}" msgstr "%{title} hinzugefügt" @@ -3202,18 +3202,18 @@ msgstr "Endbenutzer-Anleitung für redaktionelle Arbeitsabläufe, Medien, Vorlag msgid "Image Import Concurrency" msgstr "Gleichzeitige Bildimporte" -#: lib/bds/desktop/shell_live.ex:429 -#: lib/bds/desktop/shell_live.ex:442 -#: lib/bds/desktop/shell_live.ex:642 -#: lib/bds/desktop/shell_live.ex:670 +#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:443 +#: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:679 -#: lib/bds/desktop/shell_live.ex:686 +#: lib/bds/desktop/shell_live.ex:690 +#: lib/bds/desktop/shell_live.ex:701 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Galerie-Bilder hinzufügen" -#: lib/bds/desktop/shell_live.ex:687 +#: lib/bds/desktop/shell_live.ex:702 #, elixir-autogen, elixir-format msgid "Failed to process %{path}: %{reason}" msgstr "%{path} konnte nicht verarbeitet werden: %{reason}" @@ -3263,9 +3263,9 @@ msgstr "Zurück" msgid "Changes" msgstr "Änderungen" -#: lib/bds/desktop/shell_live.ex:1055 -#: lib/bds/desktop/shell_live.ex:1071 -#: lib/bds/desktop/shell_live.ex:1077 +#: lib/bds/desktop/shell_live.ex:1131 +#: lib/bds/desktop/shell_live.ex:1147 +#: lib/bds/desktop/shell_live.ex:1153 #: lib/bds/desktop/shell_live/sidebar_components.ex:556 #, elixir-autogen, elixir-format msgid "Commit" @@ -3276,17 +3276,17 @@ msgstr "Commit" msgid "Commit message" msgstr "Commit-Nachricht" -#: lib/bds/desktop/shell_live.ex:1056 +#: lib/bds/desktop/shell_live.ex:1132 #, elixir-autogen, elixir-format msgid "Commit message is required" msgstr "Commit-Nachricht erforderlich" -#: lib/bds/desktop/shell_live.ex:1120 +#: lib/bds/desktop/shell_live.ex:1200 #, elixir-autogen, elixir-format msgid "Done" msgstr "Fertig" -#: lib/bds/desktop/shell_live.ex:1041 +#: lib/bds/desktop/shell_live.ex:1117 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #, elixir-autogen, elixir-format @@ -3298,8 +3298,8 @@ msgstr "Abrufen" msgid "History" msgstr "Verlauf" -#: lib/bds/desktop/shell_live.ex:1091 -#: lib/bds/desktop/shell_live.ex:1099 +#: lib/bds/desktop/shell_live.ex:1167 +#: lib/bds/desktop/shell_live.ex:1175 #: lib/bds/desktop/shell_live/sidebar_components.ex:513 #, elixir-autogen, elixir-format msgid "Initialize Git" @@ -3310,7 +3310,7 @@ msgstr "Git initialisieren" msgid "Local only" msgstr "Nur lokal" -#: lib/bds/desktop/shell_live.ex:1127 +#: lib/bds/desktop/shell_live.ex:1207 #, elixir-autogen, elixir-format msgid "No active project" msgstr "Kein aktives Projekt" @@ -3330,21 +3330,21 @@ msgstr "Noch keine Commits" msgid "Older history available" msgstr "Ältere Einträge verfügbar" -#: lib/bds/desktop/shell_live.ex:1044 +#: lib/bds/desktop/shell_live.ex:1120 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #, elixir-autogen, elixir-format msgid "Prune LFS" msgstr "LFS bereinigen" -#: lib/bds/desktop/shell_live.ex:1042 +#: lib/bds/desktop/shell_live.ex:1118 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #, elixir-autogen, elixir-format msgid "Pull" msgstr "Pull" -#: lib/bds/desktop/shell_live.ex:1043 +#: lib/bds/desktop/shell_live.ex:1119 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #, elixir-autogen, elixir-format @@ -3361,7 +3361,7 @@ msgstr "Remote-URL (optional)" msgid "Remote only" msgstr "Nur remote" -#: lib/bds/desktop/shell_live.ex:1092 +#: lib/bds/desktop/shell_live.ex:1168 #, elixir-autogen, elixir-format msgid "Repository initialized" msgstr "Repository initialisiert" @@ -3376,28 +3376,38 @@ msgstr "Synchronisiert" msgid "This project is not a Git repository yet." msgstr "Dieses Projekt ist noch kein Git-Repository." -#: lib/bds/ui/sidebar.ex:869 +#: lib/bds/ui/sidebar.ex:880 #, elixir-autogen, elixir-format msgid "added" msgstr "hinzugefügt" -#: lib/bds/ui/sidebar.ex:870 +#: lib/bds/ui/sidebar.ex:881 #, elixir-autogen, elixir-format msgid "deleted" msgstr "gelöscht" -#: lib/bds/ui/sidebar.ex:871 -#: lib/bds/ui/sidebar.ex:874 +#: lib/bds/ui/sidebar.ex:882 +#: lib/bds/ui/sidebar.ex:885 #, elixir-autogen, elixir-format msgid "modified" msgstr "geändert" -#: lib/bds/ui/sidebar.ex:872 +#: lib/bds/ui/sidebar.ex:883 #, elixir-autogen, elixir-format msgid "renamed" msgstr "umbenannt" -#: lib/bds/ui/sidebar.ex:873 +#: lib/bds/ui/sidebar.ex:884 #, elixir-autogen, elixir-format msgid "untracked" msgstr "nicht verfolgt" + +#: lib/bds/desktop/shell_live.ex:1012 +#, elixir-autogen, elixir-format +msgid "Blogmark" +msgstr "Blogmark" + +#: lib/bds/desktop/shell_live.ex:1040 +#, elixir-autogen, elixir-format +msgid "Open a project before importing a blogmark." +msgstr "Öffnen Sie ein Projekt, bevor Sie ein Blogmark importieren." diff --git a/priv/gettext/en/LC_MESSAGES/render.po b/priv/gettext/en/LC_MESSAGES/render.po index 49ff141..5b42733 100644 --- a/priv/gettext/en/LC_MESSAGES/render.po +++ b/priv/gettext/en/LC_MESSAGES/render.po @@ -1,6 +1,6 @@ #: lib/bds/rendering/labels.ex:18 -#: lib/bds/ui/sidebar.ex:284 -#: lib/bds/ui/sidebar.ex:578 +#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:589 #, elixir-autogen, elixir-format msgid "Archive" msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/ui.po b/priv/gettext/en/LC_MESSAGES/ui.po index a33d2c9..9b07b53 100644 --- a/priv/gettext/en/LC_MESSAGES/ui.po +++ b/priv/gettext/en/LC_MESSAGES/ui.po @@ -59,7 +59,7 @@ msgid "--" msgstr "" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:217 -#: lib/bds/ui/sidebar.ex:762 +#: lib/bds/ui/sidebar.ex:773 #, elixir-autogen, elixir-format msgid "AI" msgstr "" @@ -89,7 +89,7 @@ msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:166 #: lib/bds/ui/sidebar.ex:83 #: lib/bds/ui/sidebar.ex:131 -#: lib/bds/ui/sidebar.ex:175 +#: lib/bds/ui/sidebar.ex:179 #, elixir-autogen, elixir-format msgid "AI conversations" msgstr "" @@ -222,7 +222,7 @@ msgid "Apply Theme" msgstr "" #: lib/bds/desktop/shell_data.ex:182 -#: lib/bds/ui/sidebar.ex:327 +#: lib/bds/ui/sidebar.ex:331 #, elixir-autogen, elixir-format msgid "Archived" msgstr "" @@ -257,7 +257,7 @@ msgid "Auto" msgstr "" #: lib/bds/desktop/shell_data.ex:98 -#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:431 #: lib/bds/desktop/shell_live/chat_editor.ex:231 #: lib/bds/desktop/shell_live/media_editor.ex:156 #: lib/bds/desktop/shell_live/media_editor.ex:349 @@ -272,7 +272,7 @@ msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:146 #: lib/bds/ui/sidebar.ex:64 #: lib/bds/ui/sidebar.ex:116 -#: lib/bds/ui/sidebar.ex:155 +#: lib/bds/ui/sidebar.ex:159 #, elixir-autogen, elixir-format msgid "Automation helpers" msgstr "" @@ -374,7 +374,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:131 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:144 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:158 -#: lib/bds/ui/sidebar.ex:286 +#: lib/bds/ui/sidebar.ex:290 #, elixir-autogen, elixir-format msgid "Categories" msgstr "" @@ -404,7 +404,7 @@ msgstr "" msgid "Category name is required" msgstr "" -#: lib/bds/desktop/shell_live.ex:953 +#: lib/bds/desktop/shell_live.ex:979 #: lib/bds/desktop/shell_live/chat_editor.ex:87 #: lib/bds/desktop/shell_live/chat_editor.ex:230 #: lib/bds/desktop/shell_live/chat_editor.ex:318 @@ -413,7 +413,7 @@ msgstr "" #: lib/bds/ui/registry.ex:104 #: lib/bds/ui/sidebar.ex:82 #: lib/bds/ui/sidebar.ex:130 -#: lib/bds/ui/sidebar.ex:174 +#: lib/bds/ui/sidebar.ex:178 #, elixir-autogen, elixir-format msgid "Chat" msgstr "" @@ -433,13 +433,13 @@ msgstr "" msgid "Clear" msgstr "" -#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:292 #, elixir-autogen, elixir-format msgid "Clear categories" msgstr "" -#: lib/bds/ui/sidebar.ex:289 -#: lib/bds/ui/sidebar.ex:581 +#: lib/bds/ui/sidebar.ex:293 +#: lib/bds/ui/sidebar.ex:592 #, elixir-autogen, elixir-format msgid "Clear filters" msgstr "" @@ -450,8 +450,8 @@ msgstr "" msgid "Clear mapping" msgstr "" -#: lib/bds/ui/sidebar.ex:287 -#: lib/bds/ui/sidebar.ex:580 +#: lib/bds/ui/sidebar.ex:291 +#: lib/bds/ui/sidebar.ex:591 #, elixir-autogen, elixir-format msgid "Clear tags" msgstr "" @@ -502,7 +502,7 @@ msgstr "" #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 #: 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/ui/sidebar.ex:761 +#: lib/bds/ui/sidebar.ex:772 #, elixir-autogen, elixir-format msgid "Content" msgstr "" @@ -543,7 +543,7 @@ msgid "Create" msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:36 -#: lib/bds/ui/sidebar.ex:746 +#: lib/bds/ui/sidebar.ex:757 #, elixir-autogen, elixir-format msgid "Create / Edit" msgstr "" @@ -589,7 +589,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: lib/bds/ui/sidebar.ex:775 +#: lib/bds/ui/sidebar.ex:786 #, elixir-autogen, elixir-format msgid "Data" msgstr "" @@ -791,12 +791,12 @@ msgstr "" msgid "Draft" msgstr "" -#: lib/bds/ui/sidebar.ex:313 +#: lib/bds/ui/sidebar.ex:317 #, elixir-autogen, elixir-format msgid "Drafts" msgstr "" -#: lib/bds/ui/sidebar.ex:271 +#: lib/bds/ui/sidebar.ex:275 #, elixir-autogen, elixir-format msgid "Drafts, published entries, and archive history" msgstr "" @@ -829,7 +829,7 @@ msgstr "" #: lib/bds/desktop/shell_live/index.html.heex:513 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:111 -#: lib/bds/ui/sidebar.ex:760 +#: lib/bds/ui/sidebar.ex:771 #, elixir-autogen, elixir-format msgid "Editor" msgstr "" @@ -991,8 +991,8 @@ msgstr "" msgid "Generate Site" msgstr "" -#: lib/bds/desktop/shell_live.ex:954 -#: lib/bds/ui/sidebar.ex:786 +#: lib/bds/desktop/shell_live.ex:980 +#: lib/bds/ui/sidebar.ex:797 #, elixir-autogen, elixir-format msgid "Git" msgstr "" @@ -1004,7 +1004,7 @@ msgid "Git Diff" msgstr "" #: lib/bds/desktop/shell_data.ex:244 -#: lib/bds/desktop/shell_live.ex:950 +#: lib/bds/desktop/shell_live.ex:976 #: lib/bds/desktop/shell_live/panel_renderer.ex:171 #, elixir-autogen, elixir-format msgid "Git Log" @@ -1043,7 +1043,7 @@ msgstr "" msgid "Ignore" msgstr "" -#: lib/bds/ui/sidebar.ex:571 +#: lib/bds/ui/sidebar.ex:582 #, elixir-autogen, elixir-format msgid "Images and files" msgstr "" @@ -1082,7 +1082,7 @@ msgstr "" #: lib/bds/ui/sidebar.ex:33 #: lib/bds/ui/sidebar.ex:90 #: lib/bds/ui/sidebar.ex:137 -#: lib/bds/ui/sidebar.ex:183 +#: lib/bds/ui/sidebar.ex:187 #, elixir-autogen, elixir-format msgid "Import" msgstr "" @@ -1117,7 +1117,7 @@ msgstr "" #: lib/bds/ui/sidebar.ex:34 #: lib/bds/ui/sidebar.ex:91 #: lib/bds/ui/sidebar.ex:138 -#: lib/bds/ui/sidebar.ex:184 +#: lib/bds/ui/sidebar.ex:188 #, elixir-autogen, elixir-format msgid "Import definitions" msgstr "" @@ -1127,9 +1127,9 @@ msgstr "" msgid "Import failed: %{error}" msgstr "" -#: lib/bds/desktop/shell_live.ex:601 -#: lib/bds/desktop/shell_live.ex:991 -#: lib/bds/desktop/shell_live.ex:997 +#: lib/bds/desktop/shell_live.ex:604 +#: lib/bds/desktop/shell_live.ex:1067 +#: lib/bds/desktop/shell_live.ex:1073 #: lib/bds/desktop/shell_live/sidebar_create.ex:47 #, elixir-autogen, elixir-format msgid "Import media" @@ -1249,7 +1249,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:50 #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:348 -#: lib/bds/ui/sidebar.ex:776 +#: lib/bds/ui/sidebar.ex:787 #, elixir-autogen, elixir-format msgid "MCP" msgstr "" @@ -1308,7 +1308,7 @@ msgstr "" #: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:100 -#: lib/bds/ui/sidebar.ex:570 +#: lib/bds/ui/sidebar.ex:581 #, elixir-autogen, elixir-format msgid "Media" msgstr "" @@ -1334,7 +1334,7 @@ msgid "Merge" msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78 -#: lib/bds/ui/sidebar.ex:747 +#: lib/bds/ui/sidebar.ex:758 #, elixir-autogen, elixir-format msgid "Merge Tags" msgstr "" @@ -1456,9 +1456,9 @@ msgstr "" #: lib/bds/desktop/shell_live/sidebar_components.ex:321 #: lib/bds/desktop/shell_live/sidebar_components.ex:381 #: lib/bds/desktop/shell_live/sidebar_components.ex:455 -#: lib/bds/ui/sidebar.ex:198 -#: lib/bds/ui/sidebar.ex:789 -#: lib/bds/ui/sidebar.ex:896 +#: lib/bds/ui/sidebar.ex:202 +#: lib/bds/ui/sidebar.ex:800 +#: lib/bds/ui/sidebar.ex:907 #, elixir-autogen, elixir-format msgid "No items" msgstr "" @@ -1478,13 +1478,13 @@ msgstr "" msgid "No matching pages found." msgstr "" -#: lib/bds/ui/sidebar.ex:292 +#: lib/bds/ui/sidebar.ex:296 #, elixir-autogen, elixir-format msgid "No matching posts" msgstr "" -#: lib/bds/ui/sidebar.ex:573 #: lib/bds/ui/sidebar.ex:584 +#: lib/bds/ui/sidebar.ex:595 #, elixir-autogen, elixir-format msgid "No media files" msgstr "" @@ -1499,7 +1499,7 @@ msgstr "" msgid "No orphan files selected" msgstr "" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No pages yet" msgstr "" @@ -1514,7 +1514,7 @@ msgstr "" msgid "No posts to link" msgstr "" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No posts yet" msgstr "" @@ -1721,7 +1721,7 @@ msgstr "" msgid "Other (%{count})" msgstr "" -#: lib/bds/desktop/shell_live.ex:949 +#: lib/bds/desktop/shell_live.ex:975 #: lib/bds/desktop/shell_live/panel_renderer.ex:83 #, elixir-autogen, elixir-format msgid "Output" @@ -1749,7 +1749,7 @@ msgid "Page Slug Conflicts" msgstr "" #: lib/bds/ui/registry.ex:22 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Pages" msgstr "" @@ -1839,7 +1839,7 @@ msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:673 #: lib/bds/desktop/shell_live/misc_editor.ex:770 #: lib/bds/ui/registry.ex:14 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Posts" msgstr "" @@ -1879,7 +1879,7 @@ msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:748 #: lib/bds/desktop/shell_live/misc_editor.ex:774 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:27 -#: lib/bds/ui/sidebar.ex:759 +#: lib/bds/ui/sidebar.ex:770 #, elixir-autogen, elixir-format msgid "Project" msgstr "" @@ -1889,7 +1889,7 @@ msgstr "" msgid "Project Name" msgstr "" -#: lib/bds/ui/sidebar.ex:756 +#: lib/bds/ui/sidebar.ex:767 #, elixir-autogen, elixir-format msgid "Project and publishing" msgstr "" @@ -1925,7 +1925,7 @@ msgstr "" #: lib/bds/desktop/shell_data.ex:181 #: lib/bds/desktop/shell_live/post_editor.ex:897 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 -#: lib/bds/ui/sidebar.ex:320 +#: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" msgstr "" @@ -1939,7 +1939,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:40 #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:335 -#: lib/bds/ui/sidebar.ex:771 +#: lib/bds/ui/sidebar.ex:782 #, elixir-autogen, elixir-format msgid "Publishing" msgstr "" @@ -2227,7 +2227,7 @@ msgstr "" #: lib/bds/ui/registry.ex:38 #: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:115 -#: lib/bds/ui/sidebar.ex:154 +#: lib/bds/ui/sidebar.ex:158 #, elixir-autogen, elixir-format msgid "Scripts" msgstr "" @@ -2238,12 +2238,12 @@ msgid "Search" msgstr "" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:99 -#: lib/bds/ui/sidebar.ex:576 +#: lib/bds/ui/sidebar.ex:587 #, elixir-autogen, elixir-format msgid "Search media..." msgstr "" -#: lib/bds/ui/sidebar.ex:280 +#: lib/bds/ui/sidebar.ex:284 #, elixir-autogen, elixir-format msgid "Search pages..." msgstr "" @@ -2254,7 +2254,7 @@ msgid "Search posts" msgstr "" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:62 -#: lib/bds/ui/sidebar.ex:281 +#: lib/bds/ui/sidebar.ex:285 #, elixir-autogen, elixir-format msgid "Search posts..." msgstr "" @@ -2330,7 +2330,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11 #: lib/bds/ui/registry.ex:86 #: lib/bds/ui/registry.ex:101 -#: lib/bds/ui/sidebar.ex:755 +#: lib/bds/ui/sidebar.ex:766 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" @@ -2361,7 +2361,7 @@ msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:156 #: lib/bds/ui/sidebar.ex:72 #: lib/bds/ui/sidebar.ex:123 -#: lib/bds/ui/sidebar.ex:164 +#: lib/bds/ui/sidebar.ex:168 #, elixir-autogen, elixir-format msgid "Site rendering" msgstr "" @@ -2385,7 +2385,7 @@ msgstr "" msgid "Source Control" msgstr "" -#: lib/bds/ui/sidebar.ex:270 +#: lib/bds/ui/sidebar.ex:274 #, elixir-autogen, elixir-format msgid "Standalone pages" msgstr "" @@ -2416,7 +2416,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/style_editor.ex:74 #: lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex:3 #: lib/bds/ui/registry.ex:102 -#: lib/bds/ui/sidebar.ex:777 +#: lib/bds/ui/sidebar.ex:788 #, elixir-autogen, elixir-format msgid "Style" msgstr "" @@ -2447,12 +2447,12 @@ msgid "System Prompt" msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16 -#: lib/bds/ui/sidebar.ex:745 +#: lib/bds/ui/sidebar.ex:756 #, elixir-autogen, elixir-format msgid "Tag Cloud" msgstr "" -#: lib/bds/ui/sidebar.ex:742 +#: lib/bds/ui/sidebar.ex:753 #, elixir-autogen, elixir-format msgid "Tag management" msgstr "" @@ -2476,21 +2476,21 @@ msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:103 -#: lib/bds/ui/sidebar.ex:285 -#: lib/bds/ui/sidebar.ex:579 -#: lib/bds/ui/sidebar.ex:741 +#: lib/bds/ui/sidebar.ex:289 +#: lib/bds/ui/sidebar.ex:590 +#: lib/bds/ui/sidebar.ex:752 #, elixir-autogen, elixir-format msgid "Tags" msgstr "" -#: lib/bds/desktop/shell_live.ex:948 +#: lib/bds/desktop/shell_live.ex:974 #: lib/bds/desktop/shell_live/panel_renderer.ex:54 #, elixir-autogen, elixir-format msgid "Tasks" msgstr "" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:318 -#: lib/bds/ui/sidebar.ex:765 +#: lib/bds/ui/sidebar.ex:776 #, elixir-autogen, elixir-format msgid "Technology" msgstr "" @@ -2532,7 +2532,7 @@ msgstr "" #: lib/bds/ui/registry.ex:46 #: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:122 -#: lib/bds/ui/sidebar.ex:163 +#: lib/bds/ui/sidebar.ex:167 #, elixir-autogen, elixir-format msgid "Templates" msgstr "" @@ -2593,8 +2593,8 @@ msgstr "" msgid "Toggle Dev Tools" msgstr "" -#: lib/bds/ui/sidebar.ex:283 -#: lib/bds/ui/sidebar.ex:577 +#: lib/bds/ui/sidebar.ex:287 +#: lib/bds/ui/sidebar.ex:588 #, elixir-autogen, elixir-format msgid "Toggle Filters" msgstr "" @@ -2735,7 +2735,7 @@ msgstr "" #: lib/bds/desktop/shell_live/import_editor.ex:867 #: lib/bds/desktop/shell_live/post_editor/post_metadata.ex:166 -#: lib/bds/ui/sidebar.ex:1105 +#: lib/bds/ui/sidebar.ex:1116 #, elixir-autogen, elixir-format msgid "Untitled" msgstr "" @@ -2834,7 +2834,7 @@ msgid "Working tree" msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:191 -#: lib/bds/ui/sidebar.ex:787 +#: lib/bds/ui/sidebar.ex:798 #, elixir-autogen, elixir-format msgid "Working tree and history" msgstr "" @@ -3010,14 +3010,14 @@ msgstr "" msgid "posts" msgstr "" -#: lib/bds/ui/sidebar.ex:290 -#: lib/bds/ui/sidebar.ex:582 +#: lib/bds/ui/sidebar.ex:294 +#: lib/bds/ui/sidebar.ex:593 #, elixir-autogen, elixir-format msgid "results" msgstr "" -#: lib/bds/ui/sidebar.ex:291 -#: lib/bds/ui/sidebar.ex:583 +#: lib/bds/ui/sidebar.ex:295 +#: lib/bds/ui/sidebar.ex:594 #, elixir-autogen, elixir-format msgid "results for" msgstr "" @@ -3177,12 +3177,12 @@ msgstr "" msgid "Comparing database and filesystem metadata" msgstr "Comparing database and filesystem metadata" -#: lib/bds/desktop/shell_live.ex:671 +#: lib/bds/desktop/shell_live.ex:680 #, elixir-autogen, elixir-format msgid "Added %{count} images to post" msgstr "Added %{count} images to post" -#: lib/bds/desktop/shell_live.ex:642 +#: lib/bds/desktop/shell_live.ex:648 #, elixir-autogen, elixir-format msgid "Added %{title}" msgstr "Added %{title}" @@ -3202,18 +3202,18 @@ msgstr "" msgid "Image Import Concurrency" msgstr "Image Import Concurrency" -#: lib/bds/desktop/shell_live.ex:429 -#: lib/bds/desktop/shell_live.ex:442 -#: lib/bds/desktop/shell_live.ex:642 -#: lib/bds/desktop/shell_live.ex:670 +#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:443 +#: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:679 -#: lib/bds/desktop/shell_live.ex:686 +#: lib/bds/desktop/shell_live.ex:690 +#: lib/bds/desktop/shell_live.ex:701 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Add Gallery Images" -#: lib/bds/desktop/shell_live.ex:687 +#: lib/bds/desktop/shell_live.ex:702 #, elixir-autogen, elixir-format msgid "Failed to process %{path}: %{reason}" msgstr "Failed to process %{path}: %{reason}" @@ -3263,9 +3263,9 @@ msgstr "" msgid "Changes" msgstr "" -#: lib/bds/desktop/shell_live.ex:1055 -#: lib/bds/desktop/shell_live.ex:1071 -#: lib/bds/desktop/shell_live.ex:1077 +#: lib/bds/desktop/shell_live.ex:1131 +#: lib/bds/desktop/shell_live.ex:1147 +#: lib/bds/desktop/shell_live.ex:1153 #: lib/bds/desktop/shell_live/sidebar_components.ex:556 #, elixir-autogen, elixir-format msgid "Commit" @@ -3276,17 +3276,17 @@ msgstr "" msgid "Commit message" msgstr "" -#: lib/bds/desktop/shell_live.ex:1056 +#: lib/bds/desktop/shell_live.ex:1132 #, elixir-autogen, elixir-format msgid "Commit message is required" msgstr "" -#: lib/bds/desktop/shell_live.ex:1120 +#: lib/bds/desktop/shell_live.ex:1200 #, elixir-autogen, elixir-format, fuzzy msgid "Done" msgstr "" -#: lib/bds/desktop/shell_live.ex:1041 +#: lib/bds/desktop/shell_live.ex:1117 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #, elixir-autogen, elixir-format @@ -3298,8 +3298,8 @@ msgstr "" msgid "History" msgstr "" -#: lib/bds/desktop/shell_live.ex:1091 -#: lib/bds/desktop/shell_live.ex:1099 +#: lib/bds/desktop/shell_live.ex:1167 +#: lib/bds/desktop/shell_live.ex:1175 #: lib/bds/desktop/shell_live/sidebar_components.ex:513 #, elixir-autogen, elixir-format msgid "Initialize Git" @@ -3310,7 +3310,7 @@ msgstr "" msgid "Local only" msgstr "" -#: lib/bds/desktop/shell_live.ex:1127 +#: lib/bds/desktop/shell_live.ex:1207 #, elixir-autogen, elixir-format msgid "No active project" msgstr "" @@ -3330,21 +3330,21 @@ msgstr "" msgid "Older history available" msgstr "" -#: lib/bds/desktop/shell_live.ex:1044 +#: lib/bds/desktop/shell_live.ex:1120 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #, elixir-autogen, elixir-format msgid "Prune LFS" msgstr "" -#: lib/bds/desktop/shell_live.ex:1042 +#: lib/bds/desktop/shell_live.ex:1118 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #, elixir-autogen, elixir-format msgid "Pull" msgstr "" -#: lib/bds/desktop/shell_live.ex:1043 +#: lib/bds/desktop/shell_live.ex:1119 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #, elixir-autogen, elixir-format, fuzzy @@ -3361,7 +3361,7 @@ msgstr "" msgid "Remote only" msgstr "" -#: lib/bds/desktop/shell_live.ex:1092 +#: lib/bds/desktop/shell_live.ex:1168 #, elixir-autogen, elixir-format msgid "Repository initialized" msgstr "" @@ -3376,28 +3376,38 @@ msgstr "" msgid "This project is not a Git repository yet." msgstr "" -#: lib/bds/ui/sidebar.ex:869 +#: lib/bds/ui/sidebar.ex:880 #, elixir-autogen, elixir-format, fuzzy msgid "added" msgstr "" -#: lib/bds/ui/sidebar.ex:870 +#: lib/bds/ui/sidebar.ex:881 #, elixir-autogen, elixir-format, fuzzy msgid "deleted" msgstr "" -#: lib/bds/ui/sidebar.ex:871 -#: lib/bds/ui/sidebar.ex:874 +#: lib/bds/ui/sidebar.ex:882 +#: lib/bds/ui/sidebar.ex:885 #, elixir-autogen, elixir-format msgid "modified" msgstr "" -#: lib/bds/ui/sidebar.ex:872 +#: lib/bds/ui/sidebar.ex:883 #, elixir-autogen, elixir-format, fuzzy msgid "renamed" msgstr "" -#: lib/bds/ui/sidebar.ex:873 +#: lib/bds/ui/sidebar.ex:884 #, elixir-autogen, elixir-format msgid "untracked" msgstr "" + +#: lib/bds/desktop/shell_live.ex:1012 +#, elixir-autogen, elixir-format, fuzzy +msgid "Blogmark" +msgstr "Blogmark" + +#: lib/bds/desktop/shell_live.ex:1040 +#, elixir-autogen, elixir-format +msgid "Open a project before importing a blogmark." +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/render.po b/priv/gettext/es/LC_MESSAGES/render.po index 6a31b53..7052a4f 100644 --- a/priv/gettext/es/LC_MESSAGES/render.po +++ b/priv/gettext/es/LC_MESSAGES/render.po @@ -1,6 +1,6 @@ #: lib/bds/rendering/labels.ex:18 -#: lib/bds/ui/sidebar.ex:284 -#: lib/bds/ui/sidebar.ex:578 +#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:589 #, elixir-autogen, elixir-format msgid "Archive" msgstr "Archivo" diff --git a/priv/gettext/es/LC_MESSAGES/ui.po b/priv/gettext/es/LC_MESSAGES/ui.po index 418674b..9d52e31 100644 --- a/priv/gettext/es/LC_MESSAGES/ui.po +++ b/priv/gettext/es/LC_MESSAGES/ui.po @@ -59,7 +59,7 @@ msgid "--" msgstr "--" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:217 -#: lib/bds/ui/sidebar.ex:762 +#: lib/bds/ui/sidebar.ex:773 #, elixir-autogen, elixir-format msgid "AI" msgstr "IA" @@ -89,7 +89,7 @@ msgstr "Sugerencias de IA" #: lib/bds/desktop/shell_live/tab_helpers.ex:166 #: lib/bds/ui/sidebar.ex:83 #: lib/bds/ui/sidebar.ex:131 -#: lib/bds/ui/sidebar.ex:175 +#: lib/bds/ui/sidebar.ex:179 #, elixir-autogen, elixir-format msgid "AI conversations" msgstr "Conversaciones de IA" @@ -222,7 +222,7 @@ msgid "Apply Theme" msgstr "Aplicar tema" #: lib/bds/desktop/shell_data.ex:182 -#: lib/bds/ui/sidebar.ex:327 +#: lib/bds/ui/sidebar.ex:331 #, elixir-autogen, elixir-format msgid "Archived" msgstr "Archivado" @@ -257,7 +257,7 @@ msgid "Auto" msgstr "Automático" #: lib/bds/desktop/shell_data.ex:98 -#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:431 #: lib/bds/desktop/shell_live/chat_editor.ex:231 #: lib/bds/desktop/shell_live/media_editor.ex:156 #: lib/bds/desktop/shell_live/media_editor.ex:349 @@ -272,7 +272,7 @@ msgstr "Las acciones automáticas de IA siguen bloqueadas por el modo avión." #: lib/bds/desktop/shell_live/tab_helpers.ex:146 #: lib/bds/ui/sidebar.ex:64 #: lib/bds/ui/sidebar.ex:116 -#: lib/bds/ui/sidebar.ex:155 +#: lib/bds/ui/sidebar.ex:159 #, elixir-autogen, elixir-format msgid "Automation helpers" msgstr "Ayudas de automatización" @@ -374,7 +374,7 @@ msgstr "Leyenda" #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:131 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:144 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:158 -#: lib/bds/ui/sidebar.ex:286 +#: lib/bds/ui/sidebar.ex:290 #, elixir-autogen, elixir-format msgid "Categories" msgstr "Categorías" @@ -404,7 +404,7 @@ msgstr "Valores predeterminados de categoría, opciones de renderizado y conexi msgid "Category name is required" msgstr "El nombre de la categoría es obligatorio" -#: lib/bds/desktop/shell_live.ex:953 +#: lib/bds/desktop/shell_live.ex:979 #: lib/bds/desktop/shell_live/chat_editor.ex:87 #: lib/bds/desktop/shell_live/chat_editor.ex:230 #: lib/bds/desktop/shell_live/chat_editor.ex:318 @@ -413,7 +413,7 @@ msgstr "El nombre de la categoría es obligatorio" #: lib/bds/ui/registry.ex:104 #: lib/bds/ui/sidebar.ex:82 #: lib/bds/ui/sidebar.ex:130 -#: lib/bds/ui/sidebar.ex:174 +#: lib/bds/ui/sidebar.ex:178 #, elixir-autogen, elixir-format msgid "Chat" msgstr "Chat" @@ -433,13 +433,13 @@ msgstr "Filas de BD revisadas: %{dbRows} · Archivos revisados: %{files} · Fila msgid "Clear" msgstr "Limpiar" -#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:292 #, elixir-autogen, elixir-format msgid "Clear categories" msgstr "Limpiar categorías" -#: lib/bds/ui/sidebar.ex:289 -#: lib/bds/ui/sidebar.ex:581 +#: lib/bds/ui/sidebar.ex:293 +#: lib/bds/ui/sidebar.ex:592 #, elixir-autogen, elixir-format msgid "Clear filters" msgstr "Limpiar filtros" @@ -450,8 +450,8 @@ msgstr "Limpiar filtros" msgid "Clear mapping" msgstr "Borrar mapeo" -#: lib/bds/ui/sidebar.ex:287 -#: lib/bds/ui/sidebar.ex:580 +#: lib/bds/ui/sidebar.ex:291 +#: lib/bds/ui/sidebar.ex:591 #, elixir-autogen, elixir-format msgid "Clear tags" msgstr "Limpiar etiquetas" @@ -502,7 +502,7 @@ msgstr "Confirmar" #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 #: 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/ui/sidebar.ex:761 +#: lib/bds/ui/sidebar.ex:772 #, elixir-autogen, elixir-format msgid "Content" msgstr "Contenido" @@ -543,7 +543,7 @@ msgid "Create" msgstr "Crear" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:36 -#: lib/bds/ui/sidebar.ex:746 +#: lib/bds/ui/sidebar.ex:757 #, elixir-autogen, elixir-format msgid "Create / Edit" msgstr "Crear / editar" @@ -589,7 +589,7 @@ msgstr "Oscuro" msgid "Dashboard" msgstr "Panel" -#: lib/bds/ui/sidebar.ex:775 +#: lib/bds/ui/sidebar.ex:786 #, elixir-autogen, elixir-format msgid "Data" msgstr "Datos" @@ -791,12 +791,12 @@ msgstr "Documentación" msgid "Draft" msgstr "Borrador" -#: lib/bds/ui/sidebar.ex:313 +#: lib/bds/ui/sidebar.ex:317 #, elixir-autogen, elixir-format msgid "Drafts" msgstr "Borradores" -#: lib/bds/ui/sidebar.ex:271 +#: lib/bds/ui/sidebar.ex:275 #, elixir-autogen, elixir-format msgid "Drafts, published entries, and archive history" msgstr "Borradores, entradas publicadas e historial de archivo" @@ -829,7 +829,7 @@ msgstr "Editar traducción" #: lib/bds/desktop/shell_live/index.html.heex:513 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:111 -#: lib/bds/ui/sidebar.ex:760 +#: lib/bds/ui/sidebar.ex:771 #, elixir-autogen, elixir-format msgid "Editor" msgstr "Editor" @@ -991,8 +991,8 @@ msgstr "Galeria" msgid "Generate Site" msgstr "Generar sitio" -#: lib/bds/desktop/shell_live.ex:954 -#: lib/bds/ui/sidebar.ex:786 +#: lib/bds/desktop/shell_live.ex:980 +#: lib/bds/ui/sidebar.ex:797 #, elixir-autogen, elixir-format msgid "Git" msgstr "Git" @@ -1004,7 +1004,7 @@ msgid "Git Diff" msgstr "Diff de Git" #: lib/bds/desktop/shell_data.ex:244 -#: lib/bds/desktop/shell_live.ex:950 +#: lib/bds/desktop/shell_live.ex:976 #: lib/bds/desktop/shell_live/panel_renderer.ex:171 #, elixir-autogen, elixir-format msgid "Git Log" @@ -1043,7 +1043,7 @@ msgstr "Inactivo" msgid "Ignore" msgstr "Ignorar" -#: lib/bds/ui/sidebar.ex:571 +#: lib/bds/ui/sidebar.ex:582 #, elixir-autogen, elixir-format msgid "Images and files" msgstr "Imágenes y archivos" @@ -1082,7 +1082,7 @@ msgstr "Imágenes y archivos" #: lib/bds/ui/sidebar.ex:33 #: lib/bds/ui/sidebar.ex:90 #: lib/bds/ui/sidebar.ex:137 -#: lib/bds/ui/sidebar.ex:183 +#: lib/bds/ui/sidebar.ex:187 #, elixir-autogen, elixir-format msgid "Import" msgstr "Importar" @@ -1117,7 +1117,7 @@ msgstr "Importación completada: %{count}" #: lib/bds/ui/sidebar.ex:34 #: lib/bds/ui/sidebar.ex:91 #: lib/bds/ui/sidebar.ex:138 -#: lib/bds/ui/sidebar.ex:184 +#: lib/bds/ui/sidebar.ex:188 #, elixir-autogen, elixir-format msgid "Import definitions" msgstr "Definiciones de importación" @@ -1127,9 +1127,9 @@ msgstr "Definiciones de importación" msgid "Import failed: %{error}" msgstr "La importación falló: %{error}" -#: lib/bds/desktop/shell_live.ex:601 -#: lib/bds/desktop/shell_live.ex:991 -#: lib/bds/desktop/shell_live.ex:997 +#: lib/bds/desktop/shell_live.ex:604 +#: lib/bds/desktop/shell_live.ex:1067 +#: lib/bds/desktop/shell_live.ex:1073 #: lib/bds/desktop/shell_live/sidebar_create.ex:47 #, elixir-autogen, elixir-format msgid "Import media" @@ -1249,7 +1249,7 @@ msgstr "Cargar más" #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:50 #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:348 -#: lib/bds/ui/sidebar.ex:776 +#: lib/bds/ui/sidebar.ex:787 #, elixir-autogen, elixir-format msgid "MCP" msgstr "MCP" @@ -1308,7 +1308,7 @@ msgstr "Máximo de publicaciones por página" #: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:100 -#: lib/bds/ui/sidebar.ex:570 +#: lib/bds/ui/sidebar.ex:581 #, elixir-autogen, elixir-format msgid "Media" msgstr "Medios" @@ -1334,7 +1334,7 @@ msgid "Merge" msgstr "Fusionar" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78 -#: lib/bds/ui/sidebar.ex:747 +#: lib/bds/ui/sidebar.ex:758 #, elixir-autogen, elixir-format msgid "Merge Tags" msgstr "Combinar etiquetas" @@ -1456,9 +1456,9 @@ msgstr "Aún no hay historial de Git" #: lib/bds/desktop/shell_live/sidebar_components.ex:321 #: lib/bds/desktop/shell_live/sidebar_components.ex:381 #: lib/bds/desktop/shell_live/sidebar_components.ex:455 -#: lib/bds/ui/sidebar.ex:198 -#: lib/bds/ui/sidebar.ex:789 -#: lib/bds/ui/sidebar.ex:896 +#: lib/bds/ui/sidebar.ex:202 +#: lib/bds/ui/sidebar.ex:800 +#: lib/bds/ui/sidebar.ex:907 #, elixir-autogen, elixir-format msgid "No items" msgstr "No hay elementos" @@ -1478,13 +1478,13 @@ msgstr "No se encontraron categorías coincidentes." msgid "No matching pages found." msgstr "No se encontraron páginas coincidentes." -#: lib/bds/ui/sidebar.ex:292 +#: lib/bds/ui/sidebar.ex:296 #, elixir-autogen, elixir-format msgid "No matching posts" msgstr "No hay entradas coincidentes" -#: lib/bds/ui/sidebar.ex:573 #: lib/bds/ui/sidebar.ex:584 +#: lib/bds/ui/sidebar.ex:595 #, elixir-autogen, elixir-format msgid "No media files" msgstr "No hay archivos multimedia" @@ -1499,7 +1499,7 @@ msgstr "No hay elementos del diff de metadatos seleccionados" msgid "No orphan files selected" msgstr "No hay archivos huérfanos seleccionados" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No pages yet" msgstr "Aún no hay páginas" @@ -1514,7 +1514,7 @@ msgstr "Aún no hay enlaces a artículos" msgid "No posts to link" msgstr "No hay publicaciones para enlazar" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No posts yet" msgstr "Aún no hay entradas" @@ -1721,7 +1721,7 @@ msgstr "Otros" msgid "Other (%{count})" msgstr "Otros (%{count})" -#: lib/bds/desktop/shell_live.ex:949 +#: lib/bds/desktop/shell_live.ex:975 #: lib/bds/desktop/shell_live/panel_renderer.ex:83 #, elixir-autogen, elixir-format msgid "Output" @@ -1749,7 +1749,7 @@ msgid "Page Slug Conflicts" msgstr "Conflictos de slug de páginas" #: lib/bds/ui/registry.ex:22 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Pages" msgstr "Páginas" @@ -1839,7 +1839,7 @@ msgstr "Artículo guardado" #: lib/bds/desktop/shell_live/misc_editor.ex:673 #: lib/bds/desktop/shell_live/misc_editor.ex:770 #: lib/bds/ui/registry.ex:14 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Posts" msgstr "Publicaciones" @@ -1879,7 +1879,7 @@ msgstr "Vista previa no disponible" #: lib/bds/desktop/shell_live/misc_editor.ex:748 #: lib/bds/desktop/shell_live/misc_editor.ex:774 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:27 -#: lib/bds/ui/sidebar.ex:759 +#: lib/bds/ui/sidebar.ex:770 #, elixir-autogen, elixir-format msgid "Project" msgstr "Proyecto" @@ -1889,7 +1889,7 @@ msgstr "Proyecto" msgid "Project Name" msgstr "Nombre del proyecto" -#: lib/bds/ui/sidebar.ex:756 +#: lib/bds/ui/sidebar.ex:767 #, elixir-autogen, elixir-format msgid "Project and publishing" msgstr "Proyecto y publicación" @@ -1925,7 +1925,7 @@ msgstr "Publicar seleccionados" #: lib/bds/desktop/shell_data.ex:181 #: lib/bds/desktop/shell_live/post_editor.ex:897 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 -#: lib/bds/ui/sidebar.ex:320 +#: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" msgstr "Publicado" @@ -1939,7 +1939,7 @@ msgstr "Traducción publicada con contenido en la BD en lugar del sistema de arc #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:40 #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:335 -#: lib/bds/ui/sidebar.ex:771 +#: lib/bds/ui/sidebar.ex:782 #, elixir-autogen, elixir-format msgid "Publishing" msgstr "Publicación" @@ -2227,7 +2227,7 @@ msgstr "Las capacidades de scripts se configuran en la capa de aplicación en la #: lib/bds/ui/registry.ex:38 #: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:115 -#: lib/bds/ui/sidebar.ex:154 +#: lib/bds/ui/sidebar.ex:158 #, elixir-autogen, elixir-format msgid "Scripts" msgstr "Scripts" @@ -2238,12 +2238,12 @@ msgid "Search" msgstr "Buscar" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:99 -#: lib/bds/ui/sidebar.ex:576 +#: lib/bds/ui/sidebar.ex:587 #, elixir-autogen, elixir-format msgid "Search media..." msgstr "Buscar medios..." -#: lib/bds/ui/sidebar.ex:280 +#: lib/bds/ui/sidebar.ex:284 #, elixir-autogen, elixir-format msgid "Search pages..." msgstr "Buscar páginas..." @@ -2254,7 +2254,7 @@ msgid "Search posts" msgstr "Buscar publicaciones" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:62 -#: lib/bds/ui/sidebar.ex:281 +#: lib/bds/ui/sidebar.ex:285 #, elixir-autogen, elixir-format msgid "Search posts..." msgstr "Buscar entradas..." @@ -2330,7 +2330,7 @@ msgstr "Similitud semántica" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11 #: lib/bds/ui/registry.ex:86 #: lib/bds/ui/registry.ex:101 -#: lib/bds/ui/sidebar.ex:755 +#: lib/bds/ui/sidebar.ex:766 #, elixir-autogen, elixir-format msgid "Settings" msgstr "Configuración" @@ -2361,7 +2361,7 @@ msgstr "Validación del sitio" #: lib/bds/desktop/shell_live/tab_helpers.ex:156 #: lib/bds/ui/sidebar.ex:72 #: lib/bds/ui/sidebar.ex:123 -#: lib/bds/ui/sidebar.ex:164 +#: lib/bds/ui/sidebar.ex:168 #, elixir-autogen, elixir-format msgid "Site rendering" msgstr "Renderizado del sitio" @@ -2385,7 +2385,7 @@ msgstr "Slug" msgid "Source Control" msgstr "Control de código fuente" -#: lib/bds/ui/sidebar.ex:270 +#: lib/bds/ui/sidebar.ex:274 #, elixir-autogen, elixir-format msgid "Standalone pages" msgstr "Páginas independientes" @@ -2416,7 +2416,7 @@ msgstr "Detener" #: lib/bds/desktop/shell_live/settings_editor/style_editor.ex:74 #: lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex:3 #: lib/bds/ui/registry.ex:102 -#: lib/bds/ui/sidebar.ex:777 +#: lib/bds/ui/sidebar.ex:788 #, elixir-autogen, elixir-format msgid "Style" msgstr "Estilo" @@ -2447,12 +2447,12 @@ msgid "System Prompt" msgstr "Prompt del sistema" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16 -#: lib/bds/ui/sidebar.ex:745 +#: lib/bds/ui/sidebar.ex:756 #, elixir-autogen, elixir-format msgid "Tag Cloud" msgstr "Nube de etiquetas" -#: lib/bds/ui/sidebar.ex:742 +#: lib/bds/ui/sidebar.ex:753 #, elixir-autogen, elixir-format msgid "Tag management" msgstr "Gestión de etiquetas" @@ -2476,21 +2476,21 @@ msgstr "Nombre de la etiqueta" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:103 -#: lib/bds/ui/sidebar.ex:285 -#: lib/bds/ui/sidebar.ex:579 -#: lib/bds/ui/sidebar.ex:741 +#: lib/bds/ui/sidebar.ex:289 +#: lib/bds/ui/sidebar.ex:590 +#: lib/bds/ui/sidebar.ex:752 #, elixir-autogen, elixir-format msgid "Tags" msgstr "Etiquetas" -#: lib/bds/desktop/shell_live.ex:948 +#: lib/bds/desktop/shell_live.ex:974 #: lib/bds/desktop/shell_live/panel_renderer.ex:54 #, elixir-autogen, elixir-format msgid "Tasks" msgstr "Tareas" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:318 -#: lib/bds/ui/sidebar.ex:765 +#: lib/bds/ui/sidebar.ex:776 #, elixir-autogen, elixir-format msgid "Technology" msgstr "Tecnología" @@ -2532,7 +2532,7 @@ msgstr "La sintaxis de la plantilla es válida" #: lib/bds/ui/registry.ex:46 #: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:122 -#: lib/bds/ui/sidebar.ex:163 +#: lib/bds/ui/sidebar.ex:167 #, elixir-autogen, elixir-format msgid "Templates" msgstr "Plantillas" @@ -2593,8 +2593,8 @@ msgstr "Alternar asistente" msgid "Toggle Dev Tools" msgstr "Alternar herramientas de desarrollo" -#: lib/bds/ui/sidebar.ex:283 -#: lib/bds/ui/sidebar.ex:577 +#: lib/bds/ui/sidebar.ex:287 +#: lib/bds/ui/sidebar.ex:588 #, elixir-autogen, elixir-format msgid "Toggle Filters" msgstr "Alternar filtros" @@ -2735,7 +2735,7 @@ msgstr "Sin guardar" #: lib/bds/desktop/shell_live/import_editor.ex:867 #: lib/bds/desktop/shell_live/post_editor/post_metadata.ex:166 -#: lib/bds/ui/sidebar.ex:1105 +#: lib/bds/ui/sidebar.ex:1116 #, elixir-autogen, elixir-format msgid "Untitled" msgstr "Sin título" @@ -2834,7 +2834,7 @@ msgid "Working tree" msgstr "Árbol de trabajo" #: lib/bds/desktop/shell_live/tab_helpers.ex:191 -#: lib/bds/ui/sidebar.ex:787 +#: lib/bds/ui/sidebar.ex:798 #, elixir-autogen, elixir-format msgid "Working tree and history" msgstr "Árbol de trabajo e historial" @@ -3010,14 +3010,14 @@ msgstr "páginas" msgid "posts" msgstr "publicaciones" -#: lib/bds/ui/sidebar.ex:290 -#: lib/bds/ui/sidebar.ex:582 +#: lib/bds/ui/sidebar.ex:294 +#: lib/bds/ui/sidebar.ex:593 #, elixir-autogen, elixir-format msgid "results" msgstr "resultados" -#: lib/bds/ui/sidebar.ex:291 -#: lib/bds/ui/sidebar.ex:583 +#: lib/bds/ui/sidebar.ex:295 +#: lib/bds/ui/sidebar.ex:594 #, elixir-autogen, elixir-format msgid "results for" msgstr "resultados para" @@ -3177,12 +3177,12 @@ msgstr "Bienvenido al asistente de IA" msgid "Comparing database and filesystem metadata" msgstr "Comparando metadatos de la base de datos y del sistema de archivos" -#: lib/bds/desktop/shell_live.ex:671 +#: lib/bds/desktop/shell_live.ex:680 #, elixir-autogen, elixir-format msgid "Added %{count} images to post" msgstr "%{count} imágenes añadidas a la publicación" -#: lib/bds/desktop/shell_live.ex:642 +#: lib/bds/desktop/shell_live.ex:648 #, elixir-autogen, elixir-format msgid "Added %{title}" msgstr "%{title} añadido" @@ -3202,18 +3202,18 @@ msgstr "Guía del usuario para flujos editoriales, medios, plantillas, traducci msgid "Image Import Concurrency" msgstr "Importación simultánea de imágenes" -#: lib/bds/desktop/shell_live.ex:429 -#: lib/bds/desktop/shell_live.ex:442 -#: lib/bds/desktop/shell_live.ex:642 -#: lib/bds/desktop/shell_live.ex:670 +#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:443 +#: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:679 -#: lib/bds/desktop/shell_live.ex:686 +#: lib/bds/desktop/shell_live.ex:690 +#: lib/bds/desktop/shell_live.ex:701 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Añadir imágenes a la galería" -#: lib/bds/desktop/shell_live.ex:687 +#: lib/bds/desktop/shell_live.ex:702 #, elixir-autogen, elixir-format msgid "Failed to process %{path}: %{reason}" msgstr "No se pudo procesar %{path}: %{reason}" @@ -3263,9 +3263,9 @@ msgstr "Atrás" msgid "Changes" msgstr "Cambios" -#: lib/bds/desktop/shell_live.ex:1055 -#: lib/bds/desktop/shell_live.ex:1071 -#: lib/bds/desktop/shell_live.ex:1077 +#: lib/bds/desktop/shell_live.ex:1131 +#: lib/bds/desktop/shell_live.ex:1147 +#: lib/bds/desktop/shell_live.ex:1153 #: lib/bds/desktop/shell_live/sidebar_components.ex:556 #, elixir-autogen, elixir-format msgid "Commit" @@ -3276,17 +3276,17 @@ msgstr "Commit" msgid "Commit message" msgstr "Mensaje de commit" -#: lib/bds/desktop/shell_live.ex:1056 +#: lib/bds/desktop/shell_live.ex:1132 #, elixir-autogen, elixir-format msgid "Commit message is required" msgstr "Se requiere un mensaje de commit" -#: lib/bds/desktop/shell_live.ex:1120 +#: lib/bds/desktop/shell_live.ex:1200 #, elixir-autogen, elixir-format msgid "Done" msgstr "Listo" -#: lib/bds/desktop/shell_live.ex:1041 +#: lib/bds/desktop/shell_live.ex:1117 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #, elixir-autogen, elixir-format @@ -3298,8 +3298,8 @@ msgstr "Obtener" msgid "History" msgstr "Historial" -#: lib/bds/desktop/shell_live.ex:1091 -#: lib/bds/desktop/shell_live.ex:1099 +#: lib/bds/desktop/shell_live.ex:1167 +#: lib/bds/desktop/shell_live.ex:1175 #: lib/bds/desktop/shell_live/sidebar_components.ex:513 #, elixir-autogen, elixir-format msgid "Initialize Git" @@ -3310,7 +3310,7 @@ msgstr "Inicializar Git" msgid "Local only" msgstr "Solo local" -#: lib/bds/desktop/shell_live.ex:1127 +#: lib/bds/desktop/shell_live.ex:1207 #, elixir-autogen, elixir-format msgid "No active project" msgstr "Sin proyecto activo" @@ -3330,21 +3330,21 @@ msgstr "Aún no hay commits" msgid "Older history available" msgstr "Hay historial más antiguo disponible" -#: lib/bds/desktop/shell_live.ex:1044 +#: lib/bds/desktop/shell_live.ex:1120 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #, elixir-autogen, elixir-format msgid "Prune LFS" msgstr "Limpiar LFS" -#: lib/bds/desktop/shell_live.ex:1042 +#: lib/bds/desktop/shell_live.ex:1118 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #, elixir-autogen, elixir-format msgid "Pull" msgstr "Pull" -#: lib/bds/desktop/shell_live.ex:1043 +#: lib/bds/desktop/shell_live.ex:1119 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #, elixir-autogen, elixir-format @@ -3361,7 +3361,7 @@ msgstr "URL remota (opcional)" msgid "Remote only" msgstr "Solo remoto" -#: lib/bds/desktop/shell_live.ex:1092 +#: lib/bds/desktop/shell_live.ex:1168 #, elixir-autogen, elixir-format msgid "Repository initialized" msgstr "Repositorio inicializado" @@ -3376,28 +3376,38 @@ msgstr "Sincronizado" msgid "This project is not a Git repository yet." msgstr "Este proyecto aún no es un repositorio Git." -#: lib/bds/ui/sidebar.ex:869 +#: lib/bds/ui/sidebar.ex:880 #, elixir-autogen, elixir-format msgid "added" msgstr "añadido" -#: lib/bds/ui/sidebar.ex:870 +#: lib/bds/ui/sidebar.ex:881 #, elixir-autogen, elixir-format msgid "deleted" msgstr "eliminado" -#: lib/bds/ui/sidebar.ex:871 -#: lib/bds/ui/sidebar.ex:874 +#: lib/bds/ui/sidebar.ex:882 +#: lib/bds/ui/sidebar.ex:885 #, elixir-autogen, elixir-format msgid "modified" msgstr "modificado" -#: lib/bds/ui/sidebar.ex:872 +#: lib/bds/ui/sidebar.ex:883 #, elixir-autogen, elixir-format msgid "renamed" msgstr "renombrado" -#: lib/bds/ui/sidebar.ex:873 +#: lib/bds/ui/sidebar.ex:884 #, elixir-autogen, elixir-format msgid "untracked" msgstr "sin seguimiento" + +#: lib/bds/desktop/shell_live.ex:1012 +#, elixir-autogen, elixir-format +msgid "Blogmark" +msgstr "Blogmark" + +#: lib/bds/desktop/shell_live.ex:1040 +#, elixir-autogen, elixir-format +msgid "Open a project before importing a blogmark." +msgstr "Abre un proyecto antes de importar un blogmark." diff --git a/priv/gettext/fr/LC_MESSAGES/render.po b/priv/gettext/fr/LC_MESSAGES/render.po index 34aa07e..091f647 100644 --- a/priv/gettext/fr/LC_MESSAGES/render.po +++ b/priv/gettext/fr/LC_MESSAGES/render.po @@ -1,6 +1,6 @@ #: lib/bds/rendering/labels.ex:18 -#: lib/bds/ui/sidebar.ex:284 -#: lib/bds/ui/sidebar.ex:578 +#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:589 #, elixir-autogen, elixir-format msgid "Archive" msgstr "Archives" diff --git a/priv/gettext/fr/LC_MESSAGES/ui.po b/priv/gettext/fr/LC_MESSAGES/ui.po index a7f0d97..d8e9991 100644 --- a/priv/gettext/fr/LC_MESSAGES/ui.po +++ b/priv/gettext/fr/LC_MESSAGES/ui.po @@ -59,7 +59,7 @@ msgid "--" msgstr "--" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:217 -#: lib/bds/ui/sidebar.ex:762 +#: lib/bds/ui/sidebar.ex:773 #, elixir-autogen, elixir-format msgid "AI" msgstr "IA" @@ -89,7 +89,7 @@ msgstr "Suggestions IA" #: lib/bds/desktop/shell_live/tab_helpers.ex:166 #: lib/bds/ui/sidebar.ex:83 #: lib/bds/ui/sidebar.ex:131 -#: lib/bds/ui/sidebar.ex:175 +#: lib/bds/ui/sidebar.ex:179 #, elixir-autogen, elixir-format msgid "AI conversations" msgstr "Conversations IA" @@ -222,7 +222,7 @@ msgid "Apply Theme" msgstr "Appliquer le thème" #: lib/bds/desktop/shell_data.ex:182 -#: lib/bds/ui/sidebar.ex:327 +#: lib/bds/ui/sidebar.ex:331 #, elixir-autogen, elixir-format msgid "Archived" msgstr "Archivé" @@ -257,7 +257,7 @@ msgid "Auto" msgstr "Automatique" #: lib/bds/desktop/shell_data.ex:98 -#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:431 #: lib/bds/desktop/shell_live/chat_editor.ex:231 #: lib/bds/desktop/shell_live/media_editor.ex:156 #: lib/bds/desktop/shell_live/media_editor.ex:349 @@ -272,7 +272,7 @@ msgstr "Les actions IA automatiques restent bloquées par le mode avion." #: lib/bds/desktop/shell_live/tab_helpers.ex:146 #: lib/bds/ui/sidebar.ex:64 #: lib/bds/ui/sidebar.ex:116 -#: lib/bds/ui/sidebar.ex:155 +#: lib/bds/ui/sidebar.ex:159 #, elixir-autogen, elixir-format msgid "Automation helpers" msgstr "Aides d’automatisation" @@ -374,7 +374,7 @@ msgstr "Legende" #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:131 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:144 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:158 -#: lib/bds/ui/sidebar.ex:286 +#: lib/bds/ui/sidebar.ex:290 #, elixir-autogen, elixir-format msgid "Categories" msgstr "Catégories" @@ -404,7 +404,7 @@ msgstr "Valeurs par défaut des catégories, options de rendu et liaison des mod msgid "Category name is required" msgstr "Le nom de la catégorie est requis" -#: lib/bds/desktop/shell_live.ex:953 +#: lib/bds/desktop/shell_live.ex:979 #: lib/bds/desktop/shell_live/chat_editor.ex:87 #: lib/bds/desktop/shell_live/chat_editor.ex:230 #: lib/bds/desktop/shell_live/chat_editor.ex:318 @@ -413,7 +413,7 @@ msgstr "Le nom de la catégorie est requis" #: lib/bds/ui/registry.ex:104 #: lib/bds/ui/sidebar.ex:82 #: lib/bds/ui/sidebar.ex:130 -#: lib/bds/ui/sidebar.ex:174 +#: lib/bds/ui/sidebar.ex:178 #, elixir-autogen, elixir-format msgid "Chat" msgstr "Chat" @@ -433,13 +433,13 @@ msgstr "Lignes BD vérifiées : %{dbRows} · Fichiers vérifiés : %{files} · L msgid "Clear" msgstr "Effacer" -#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:292 #, elixir-autogen, elixir-format msgid "Clear categories" msgstr "Effacer les catégories" -#: lib/bds/ui/sidebar.ex:289 -#: lib/bds/ui/sidebar.ex:581 +#: lib/bds/ui/sidebar.ex:293 +#: lib/bds/ui/sidebar.ex:592 #, elixir-autogen, elixir-format msgid "Clear filters" msgstr "Effacer les filtres" @@ -450,8 +450,8 @@ msgstr "Effacer les filtres" msgid "Clear mapping" msgstr "Effacer le mapping" -#: lib/bds/ui/sidebar.ex:287 -#: lib/bds/ui/sidebar.ex:580 +#: lib/bds/ui/sidebar.ex:291 +#: lib/bds/ui/sidebar.ex:591 #, elixir-autogen, elixir-format msgid "Clear tags" msgstr "Effacer les étiquettes" @@ -502,7 +502,7 @@ msgstr "Confirmer" #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 #: 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/ui/sidebar.ex:761 +#: lib/bds/ui/sidebar.ex:772 #, elixir-autogen, elixir-format msgid "Content" msgstr "Contenu" @@ -543,7 +543,7 @@ msgid "Create" msgstr "Créer" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:36 -#: lib/bds/ui/sidebar.ex:746 +#: lib/bds/ui/sidebar.ex:757 #, elixir-autogen, elixir-format msgid "Create / Edit" msgstr "Créer / modifier" @@ -589,7 +589,7 @@ msgstr "Sombre" msgid "Dashboard" msgstr "Tableau de bord" -#: lib/bds/ui/sidebar.ex:775 +#: lib/bds/ui/sidebar.ex:786 #, elixir-autogen, elixir-format msgid "Data" msgstr "Données" @@ -791,12 +791,12 @@ msgstr "Documentation" msgid "Draft" msgstr "Brouillon" -#: lib/bds/ui/sidebar.ex:313 +#: lib/bds/ui/sidebar.ex:317 #, elixir-autogen, elixir-format msgid "Drafts" msgstr "Brouillons" -#: lib/bds/ui/sidebar.ex:271 +#: lib/bds/ui/sidebar.ex:275 #, elixir-autogen, elixir-format msgid "Drafts, published entries, and archive history" msgstr "Brouillons, éléments publiés et historique d’archives" @@ -829,7 +829,7 @@ msgstr "Modifier la traduction" #: lib/bds/desktop/shell_live/index.html.heex:513 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:111 -#: lib/bds/ui/sidebar.ex:760 +#: lib/bds/ui/sidebar.ex:771 #, elixir-autogen, elixir-format msgid "Editor" msgstr "Éditeur" @@ -991,8 +991,8 @@ msgstr "Galerie" msgid "Generate Site" msgstr "Générer le site" -#: lib/bds/desktop/shell_live.ex:954 -#: lib/bds/ui/sidebar.ex:786 +#: lib/bds/desktop/shell_live.ex:980 +#: lib/bds/ui/sidebar.ex:797 #, elixir-autogen, elixir-format msgid "Git" msgstr "Git" @@ -1004,7 +1004,7 @@ msgid "Git Diff" msgstr "Diff Git" #: lib/bds/desktop/shell_data.ex:244 -#: lib/bds/desktop/shell_live.ex:950 +#: lib/bds/desktop/shell_live.ex:976 #: lib/bds/desktop/shell_live/panel_renderer.ex:171 #, elixir-autogen, elixir-format msgid "Git Log" @@ -1043,7 +1043,7 @@ msgstr "Inactif" msgid "Ignore" msgstr "Ignorer" -#: lib/bds/ui/sidebar.ex:571 +#: lib/bds/ui/sidebar.ex:582 #, elixir-autogen, elixir-format msgid "Images and files" msgstr "Images et fichiers" @@ -1082,7 +1082,7 @@ msgstr "Images et fichiers" #: lib/bds/ui/sidebar.ex:33 #: lib/bds/ui/sidebar.ex:90 #: lib/bds/ui/sidebar.ex:137 -#: lib/bds/ui/sidebar.ex:183 +#: lib/bds/ui/sidebar.ex:187 #, elixir-autogen, elixir-format msgid "Import" msgstr "Importer" @@ -1117,7 +1117,7 @@ msgstr "Import terminé : %{count}" #: lib/bds/ui/sidebar.ex:34 #: lib/bds/ui/sidebar.ex:91 #: lib/bds/ui/sidebar.ex:138 -#: lib/bds/ui/sidebar.ex:184 +#: lib/bds/ui/sidebar.ex:188 #, elixir-autogen, elixir-format msgid "Import definitions" msgstr "Définitions d’import" @@ -1127,9 +1127,9 @@ msgstr "Définitions d’import" msgid "Import failed: %{error}" msgstr "Échec de l’import : %{error}" -#: lib/bds/desktop/shell_live.ex:601 -#: lib/bds/desktop/shell_live.ex:991 -#: lib/bds/desktop/shell_live.ex:997 +#: lib/bds/desktop/shell_live.ex:604 +#: lib/bds/desktop/shell_live.ex:1067 +#: lib/bds/desktop/shell_live.ex:1073 #: lib/bds/desktop/shell_live/sidebar_create.ex:47 #, elixir-autogen, elixir-format msgid "Import media" @@ -1249,7 +1249,7 @@ msgstr "Charger plus" #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:50 #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:348 -#: lib/bds/ui/sidebar.ex:776 +#: lib/bds/ui/sidebar.ex:787 #, elixir-autogen, elixir-format msgid "MCP" msgstr "MCP" @@ -1308,7 +1308,7 @@ msgstr "Nombre maximal d’articles par page" #: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:100 -#: lib/bds/ui/sidebar.ex:570 +#: lib/bds/ui/sidebar.ex:581 #, elixir-autogen, elixir-format msgid "Media" msgstr "Médias" @@ -1334,7 +1334,7 @@ msgid "Merge" msgstr "Fusionner" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78 -#: lib/bds/ui/sidebar.ex:747 +#: lib/bds/ui/sidebar.ex:758 #, elixir-autogen, elixir-format msgid "Merge Tags" msgstr "Fusionner les tags" @@ -1456,9 +1456,9 @@ msgstr "Pas encore d'historique Git" #: lib/bds/desktop/shell_live/sidebar_components.ex:321 #: lib/bds/desktop/shell_live/sidebar_components.ex:381 #: lib/bds/desktop/shell_live/sidebar_components.ex:455 -#: lib/bds/ui/sidebar.ex:198 -#: lib/bds/ui/sidebar.ex:789 -#: lib/bds/ui/sidebar.ex:896 +#: lib/bds/ui/sidebar.ex:202 +#: lib/bds/ui/sidebar.ex:800 +#: lib/bds/ui/sidebar.ex:907 #, elixir-autogen, elixir-format msgid "No items" msgstr "Aucun élément" @@ -1478,13 +1478,13 @@ msgstr "Aucune catégorie correspondante trouvée." msgid "No matching pages found." msgstr "Aucune page correspondante trouvée." -#: lib/bds/ui/sidebar.ex:292 +#: lib/bds/ui/sidebar.ex:296 #, elixir-autogen, elixir-format msgid "No matching posts" msgstr "Aucun article correspondant" -#: lib/bds/ui/sidebar.ex:573 #: lib/bds/ui/sidebar.ex:584 +#: lib/bds/ui/sidebar.ex:595 #, elixir-autogen, elixir-format msgid "No media files" msgstr "Aucun fichier média" @@ -1499,7 +1499,7 @@ msgstr "Aucun élément du diff des métadonnées sélectionné" msgid "No orphan files selected" msgstr "Aucun fichier orphelin sélectionné" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No pages yet" msgstr "Aucune page pour le moment" @@ -1514,7 +1514,7 @@ msgstr "Pas encore de liens vers des articles" msgid "No posts to link" msgstr "Aucun article à lier" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No posts yet" msgstr "Aucun article pour le moment" @@ -1721,7 +1721,7 @@ msgstr "Autre" msgid "Other (%{count})" msgstr "Autres (%{count})" -#: lib/bds/desktop/shell_live.ex:949 +#: lib/bds/desktop/shell_live.ex:975 #: lib/bds/desktop/shell_live/panel_renderer.ex:83 #, elixir-autogen, elixir-format msgid "Output" @@ -1749,7 +1749,7 @@ msgid "Page Slug Conflicts" msgstr "Conflits de slug de page" #: lib/bds/ui/registry.ex:22 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Pages" msgstr "Pages" @@ -1839,7 +1839,7 @@ msgstr "Article enregistré" #: lib/bds/desktop/shell_live/misc_editor.ex:673 #: lib/bds/desktop/shell_live/misc_editor.ex:770 #: lib/bds/ui/registry.ex:14 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Posts" msgstr "Articles" @@ -1879,7 +1879,7 @@ msgstr "Aperçu non disponible" #: lib/bds/desktop/shell_live/misc_editor.ex:748 #: lib/bds/desktop/shell_live/misc_editor.ex:774 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:27 -#: lib/bds/ui/sidebar.ex:759 +#: lib/bds/ui/sidebar.ex:770 #, elixir-autogen, elixir-format msgid "Project" msgstr "Projet" @@ -1889,7 +1889,7 @@ msgstr "Projet" msgid "Project Name" msgstr "Nom du projet" -#: lib/bds/ui/sidebar.ex:756 +#: lib/bds/ui/sidebar.ex:767 #, elixir-autogen, elixir-format msgid "Project and publishing" msgstr "Projet et publication" @@ -1925,7 +1925,7 @@ msgstr "Publier la sélection" #: lib/bds/desktop/shell_data.ex:181 #: lib/bds/desktop/shell_live/post_editor.ex:897 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 -#: lib/bds/ui/sidebar.ex:320 +#: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" msgstr "Publié" @@ -1939,7 +1939,7 @@ msgstr "Traduction publiée avec contenu encore en base au lieu du système de f #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:40 #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:335 -#: lib/bds/ui/sidebar.ex:771 +#: lib/bds/ui/sidebar.ex:782 #, elixir-autogen, elixir-format msgid "Publishing" msgstr "Publication" @@ -2227,7 +2227,7 @@ msgstr "Les capacités de script sont configurées au niveau de l’application #: lib/bds/ui/registry.ex:38 #: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:115 -#: lib/bds/ui/sidebar.ex:154 +#: lib/bds/ui/sidebar.ex:158 #, elixir-autogen, elixir-format msgid "Scripts" msgstr "Scripts" @@ -2238,12 +2238,12 @@ msgid "Search" msgstr "Rechercher" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:99 -#: lib/bds/ui/sidebar.ex:576 +#: lib/bds/ui/sidebar.ex:587 #, elixir-autogen, elixir-format msgid "Search media..." msgstr "Rechercher des médias..." -#: lib/bds/ui/sidebar.ex:280 +#: lib/bds/ui/sidebar.ex:284 #, elixir-autogen, elixir-format msgid "Search pages..." msgstr "Rechercher des pages..." @@ -2254,7 +2254,7 @@ msgid "Search posts" msgstr "Rechercher des articles" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:62 -#: lib/bds/ui/sidebar.ex:281 +#: lib/bds/ui/sidebar.ex:285 #, elixir-autogen, elixir-format msgid "Search posts..." msgstr "Rechercher des articles..." @@ -2330,7 +2330,7 @@ msgstr "Similarité sémantique" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11 #: lib/bds/ui/registry.ex:86 #: lib/bds/ui/registry.ex:101 -#: lib/bds/ui/sidebar.ex:755 +#: lib/bds/ui/sidebar.ex:766 #, elixir-autogen, elixir-format msgid "Settings" msgstr "Paramètres" @@ -2361,7 +2361,7 @@ msgstr "Validation du site" #: lib/bds/desktop/shell_live/tab_helpers.ex:156 #: lib/bds/ui/sidebar.ex:72 #: lib/bds/ui/sidebar.ex:123 -#: lib/bds/ui/sidebar.ex:164 +#: lib/bds/ui/sidebar.ex:168 #, elixir-autogen, elixir-format msgid "Site rendering" msgstr "Rendu du site" @@ -2385,7 +2385,7 @@ msgstr "Slug" msgid "Source Control" msgstr "Contrôle de source" -#: lib/bds/ui/sidebar.ex:270 +#: lib/bds/ui/sidebar.ex:274 #, elixir-autogen, elixir-format msgid "Standalone pages" msgstr "Pages autonomes" @@ -2416,7 +2416,7 @@ msgstr "Arrêter" #: lib/bds/desktop/shell_live/settings_editor/style_editor.ex:74 #: lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex:3 #: lib/bds/ui/registry.ex:102 -#: lib/bds/ui/sidebar.ex:777 +#: lib/bds/ui/sidebar.ex:788 #, elixir-autogen, elixir-format msgid "Style" msgstr "Style" @@ -2447,12 +2447,12 @@ msgid "System Prompt" msgstr "Prompt système" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16 -#: lib/bds/ui/sidebar.ex:745 +#: lib/bds/ui/sidebar.ex:756 #, elixir-autogen, elixir-format msgid "Tag Cloud" msgstr "Nuage de tags" -#: lib/bds/ui/sidebar.ex:742 +#: lib/bds/ui/sidebar.ex:753 #, elixir-autogen, elixir-format msgid "Tag management" msgstr "Gestion des tags" @@ -2476,21 +2476,21 @@ msgstr "Nom du mot-clé" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:103 -#: lib/bds/ui/sidebar.ex:285 -#: lib/bds/ui/sidebar.ex:579 -#: lib/bds/ui/sidebar.ex:741 +#: lib/bds/ui/sidebar.ex:289 +#: lib/bds/ui/sidebar.ex:590 +#: lib/bds/ui/sidebar.ex:752 #, elixir-autogen, elixir-format msgid "Tags" msgstr "Tags" -#: lib/bds/desktop/shell_live.ex:948 +#: lib/bds/desktop/shell_live.ex:974 #: lib/bds/desktop/shell_live/panel_renderer.ex:54 #, elixir-autogen, elixir-format msgid "Tasks" msgstr "Tâches" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:318 -#: lib/bds/ui/sidebar.ex:765 +#: lib/bds/ui/sidebar.ex:776 #, elixir-autogen, elixir-format msgid "Technology" msgstr "Technologie" @@ -2532,7 +2532,7 @@ msgstr "La syntaxe du template est valide" #: lib/bds/ui/registry.ex:46 #: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:122 -#: lib/bds/ui/sidebar.ex:163 +#: lib/bds/ui/sidebar.ex:167 #, elixir-autogen, elixir-format msgid "Templates" msgstr "Modèles" @@ -2593,8 +2593,8 @@ msgstr "Afficher/masquer l’assistant" msgid "Toggle Dev Tools" msgstr "Afficher/masquer les outils de développement" -#: lib/bds/ui/sidebar.ex:283 -#: lib/bds/ui/sidebar.ex:577 +#: lib/bds/ui/sidebar.ex:287 +#: lib/bds/ui/sidebar.ex:588 #, elixir-autogen, elixir-format msgid "Toggle Filters" msgstr "Afficher/masquer les filtres" @@ -2735,7 +2735,7 @@ msgstr "Non enregistré" #: lib/bds/desktop/shell_live/import_editor.ex:867 #: lib/bds/desktop/shell_live/post_editor/post_metadata.ex:166 -#: lib/bds/ui/sidebar.ex:1105 +#: lib/bds/ui/sidebar.ex:1116 #, elixir-autogen, elixir-format msgid "Untitled" msgstr "Sans titre" @@ -2834,7 +2834,7 @@ msgid "Working tree" msgstr "Arbre de travail" #: lib/bds/desktop/shell_live/tab_helpers.ex:191 -#: lib/bds/ui/sidebar.ex:787 +#: lib/bds/ui/sidebar.ex:798 #, elixir-autogen, elixir-format msgid "Working tree and history" msgstr "Arbre de travail et historique" @@ -3010,14 +3010,14 @@ msgstr "pages" msgid "posts" msgstr "articles" -#: lib/bds/ui/sidebar.ex:290 -#: lib/bds/ui/sidebar.ex:582 +#: lib/bds/ui/sidebar.ex:294 +#: lib/bds/ui/sidebar.ex:593 #, elixir-autogen, elixir-format msgid "results" msgstr "résultats" -#: lib/bds/ui/sidebar.ex:291 -#: lib/bds/ui/sidebar.ex:583 +#: lib/bds/ui/sidebar.ex:295 +#: lib/bds/ui/sidebar.ex:594 #, elixir-autogen, elixir-format msgid "results for" msgstr "résultats pour" @@ -3177,12 +3177,12 @@ msgstr "Bienvenue dans l’assistant IA" msgid "Comparing database and filesystem metadata" msgstr "Comparaison des métadonnées entre la base et le système de fichiers" -#: lib/bds/desktop/shell_live.ex:671 +#: lib/bds/desktop/shell_live.ex:680 #, elixir-autogen, elixir-format msgid "Added %{count} images to post" msgstr "%{count} images ajoutées à l'article" -#: lib/bds/desktop/shell_live.ex:642 +#: lib/bds/desktop/shell_live.ex:648 #, elixir-autogen, elixir-format msgid "Added %{title}" msgstr "%{title} ajouté" @@ -3202,18 +3202,18 @@ msgstr "Guide utilisateur pour les flux éditoriaux, médias, modèles, traducti msgid "Image Import Concurrency" msgstr "Importation simultanée d'images" -#: lib/bds/desktop/shell_live.ex:429 -#: lib/bds/desktop/shell_live.ex:442 -#: lib/bds/desktop/shell_live.ex:642 -#: lib/bds/desktop/shell_live.ex:670 +#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:443 +#: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:679 -#: lib/bds/desktop/shell_live.ex:686 +#: lib/bds/desktop/shell_live.ex:690 +#: lib/bds/desktop/shell_live.ex:701 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Ajouter des images à la galerie" -#: lib/bds/desktop/shell_live.ex:687 +#: lib/bds/desktop/shell_live.ex:702 #, elixir-autogen, elixir-format msgid "Failed to process %{path}: %{reason}" msgstr "Impossible de traiter %{path} : %{reason}" @@ -3263,9 +3263,9 @@ msgstr "En retard" msgid "Changes" msgstr "Modifications" -#: lib/bds/desktop/shell_live.ex:1055 -#: lib/bds/desktop/shell_live.ex:1071 -#: lib/bds/desktop/shell_live.ex:1077 +#: lib/bds/desktop/shell_live.ex:1131 +#: lib/bds/desktop/shell_live.ex:1147 +#: lib/bds/desktop/shell_live.ex:1153 #: lib/bds/desktop/shell_live/sidebar_components.ex:556 #, elixir-autogen, elixir-format msgid "Commit" @@ -3276,17 +3276,17 @@ msgstr "Commit" msgid "Commit message" msgstr "Message de commit" -#: lib/bds/desktop/shell_live.ex:1056 +#: lib/bds/desktop/shell_live.ex:1132 #, elixir-autogen, elixir-format msgid "Commit message is required" msgstr "Le message de commit est requis" -#: lib/bds/desktop/shell_live.ex:1120 +#: lib/bds/desktop/shell_live.ex:1200 #, elixir-autogen, elixir-format msgid "Done" msgstr "Terminé" -#: lib/bds/desktop/shell_live.ex:1041 +#: lib/bds/desktop/shell_live.ex:1117 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #, elixir-autogen, elixir-format @@ -3298,8 +3298,8 @@ msgstr "Récupérer" msgid "History" msgstr "Historique" -#: lib/bds/desktop/shell_live.ex:1091 -#: lib/bds/desktop/shell_live.ex:1099 +#: lib/bds/desktop/shell_live.ex:1167 +#: lib/bds/desktop/shell_live.ex:1175 #: lib/bds/desktop/shell_live/sidebar_components.ex:513 #, elixir-autogen, elixir-format msgid "Initialize Git" @@ -3310,7 +3310,7 @@ msgstr "Initialiser Git" msgid "Local only" msgstr "Local uniquement" -#: lib/bds/desktop/shell_live.ex:1127 +#: lib/bds/desktop/shell_live.ex:1207 #, elixir-autogen, elixir-format msgid "No active project" msgstr "Aucun projet actif" @@ -3330,21 +3330,21 @@ msgstr "Aucun commit pour l’instant" msgid "Older history available" msgstr "Historique plus ancien disponible" -#: lib/bds/desktop/shell_live.ex:1044 +#: lib/bds/desktop/shell_live.ex:1120 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #, elixir-autogen, elixir-format msgid "Prune LFS" msgstr "Nettoyer LFS" -#: lib/bds/desktop/shell_live.ex:1042 +#: lib/bds/desktop/shell_live.ex:1118 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #, elixir-autogen, elixir-format msgid "Pull" msgstr "Pull" -#: lib/bds/desktop/shell_live.ex:1043 +#: lib/bds/desktop/shell_live.ex:1119 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #, elixir-autogen, elixir-format @@ -3361,7 +3361,7 @@ msgstr "URL distante (facultatif)" msgid "Remote only" msgstr "Distant uniquement" -#: lib/bds/desktop/shell_live.ex:1092 +#: lib/bds/desktop/shell_live.ex:1168 #, elixir-autogen, elixir-format msgid "Repository initialized" msgstr "Dépôt initialisé" @@ -3376,28 +3376,38 @@ msgstr "Synchronisé" msgid "This project is not a Git repository yet." msgstr "Ce projet n’est pas encore un dépôt Git." -#: lib/bds/ui/sidebar.ex:869 +#: lib/bds/ui/sidebar.ex:880 #, elixir-autogen, elixir-format msgid "added" msgstr "ajouté" -#: lib/bds/ui/sidebar.ex:870 +#: lib/bds/ui/sidebar.ex:881 #, elixir-autogen, elixir-format msgid "deleted" msgstr "supprimé" -#: lib/bds/ui/sidebar.ex:871 -#: lib/bds/ui/sidebar.ex:874 +#: lib/bds/ui/sidebar.ex:882 +#: lib/bds/ui/sidebar.ex:885 #, elixir-autogen, elixir-format msgid "modified" msgstr "modifié" -#: lib/bds/ui/sidebar.ex:872 +#: lib/bds/ui/sidebar.ex:883 #, elixir-autogen, elixir-format msgid "renamed" msgstr "renommé" -#: lib/bds/ui/sidebar.ex:873 +#: lib/bds/ui/sidebar.ex:884 #, elixir-autogen, elixir-format msgid "untracked" msgstr "non suivi" + +#: lib/bds/desktop/shell_live.ex:1012 +#, elixir-autogen, elixir-format +msgid "Blogmark" +msgstr "Blogmark" + +#: lib/bds/desktop/shell_live.ex:1040 +#, elixir-autogen, elixir-format +msgid "Open a project before importing a blogmark." +msgstr "Ouvrez un projet avant d’importer un blogmark." diff --git a/priv/gettext/it/LC_MESSAGES/render.po b/priv/gettext/it/LC_MESSAGES/render.po index 9c4445e..227729f 100644 --- a/priv/gettext/it/LC_MESSAGES/render.po +++ b/priv/gettext/it/LC_MESSAGES/render.po @@ -1,6 +1,6 @@ #: lib/bds/rendering/labels.ex:18 -#: lib/bds/ui/sidebar.ex:284 -#: lib/bds/ui/sidebar.ex:578 +#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:589 #, elixir-autogen, elixir-format msgid "Archive" msgstr "Archivio" diff --git a/priv/gettext/it/LC_MESSAGES/ui.po b/priv/gettext/it/LC_MESSAGES/ui.po index 8c0164f..6d00560 100644 --- a/priv/gettext/it/LC_MESSAGES/ui.po +++ b/priv/gettext/it/LC_MESSAGES/ui.po @@ -59,7 +59,7 @@ msgid "--" msgstr "--" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:217 -#: lib/bds/ui/sidebar.ex:762 +#: lib/bds/ui/sidebar.ex:773 #, elixir-autogen, elixir-format msgid "AI" msgstr "IA" @@ -89,7 +89,7 @@ msgstr "Suggerimenti IA" #: lib/bds/desktop/shell_live/tab_helpers.ex:166 #: lib/bds/ui/sidebar.ex:83 #: lib/bds/ui/sidebar.ex:131 -#: lib/bds/ui/sidebar.ex:175 +#: lib/bds/ui/sidebar.ex:179 #, elixir-autogen, elixir-format msgid "AI conversations" msgstr "Conversazioni IA" @@ -222,7 +222,7 @@ msgid "Apply Theme" msgstr "Applica tema" #: lib/bds/desktop/shell_data.ex:182 -#: lib/bds/ui/sidebar.ex:327 +#: lib/bds/ui/sidebar.ex:331 #, elixir-autogen, elixir-format msgid "Archived" msgstr "Archiviato" @@ -257,7 +257,7 @@ msgid "Auto" msgstr "Automatico" #: lib/bds/desktop/shell_data.ex:98 -#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:431 #: lib/bds/desktop/shell_live/chat_editor.ex:231 #: lib/bds/desktop/shell_live/media_editor.ex:156 #: lib/bds/desktop/shell_live/media_editor.ex:349 @@ -272,7 +272,7 @@ msgstr "Le azioni IA automatiche restano bloccate dalla modalità aereo." #: lib/bds/desktop/shell_live/tab_helpers.ex:146 #: lib/bds/ui/sidebar.ex:64 #: lib/bds/ui/sidebar.ex:116 -#: lib/bds/ui/sidebar.ex:155 +#: lib/bds/ui/sidebar.ex:159 #, elixir-autogen, elixir-format msgid "Automation helpers" msgstr "Strumenti di automazione" @@ -374,7 +374,7 @@ msgstr "Didascalia" #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:131 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:144 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:158 -#: lib/bds/ui/sidebar.ex:286 +#: lib/bds/ui/sidebar.ex:290 #, elixir-autogen, elixir-format msgid "Categories" msgstr "Categorie" @@ -404,7 +404,7 @@ msgstr "Valori predefiniti delle categorie, opzioni di rendering e collegamento msgid "Category name is required" msgstr "Il nome della categoria è obbligatorio" -#: lib/bds/desktop/shell_live.ex:953 +#: lib/bds/desktop/shell_live.ex:979 #: lib/bds/desktop/shell_live/chat_editor.ex:87 #: lib/bds/desktop/shell_live/chat_editor.ex:230 #: lib/bds/desktop/shell_live/chat_editor.ex:318 @@ -413,7 +413,7 @@ msgstr "Il nome della categoria è obbligatorio" #: lib/bds/ui/registry.ex:104 #: lib/bds/ui/sidebar.ex:82 #: lib/bds/ui/sidebar.ex:130 -#: lib/bds/ui/sidebar.ex:174 +#: lib/bds/ui/sidebar.ex:178 #, elixir-autogen, elixir-format msgid "Chat" msgstr "Chat" @@ -433,13 +433,13 @@ msgstr "Righe DB controllate: %{dbRows} · File controllati: %{files} · Righe D msgid "Clear" msgstr "Cancella" -#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:292 #, elixir-autogen, elixir-format msgid "Clear categories" msgstr "Cancella categorie" -#: lib/bds/ui/sidebar.ex:289 -#: lib/bds/ui/sidebar.ex:581 +#: lib/bds/ui/sidebar.ex:293 +#: lib/bds/ui/sidebar.ex:592 #, elixir-autogen, elixir-format msgid "Clear filters" msgstr "Cancella filtri" @@ -450,8 +450,8 @@ msgstr "Cancella filtri" msgid "Clear mapping" msgstr "Cancella mappatura" -#: lib/bds/ui/sidebar.ex:287 -#: lib/bds/ui/sidebar.ex:580 +#: lib/bds/ui/sidebar.ex:291 +#: lib/bds/ui/sidebar.ex:591 #, elixir-autogen, elixir-format msgid "Clear tags" msgstr "Cancella tag" @@ -502,7 +502,7 @@ msgstr "Conferma" #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 #: 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/ui/sidebar.ex:761 +#: lib/bds/ui/sidebar.ex:772 #, elixir-autogen, elixir-format msgid "Content" msgstr "Contenuti" @@ -543,7 +543,7 @@ msgid "Create" msgstr "Crea" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:36 -#: lib/bds/ui/sidebar.ex:746 +#: lib/bds/ui/sidebar.ex:757 #, elixir-autogen, elixir-format msgid "Create / Edit" msgstr "Crea / modifica" @@ -589,7 +589,7 @@ msgstr "Scuro" msgid "Dashboard" msgstr "Dashboard" -#: lib/bds/ui/sidebar.ex:775 +#: lib/bds/ui/sidebar.ex:786 #, elixir-autogen, elixir-format msgid "Data" msgstr "Dati" @@ -791,12 +791,12 @@ msgstr "Documentazione" msgid "Draft" msgstr "Bozza" -#: lib/bds/ui/sidebar.ex:313 +#: lib/bds/ui/sidebar.ex:317 #, elixir-autogen, elixir-format msgid "Drafts" msgstr "Bozze" -#: lib/bds/ui/sidebar.ex:271 +#: lib/bds/ui/sidebar.ex:275 #, elixir-autogen, elixir-format msgid "Drafts, published entries, and archive history" msgstr "Bozze, elementi pubblicati e cronologia archivio" @@ -829,7 +829,7 @@ msgstr "Modifica traduzione" #: lib/bds/desktop/shell_live/index.html.heex:513 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:111 -#: lib/bds/ui/sidebar.ex:760 +#: lib/bds/ui/sidebar.ex:771 #, elixir-autogen, elixir-format msgid "Editor" msgstr "Editor" @@ -991,8 +991,8 @@ msgstr "Galleria" msgid "Generate Site" msgstr "Genera sito" -#: lib/bds/desktop/shell_live.ex:954 -#: lib/bds/ui/sidebar.ex:786 +#: lib/bds/desktop/shell_live.ex:980 +#: lib/bds/ui/sidebar.ex:797 #, elixir-autogen, elixir-format msgid "Git" msgstr "Git" @@ -1004,7 +1004,7 @@ msgid "Git Diff" msgstr "Diff Git" #: lib/bds/desktop/shell_data.ex:244 -#: lib/bds/desktop/shell_live.ex:950 +#: lib/bds/desktop/shell_live.ex:976 #: lib/bds/desktop/shell_live/panel_renderer.ex:171 #, elixir-autogen, elixir-format msgid "Git Log" @@ -1043,7 +1043,7 @@ msgstr "Inattivo" msgid "Ignore" msgstr "Ignora" -#: lib/bds/ui/sidebar.ex:571 +#: lib/bds/ui/sidebar.ex:582 #, elixir-autogen, elixir-format msgid "Images and files" msgstr "Immagini e file" @@ -1082,7 +1082,7 @@ msgstr "Immagini e file" #: lib/bds/ui/sidebar.ex:33 #: lib/bds/ui/sidebar.ex:90 #: lib/bds/ui/sidebar.ex:137 -#: lib/bds/ui/sidebar.ex:183 +#: lib/bds/ui/sidebar.ex:187 #, elixir-autogen, elixir-format msgid "Import" msgstr "Importa" @@ -1117,7 +1117,7 @@ msgstr "Importazione completata: %{count}" #: lib/bds/ui/sidebar.ex:34 #: lib/bds/ui/sidebar.ex:91 #: lib/bds/ui/sidebar.ex:138 -#: lib/bds/ui/sidebar.ex:184 +#: lib/bds/ui/sidebar.ex:188 #, elixir-autogen, elixir-format msgid "Import definitions" msgstr "Definizioni di importazione" @@ -1127,9 +1127,9 @@ msgstr "Definizioni di importazione" msgid "Import failed: %{error}" msgstr "Importazione non riuscita: %{error}" -#: lib/bds/desktop/shell_live.ex:601 -#: lib/bds/desktop/shell_live.ex:991 -#: lib/bds/desktop/shell_live.ex:997 +#: lib/bds/desktop/shell_live.ex:604 +#: lib/bds/desktop/shell_live.ex:1067 +#: lib/bds/desktop/shell_live.ex:1073 #: lib/bds/desktop/shell_live/sidebar_create.ex:47 #, elixir-autogen, elixir-format msgid "Import media" @@ -1249,7 +1249,7 @@ msgstr "Carica altri" #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:50 #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:348 -#: lib/bds/ui/sidebar.ex:776 +#: lib/bds/ui/sidebar.ex:787 #, elixir-autogen, elixir-format msgid "MCP" msgstr "MCP" @@ -1308,7 +1308,7 @@ msgstr "Numero massimo di post per pagina" #: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:100 -#: lib/bds/ui/sidebar.ex:570 +#: lib/bds/ui/sidebar.ex:581 #, elixir-autogen, elixir-format msgid "Media" msgstr "Media" @@ -1334,7 +1334,7 @@ msgid "Merge" msgstr "Unisci" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78 -#: lib/bds/ui/sidebar.ex:747 +#: lib/bds/ui/sidebar.ex:758 #, elixir-autogen, elixir-format msgid "Merge Tags" msgstr "Unisci tag" @@ -1456,9 +1456,9 @@ msgstr "Nessuna cronologia Git" #: lib/bds/desktop/shell_live/sidebar_components.ex:321 #: lib/bds/desktop/shell_live/sidebar_components.ex:381 #: lib/bds/desktop/shell_live/sidebar_components.ex:455 -#: lib/bds/ui/sidebar.ex:198 -#: lib/bds/ui/sidebar.ex:789 -#: lib/bds/ui/sidebar.ex:896 +#: lib/bds/ui/sidebar.ex:202 +#: lib/bds/ui/sidebar.ex:800 +#: lib/bds/ui/sidebar.ex:907 #, elixir-autogen, elixir-format msgid "No items" msgstr "Nessun elemento" @@ -1478,13 +1478,13 @@ msgstr "Nessuna categoria corrispondente trovata." msgid "No matching pages found." msgstr "Nessuna pagina corrispondente trovata." -#: lib/bds/ui/sidebar.ex:292 +#: lib/bds/ui/sidebar.ex:296 #, elixir-autogen, elixir-format msgid "No matching posts" msgstr "Nessun post corrispondente" -#: lib/bds/ui/sidebar.ex:573 #: lib/bds/ui/sidebar.ex:584 +#: lib/bds/ui/sidebar.ex:595 #, elixir-autogen, elixir-format msgid "No media files" msgstr "Nessun file multimediale" @@ -1499,7 +1499,7 @@ msgstr "Nessun elemento del diff dei metadati selezionato" msgid "No orphan files selected" msgstr "Nessun file orfano selezionato" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No pages yet" msgstr "Nessuna pagina" @@ -1514,7 +1514,7 @@ msgstr "Nessun collegamento ad articoli" msgid "No posts to link" msgstr "Nessun post da collegare" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No posts yet" msgstr "Nessun post" @@ -1721,7 +1721,7 @@ msgstr "Altro" msgid "Other (%{count})" msgstr "Altro (%{count})" -#: lib/bds/desktop/shell_live.ex:949 +#: lib/bds/desktop/shell_live.ex:975 #: lib/bds/desktop/shell_live/panel_renderer.ex:83 #, elixir-autogen, elixir-format msgid "Output" @@ -1749,7 +1749,7 @@ msgid "Page Slug Conflicts" msgstr "Conflitti slug pagine" #: lib/bds/ui/registry.ex:22 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Pages" msgstr "Pagine" @@ -1839,7 +1839,7 @@ msgstr "Articolo salvato" #: lib/bds/desktop/shell_live/misc_editor.ex:673 #: lib/bds/desktop/shell_live/misc_editor.ex:770 #: lib/bds/ui/registry.ex:14 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Posts" msgstr "Post" @@ -1879,7 +1879,7 @@ msgstr "Anteprima non disponibile" #: lib/bds/desktop/shell_live/misc_editor.ex:748 #: lib/bds/desktop/shell_live/misc_editor.ex:774 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:27 -#: lib/bds/ui/sidebar.ex:759 +#: lib/bds/ui/sidebar.ex:770 #, elixir-autogen, elixir-format msgid "Project" msgstr "Progetto" @@ -1889,7 +1889,7 @@ msgstr "Progetto" msgid "Project Name" msgstr "Nome progetto" -#: lib/bds/ui/sidebar.ex:756 +#: lib/bds/ui/sidebar.ex:767 #, elixir-autogen, elixir-format msgid "Project and publishing" msgstr "Progetto e pubblicazione" @@ -1925,7 +1925,7 @@ msgstr "Pubblica selezionati" #: lib/bds/desktop/shell_data.ex:181 #: lib/bds/desktop/shell_live/post_editor.ex:897 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 -#: lib/bds/ui/sidebar.ex:320 +#: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" msgstr "Pubblicato" @@ -1939,7 +1939,7 @@ msgstr "Traduzione pubblicata con contenuto nel DB invece del filesystem" #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:40 #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:335 -#: lib/bds/ui/sidebar.ex:771 +#: lib/bds/ui/sidebar.ex:782 #, elixir-autogen, elixir-format msgid "Publishing" msgstr "Pubblicazione" @@ -2227,7 +2227,7 @@ msgstr "Le capacità di scripting sono configurate a livello applicativo nella r #: lib/bds/ui/registry.ex:38 #: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:115 -#: lib/bds/ui/sidebar.ex:154 +#: lib/bds/ui/sidebar.ex:158 #, elixir-autogen, elixir-format msgid "Scripts" msgstr "Script" @@ -2238,12 +2238,12 @@ msgid "Search" msgstr "Cerca" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:99 -#: lib/bds/ui/sidebar.ex:576 +#: lib/bds/ui/sidebar.ex:587 #, elixir-autogen, elixir-format msgid "Search media..." msgstr "Cerca media..." -#: lib/bds/ui/sidebar.ex:280 +#: lib/bds/ui/sidebar.ex:284 #, elixir-autogen, elixir-format msgid "Search pages..." msgstr "Cerca pagine..." @@ -2254,7 +2254,7 @@ msgid "Search posts" msgstr "Cerca post" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:62 -#: lib/bds/ui/sidebar.ex:281 +#: lib/bds/ui/sidebar.ex:285 #, elixir-autogen, elixir-format msgid "Search posts..." msgstr "Cerca post..." @@ -2330,7 +2330,7 @@ msgstr "Somiglianza semantica" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11 #: lib/bds/ui/registry.ex:86 #: lib/bds/ui/registry.ex:101 -#: lib/bds/ui/sidebar.ex:755 +#: lib/bds/ui/sidebar.ex:766 #, elixir-autogen, elixir-format msgid "Settings" msgstr "Impostazioni" @@ -2361,7 +2361,7 @@ msgstr "Validazione sito" #: lib/bds/desktop/shell_live/tab_helpers.ex:156 #: lib/bds/ui/sidebar.ex:72 #: lib/bds/ui/sidebar.ex:123 -#: lib/bds/ui/sidebar.ex:164 +#: lib/bds/ui/sidebar.ex:168 #, elixir-autogen, elixir-format msgid "Site rendering" msgstr "Rendering del sito" @@ -2385,7 +2385,7 @@ msgstr "Slug" msgid "Source Control" msgstr "Controllo del codice sorgente" -#: lib/bds/ui/sidebar.ex:270 +#: lib/bds/ui/sidebar.ex:274 #, elixir-autogen, elixir-format msgid "Standalone pages" msgstr "Pagine autonome" @@ -2416,7 +2416,7 @@ msgstr "Ferma" #: lib/bds/desktop/shell_live/settings_editor/style_editor.ex:74 #: lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex:3 #: lib/bds/ui/registry.ex:102 -#: lib/bds/ui/sidebar.ex:777 +#: lib/bds/ui/sidebar.ex:788 #, elixir-autogen, elixir-format msgid "Style" msgstr "Stile" @@ -2447,12 +2447,12 @@ msgid "System Prompt" msgstr "Prompt di sistema" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16 -#: lib/bds/ui/sidebar.ex:745 +#: lib/bds/ui/sidebar.ex:756 #, elixir-autogen, elixir-format msgid "Tag Cloud" msgstr "Nuvola di tag" -#: lib/bds/ui/sidebar.ex:742 +#: lib/bds/ui/sidebar.ex:753 #, elixir-autogen, elixir-format msgid "Tag management" msgstr "Gestione tag" @@ -2476,21 +2476,21 @@ msgstr "Nome del tag" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:103 -#: lib/bds/ui/sidebar.ex:285 -#: lib/bds/ui/sidebar.ex:579 -#: lib/bds/ui/sidebar.ex:741 +#: lib/bds/ui/sidebar.ex:289 +#: lib/bds/ui/sidebar.ex:590 +#: lib/bds/ui/sidebar.ex:752 #, elixir-autogen, elixir-format msgid "Tags" msgstr "Tag" -#: lib/bds/desktop/shell_live.ex:948 +#: lib/bds/desktop/shell_live.ex:974 #: lib/bds/desktop/shell_live/panel_renderer.ex:54 #, elixir-autogen, elixir-format msgid "Tasks" msgstr "Attività" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:318 -#: lib/bds/ui/sidebar.ex:765 +#: lib/bds/ui/sidebar.ex:776 #, elixir-autogen, elixir-format msgid "Technology" msgstr "Tecnologia" @@ -2532,7 +2532,7 @@ msgstr "La sintassi del template è valida" #: lib/bds/ui/registry.ex:46 #: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:122 -#: lib/bds/ui/sidebar.ex:163 +#: lib/bds/ui/sidebar.ex:167 #, elixir-autogen, elixir-format msgid "Templates" msgstr "Template" @@ -2593,8 +2593,8 @@ msgstr "Attiva/disattiva assistente" msgid "Toggle Dev Tools" msgstr "Attiva/disattiva strumenti sviluppo" -#: lib/bds/ui/sidebar.ex:283 -#: lib/bds/ui/sidebar.ex:577 +#: lib/bds/ui/sidebar.ex:287 +#: lib/bds/ui/sidebar.ex:588 #, elixir-autogen, elixir-format msgid "Toggle Filters" msgstr "Mostra/nascondi filtri" @@ -2735,7 +2735,7 @@ msgstr "Non salvato" #: lib/bds/desktop/shell_live/import_editor.ex:867 #: lib/bds/desktop/shell_live/post_editor/post_metadata.ex:166 -#: lib/bds/ui/sidebar.ex:1105 +#: lib/bds/ui/sidebar.ex:1116 #, elixir-autogen, elixir-format msgid "Untitled" msgstr "Senza titolo" @@ -2834,7 +2834,7 @@ msgid "Working tree" msgstr "Working tree" #: lib/bds/desktop/shell_live/tab_helpers.ex:191 -#: lib/bds/ui/sidebar.ex:787 +#: lib/bds/ui/sidebar.ex:798 #, elixir-autogen, elixir-format msgid "Working tree and history" msgstr "Working tree e cronologia" @@ -3010,14 +3010,14 @@ msgstr "pagine" msgid "posts" msgstr "articoli" -#: lib/bds/ui/sidebar.ex:290 -#: lib/bds/ui/sidebar.ex:582 +#: lib/bds/ui/sidebar.ex:294 +#: lib/bds/ui/sidebar.ex:593 #, elixir-autogen, elixir-format msgid "results" msgstr "risultati" -#: lib/bds/ui/sidebar.ex:291 -#: lib/bds/ui/sidebar.ex:583 +#: lib/bds/ui/sidebar.ex:295 +#: lib/bds/ui/sidebar.ex:594 #, elixir-autogen, elixir-format msgid "results for" msgstr "risultati per" @@ -3177,12 +3177,12 @@ msgstr "Benvenuto nell’assistente IA" msgid "Comparing database and filesystem metadata" msgstr "Confronto tra i metadati del database e del filesystem" -#: lib/bds/desktop/shell_live.ex:671 +#: lib/bds/desktop/shell_live.ex:680 #, elixir-autogen, elixir-format msgid "Added %{count} images to post" msgstr "%{count} immagini aggiunte al post" -#: lib/bds/desktop/shell_live.ex:642 +#: lib/bds/desktop/shell_live.ex:648 #, elixir-autogen, elixir-format msgid "Added %{title}" msgstr "%{title} aggiunto" @@ -3202,18 +3202,18 @@ msgstr "Guida per l'utente finale per flussi editoriali, media, modelli, traduzi msgid "Image Import Concurrency" msgstr "Importazione simultanea immagini" -#: lib/bds/desktop/shell_live.ex:429 -#: lib/bds/desktop/shell_live.ex:442 -#: lib/bds/desktop/shell_live.ex:642 -#: lib/bds/desktop/shell_live.ex:670 +#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:443 +#: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:679 -#: lib/bds/desktop/shell_live.ex:686 +#: lib/bds/desktop/shell_live.ex:690 +#: lib/bds/desktop/shell_live.ex:701 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Aggiungi immagini alla galleria" -#: lib/bds/desktop/shell_live.ex:687 +#: lib/bds/desktop/shell_live.ex:702 #, elixir-autogen, elixir-format msgid "Failed to process %{path}: %{reason}" msgstr "Impossibile elaborare %{path}: %{reason}" @@ -3263,9 +3263,9 @@ msgstr "Indietro" msgid "Changes" msgstr "Modifiche" -#: lib/bds/desktop/shell_live.ex:1055 -#: lib/bds/desktop/shell_live.ex:1071 -#: lib/bds/desktop/shell_live.ex:1077 +#: lib/bds/desktop/shell_live.ex:1131 +#: lib/bds/desktop/shell_live.ex:1147 +#: lib/bds/desktop/shell_live.ex:1153 #: lib/bds/desktop/shell_live/sidebar_components.ex:556 #, elixir-autogen, elixir-format msgid "Commit" @@ -3276,17 +3276,17 @@ msgstr "Commit" msgid "Commit message" msgstr "Messaggio di commit" -#: lib/bds/desktop/shell_live.ex:1056 +#: lib/bds/desktop/shell_live.ex:1132 #, elixir-autogen, elixir-format msgid "Commit message is required" msgstr "Il messaggio di commit è obbligatorio" -#: lib/bds/desktop/shell_live.ex:1120 +#: lib/bds/desktop/shell_live.ex:1200 #, elixir-autogen, elixir-format msgid "Done" msgstr "Fatto" -#: lib/bds/desktop/shell_live.ex:1041 +#: lib/bds/desktop/shell_live.ex:1117 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #, elixir-autogen, elixir-format @@ -3298,8 +3298,8 @@ msgstr "Recupera" msgid "History" msgstr "Cronologia" -#: lib/bds/desktop/shell_live.ex:1091 -#: lib/bds/desktop/shell_live.ex:1099 +#: lib/bds/desktop/shell_live.ex:1167 +#: lib/bds/desktop/shell_live.ex:1175 #: lib/bds/desktop/shell_live/sidebar_components.ex:513 #, elixir-autogen, elixir-format msgid "Initialize Git" @@ -3310,7 +3310,7 @@ msgstr "Inizializza Git" msgid "Local only" msgstr "Solo locale" -#: lib/bds/desktop/shell_live.ex:1127 +#: lib/bds/desktop/shell_live.ex:1207 #, elixir-autogen, elixir-format msgid "No active project" msgstr "Nessun progetto attivo" @@ -3330,21 +3330,21 @@ msgstr "Nessun commit ancora" msgid "Older history available" msgstr "Cronologia precedente disponibile" -#: lib/bds/desktop/shell_live.ex:1044 +#: lib/bds/desktop/shell_live.ex:1120 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #, elixir-autogen, elixir-format msgid "Prune LFS" msgstr "Pulisci LFS" -#: lib/bds/desktop/shell_live.ex:1042 +#: lib/bds/desktop/shell_live.ex:1118 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #, elixir-autogen, elixir-format msgid "Pull" msgstr "Pull" -#: lib/bds/desktop/shell_live.ex:1043 +#: lib/bds/desktop/shell_live.ex:1119 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #, elixir-autogen, elixir-format @@ -3361,7 +3361,7 @@ msgstr "URL remota (opzionale)" msgid "Remote only" msgstr "Solo remoto" -#: lib/bds/desktop/shell_live.ex:1092 +#: lib/bds/desktop/shell_live.ex:1168 #, elixir-autogen, elixir-format msgid "Repository initialized" msgstr "Repository inizializzato" @@ -3376,28 +3376,38 @@ msgstr "Sincronizzato" msgid "This project is not a Git repository yet." msgstr "Questo progetto non è ancora un repository Git." -#: lib/bds/ui/sidebar.ex:869 +#: lib/bds/ui/sidebar.ex:880 #, elixir-autogen, elixir-format msgid "added" msgstr "aggiunto" -#: lib/bds/ui/sidebar.ex:870 +#: lib/bds/ui/sidebar.ex:881 #, elixir-autogen, elixir-format msgid "deleted" msgstr "eliminato" -#: lib/bds/ui/sidebar.ex:871 -#: lib/bds/ui/sidebar.ex:874 +#: lib/bds/ui/sidebar.ex:882 +#: lib/bds/ui/sidebar.ex:885 #, elixir-autogen, elixir-format msgid "modified" msgstr "modificato" -#: lib/bds/ui/sidebar.ex:872 +#: lib/bds/ui/sidebar.ex:883 #, elixir-autogen, elixir-format msgid "renamed" msgstr "rinominato" -#: lib/bds/ui/sidebar.ex:873 +#: lib/bds/ui/sidebar.ex:884 #, elixir-autogen, elixir-format msgid "untracked" msgstr "non tracciato" + +#: lib/bds/desktop/shell_live.ex:1012 +#, elixir-autogen, elixir-format +msgid "Blogmark" +msgstr "Blogmark" + +#: lib/bds/desktop/shell_live.ex:1040 +#, elixir-autogen, elixir-format +msgid "Open a project before importing a blogmark." +msgstr "Apri un progetto prima di importare un blogmark." diff --git a/priv/gettext/render.pot b/priv/gettext/render.pot index baecaaa..3664396 100644 --- a/priv/gettext/render.pot +++ b/priv/gettext/render.pot @@ -12,8 +12,8 @@ msgid "" msgstr "" #: lib/bds/rendering/labels.ex:18 -#: lib/bds/ui/sidebar.ex:284 -#: lib/bds/ui/sidebar.ex:578 +#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:589 #, elixir-autogen, elixir-format msgid "Archive" msgstr "" diff --git a/priv/gettext/ui.pot b/priv/gettext/ui.pot index e36503f..18d3316 100644 --- a/priv/gettext/ui.pot +++ b/priv/gettext/ui.pot @@ -72,7 +72,7 @@ msgid "--" msgstr "" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:217 -#: lib/bds/ui/sidebar.ex:762 +#: lib/bds/ui/sidebar.ex:773 #, elixir-autogen, elixir-format msgid "AI" msgstr "" @@ -102,7 +102,7 @@ msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:166 #: lib/bds/ui/sidebar.ex:83 #: lib/bds/ui/sidebar.ex:131 -#: lib/bds/ui/sidebar.ex:175 +#: lib/bds/ui/sidebar.ex:179 #, elixir-autogen, elixir-format msgid "AI conversations" msgstr "" @@ -235,7 +235,7 @@ msgid "Apply Theme" msgstr "" #: lib/bds/desktop/shell_data.ex:182 -#: lib/bds/ui/sidebar.ex:327 +#: lib/bds/ui/sidebar.ex:331 #, elixir-autogen, elixir-format msgid "Archived" msgstr "" @@ -270,7 +270,7 @@ msgid "Auto" msgstr "" #: lib/bds/desktop/shell_data.ex:98 -#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:431 #: lib/bds/desktop/shell_live/chat_editor.ex:231 #: lib/bds/desktop/shell_live/media_editor.ex:156 #: lib/bds/desktop/shell_live/media_editor.ex:349 @@ -285,7 +285,7 @@ msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:146 #: lib/bds/ui/sidebar.ex:64 #: lib/bds/ui/sidebar.ex:116 -#: lib/bds/ui/sidebar.ex:155 +#: lib/bds/ui/sidebar.ex:159 #, elixir-autogen, elixir-format msgid "Automation helpers" msgstr "" @@ -387,7 +387,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:131 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:144 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:158 -#: lib/bds/ui/sidebar.ex:286 +#: lib/bds/ui/sidebar.ex:290 #, elixir-autogen, elixir-format msgid "Categories" msgstr "" @@ -417,7 +417,7 @@ msgstr "" msgid "Category name is required" msgstr "" -#: lib/bds/desktop/shell_live.ex:953 +#: lib/bds/desktop/shell_live.ex:979 #: lib/bds/desktop/shell_live/chat_editor.ex:87 #: lib/bds/desktop/shell_live/chat_editor.ex:230 #: lib/bds/desktop/shell_live/chat_editor.ex:318 @@ -426,7 +426,7 @@ msgstr "" #: lib/bds/ui/registry.ex:104 #: lib/bds/ui/sidebar.ex:82 #: lib/bds/ui/sidebar.ex:130 -#: lib/bds/ui/sidebar.ex:174 +#: lib/bds/ui/sidebar.ex:178 #, elixir-autogen, elixir-format msgid "Chat" msgstr "" @@ -446,13 +446,13 @@ msgstr "" msgid "Clear" msgstr "" -#: lib/bds/ui/sidebar.ex:288 +#: lib/bds/ui/sidebar.ex:292 #, elixir-autogen, elixir-format msgid "Clear categories" msgstr "" -#: lib/bds/ui/sidebar.ex:289 -#: lib/bds/ui/sidebar.ex:581 +#: lib/bds/ui/sidebar.ex:293 +#: lib/bds/ui/sidebar.ex:592 #, elixir-autogen, elixir-format msgid "Clear filters" msgstr "" @@ -463,8 +463,8 @@ msgstr "" msgid "Clear mapping" msgstr "" -#: lib/bds/ui/sidebar.ex:287 -#: lib/bds/ui/sidebar.ex:580 +#: lib/bds/ui/sidebar.ex:291 +#: lib/bds/ui/sidebar.ex:591 #, elixir-autogen, elixir-format msgid "Clear tags" msgstr "" @@ -515,7 +515,7 @@ msgstr "" #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 #: 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/ui/sidebar.ex:761 +#: lib/bds/ui/sidebar.ex:772 #, elixir-autogen, elixir-format msgid "Content" msgstr "" @@ -556,7 +556,7 @@ msgid "Create" msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:36 -#: lib/bds/ui/sidebar.ex:746 +#: lib/bds/ui/sidebar.ex:757 #, elixir-autogen, elixir-format msgid "Create / Edit" msgstr "" @@ -602,7 +602,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: lib/bds/ui/sidebar.ex:775 +#: lib/bds/ui/sidebar.ex:786 #, elixir-autogen, elixir-format msgid "Data" msgstr "" @@ -804,12 +804,12 @@ msgstr "" msgid "Draft" msgstr "" -#: lib/bds/ui/sidebar.ex:313 +#: lib/bds/ui/sidebar.ex:317 #, elixir-autogen, elixir-format msgid "Drafts" msgstr "" -#: lib/bds/ui/sidebar.ex:271 +#: lib/bds/ui/sidebar.ex:275 #, elixir-autogen, elixir-format msgid "Drafts, published entries, and archive history" msgstr "" @@ -842,7 +842,7 @@ msgstr "" #: lib/bds/desktop/shell_live/index.html.heex:513 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:111 -#: lib/bds/ui/sidebar.ex:760 +#: lib/bds/ui/sidebar.ex:771 #, elixir-autogen, elixir-format msgid "Editor" msgstr "" @@ -1004,8 +1004,8 @@ msgstr "" msgid "Generate Site" msgstr "" -#: lib/bds/desktop/shell_live.ex:954 -#: lib/bds/ui/sidebar.ex:786 +#: lib/bds/desktop/shell_live.ex:980 +#: lib/bds/ui/sidebar.ex:797 #, elixir-autogen, elixir-format msgid "Git" msgstr "" @@ -1017,7 +1017,7 @@ msgid "Git Diff" msgstr "" #: lib/bds/desktop/shell_data.ex:244 -#: lib/bds/desktop/shell_live.ex:950 +#: lib/bds/desktop/shell_live.ex:976 #: lib/bds/desktop/shell_live/panel_renderer.ex:171 #, elixir-autogen, elixir-format msgid "Git Log" @@ -1056,7 +1056,7 @@ msgstr "" msgid "Ignore" msgstr "" -#: lib/bds/ui/sidebar.ex:571 +#: lib/bds/ui/sidebar.ex:582 #, elixir-autogen, elixir-format msgid "Images and files" msgstr "" @@ -1095,7 +1095,7 @@ msgstr "" #: lib/bds/ui/sidebar.ex:33 #: lib/bds/ui/sidebar.ex:90 #: lib/bds/ui/sidebar.ex:137 -#: lib/bds/ui/sidebar.ex:183 +#: lib/bds/ui/sidebar.ex:187 #, elixir-autogen, elixir-format msgid "Import" msgstr "" @@ -1130,7 +1130,7 @@ msgstr "" #: lib/bds/ui/sidebar.ex:34 #: lib/bds/ui/sidebar.ex:91 #: lib/bds/ui/sidebar.ex:138 -#: lib/bds/ui/sidebar.ex:184 +#: lib/bds/ui/sidebar.ex:188 #, elixir-autogen, elixir-format msgid "Import definitions" msgstr "" @@ -1140,9 +1140,9 @@ msgstr "" msgid "Import failed: %{error}" msgstr "" -#: lib/bds/desktop/shell_live.ex:601 -#: lib/bds/desktop/shell_live.ex:991 -#: lib/bds/desktop/shell_live.ex:997 +#: lib/bds/desktop/shell_live.ex:604 +#: lib/bds/desktop/shell_live.ex:1067 +#: lib/bds/desktop/shell_live.ex:1073 #: lib/bds/desktop/shell_live/sidebar_create.ex:47 #, elixir-autogen, elixir-format msgid "Import media" @@ -1262,7 +1262,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:50 #: lib/bds/desktop/shell_live/settings_editor/mcp_config.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:348 -#: lib/bds/ui/sidebar.ex:776 +#: lib/bds/ui/sidebar.ex:787 #, elixir-autogen, elixir-format msgid "MCP" msgstr "" @@ -1321,7 +1321,7 @@ msgstr "" #: lib/bds/desktop/shell_live/sidebar_delete.ex:175 #: lib/bds/ui/registry.ex:30 #: lib/bds/ui/registry.ex:100 -#: lib/bds/ui/sidebar.ex:570 +#: lib/bds/ui/sidebar.ex:581 #, elixir-autogen, elixir-format msgid "Media" msgstr "" @@ -1347,7 +1347,7 @@ msgid "Merge" msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:78 -#: lib/bds/ui/sidebar.ex:747 +#: lib/bds/ui/sidebar.ex:758 #, elixir-autogen, elixir-format msgid "Merge Tags" msgstr "" @@ -1469,9 +1469,9 @@ msgstr "" #: lib/bds/desktop/shell_live/sidebar_components.ex:321 #: lib/bds/desktop/shell_live/sidebar_components.ex:381 #: lib/bds/desktop/shell_live/sidebar_components.ex:455 -#: lib/bds/ui/sidebar.ex:198 -#: lib/bds/ui/sidebar.ex:789 -#: lib/bds/ui/sidebar.ex:896 +#: lib/bds/ui/sidebar.ex:202 +#: lib/bds/ui/sidebar.ex:800 +#: lib/bds/ui/sidebar.ex:907 #, elixir-autogen, elixir-format msgid "No items" msgstr "" @@ -1491,13 +1491,13 @@ msgstr "" msgid "No matching pages found." msgstr "" -#: lib/bds/ui/sidebar.ex:292 +#: lib/bds/ui/sidebar.ex:296 #, elixir-autogen, elixir-format msgid "No matching posts" msgstr "" -#: lib/bds/ui/sidebar.ex:573 #: lib/bds/ui/sidebar.ex:584 +#: lib/bds/ui/sidebar.ex:595 #, elixir-autogen, elixir-format msgid "No media files" msgstr "" @@ -1512,7 +1512,7 @@ msgstr "" msgid "No orphan files selected" msgstr "" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No pages yet" msgstr "" @@ -1527,7 +1527,7 @@ msgstr "" msgid "No posts to link" msgstr "" -#: lib/bds/ui/sidebar.ex:275 +#: lib/bds/ui/sidebar.ex:279 #, elixir-autogen, elixir-format msgid "No posts yet" msgstr "" @@ -1734,7 +1734,7 @@ msgstr "" msgid "Other (%{count})" msgstr "" -#: lib/bds/desktop/shell_live.ex:949 +#: lib/bds/desktop/shell_live.ex:975 #: lib/bds/desktop/shell_live/panel_renderer.ex:83 #, elixir-autogen, elixir-format msgid "Output" @@ -1762,7 +1762,7 @@ msgid "Page Slug Conflicts" msgstr "" #: lib/bds/ui/registry.ex:22 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Pages" msgstr "" @@ -1852,7 +1852,7 @@ msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:673 #: lib/bds/desktop/shell_live/misc_editor.ex:770 #: lib/bds/ui/registry.ex:14 -#: lib/bds/ui/sidebar.ex:267 +#: lib/bds/ui/sidebar.ex:271 #, elixir-autogen, elixir-format msgid "Posts" msgstr "" @@ -1892,7 +1892,7 @@ msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:748 #: lib/bds/desktop/shell_live/misc_editor.ex:774 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:27 -#: lib/bds/ui/sidebar.ex:759 +#: lib/bds/ui/sidebar.ex:770 #, elixir-autogen, elixir-format msgid "Project" msgstr "" @@ -1902,7 +1902,7 @@ msgstr "" msgid "Project Name" msgstr "" -#: lib/bds/ui/sidebar.ex:756 +#: lib/bds/ui/sidebar.ex:767 #, elixir-autogen, elixir-format msgid "Project and publishing" msgstr "" @@ -1938,7 +1938,7 @@ msgstr "" #: lib/bds/desktop/shell_data.ex:181 #: lib/bds/desktop/shell_live/post_editor.ex:897 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 -#: lib/bds/ui/sidebar.ex:320 +#: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" msgstr "" @@ -1952,7 +1952,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:40 #: lib/bds/desktop/shell_live/settings_editor/publishing_settings.ex:57 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:335 -#: lib/bds/ui/sidebar.ex:771 +#: lib/bds/ui/sidebar.ex:782 #, elixir-autogen, elixir-format msgid "Publishing" msgstr "" @@ -2240,7 +2240,7 @@ msgstr "" #: lib/bds/ui/registry.ex:38 #: lib/bds/ui/sidebar.ex:63 #: lib/bds/ui/sidebar.ex:115 -#: lib/bds/ui/sidebar.ex:154 +#: lib/bds/ui/sidebar.ex:158 #, elixir-autogen, elixir-format msgid "Scripts" msgstr "" @@ -2251,12 +2251,12 @@ msgid "Search" msgstr "" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:99 -#: lib/bds/ui/sidebar.ex:576 +#: lib/bds/ui/sidebar.ex:587 #, elixir-autogen, elixir-format msgid "Search media..." msgstr "" -#: lib/bds/ui/sidebar.ex:280 +#: lib/bds/ui/sidebar.ex:284 #, elixir-autogen, elixir-format msgid "Search pages..." msgstr "" @@ -2267,7 +2267,7 @@ msgid "Search posts" msgstr "" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:62 -#: lib/bds/ui/sidebar.ex:281 +#: lib/bds/ui/sidebar.ex:285 #, elixir-autogen, elixir-format msgid "Search posts..." msgstr "" @@ -2343,7 +2343,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:11 #: lib/bds/ui/registry.ex:86 #: lib/bds/ui/registry.ex:101 -#: lib/bds/ui/sidebar.ex:755 +#: lib/bds/ui/sidebar.ex:766 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" @@ -2374,7 +2374,7 @@ msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:156 #: lib/bds/ui/sidebar.ex:72 #: lib/bds/ui/sidebar.ex:123 -#: lib/bds/ui/sidebar.ex:164 +#: lib/bds/ui/sidebar.ex:168 #, elixir-autogen, elixir-format msgid "Site rendering" msgstr "" @@ -2398,7 +2398,7 @@ msgstr "" msgid "Source Control" msgstr "" -#: lib/bds/ui/sidebar.ex:270 +#: lib/bds/ui/sidebar.ex:274 #, elixir-autogen, elixir-format msgid "Standalone pages" msgstr "" @@ -2429,7 +2429,7 @@ msgstr "" #: lib/bds/desktop/shell_live/settings_editor/style_editor.ex:74 #: lib/bds/desktop/shell_live/settings_editor_html/style_editor.html.heex:3 #: lib/bds/ui/registry.ex:102 -#: lib/bds/ui/sidebar.ex:777 +#: lib/bds/ui/sidebar.ex:788 #, elixir-autogen, elixir-format msgid "Style" msgstr "" @@ -2460,12 +2460,12 @@ msgid "System Prompt" msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:16 -#: lib/bds/ui/sidebar.ex:745 +#: lib/bds/ui/sidebar.ex:756 #, elixir-autogen, elixir-format msgid "Tag Cloud" msgstr "" -#: lib/bds/ui/sidebar.ex:742 +#: lib/bds/ui/sidebar.ex:753 #, elixir-autogen, elixir-format msgid "Tag management" msgstr "" @@ -2489,21 +2489,21 @@ msgstr "" #: lib/bds/desktop/shell_live/tags_editor_html/tags_editor.html.heex:11 #: lib/bds/ui/registry.ex:54 #: lib/bds/ui/registry.ex:103 -#: lib/bds/ui/sidebar.ex:285 -#: lib/bds/ui/sidebar.ex:579 -#: lib/bds/ui/sidebar.ex:741 +#: lib/bds/ui/sidebar.ex:289 +#: lib/bds/ui/sidebar.ex:590 +#: lib/bds/ui/sidebar.ex:752 #, elixir-autogen, elixir-format msgid "Tags" msgstr "" -#: lib/bds/desktop/shell_live.ex:948 +#: lib/bds/desktop/shell_live.ex:974 #: lib/bds/desktop/shell_live/panel_renderer.ex:54 #, elixir-autogen, elixir-format msgid "Tasks" msgstr "" #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:318 -#: lib/bds/ui/sidebar.ex:765 +#: lib/bds/ui/sidebar.ex:776 #, elixir-autogen, elixir-format msgid "Technology" msgstr "" @@ -2545,7 +2545,7 @@ msgstr "" #: lib/bds/ui/registry.ex:46 #: lib/bds/ui/sidebar.ex:71 #: lib/bds/ui/sidebar.ex:122 -#: lib/bds/ui/sidebar.ex:163 +#: lib/bds/ui/sidebar.ex:167 #, elixir-autogen, elixir-format msgid "Templates" msgstr "" @@ -2606,8 +2606,8 @@ msgstr "" msgid "Toggle Dev Tools" msgstr "" -#: lib/bds/ui/sidebar.ex:283 -#: lib/bds/ui/sidebar.ex:577 +#: lib/bds/ui/sidebar.ex:287 +#: lib/bds/ui/sidebar.ex:588 #, elixir-autogen, elixir-format msgid "Toggle Filters" msgstr "" @@ -2748,7 +2748,7 @@ msgstr "" #: lib/bds/desktop/shell_live/import_editor.ex:867 #: lib/bds/desktop/shell_live/post_editor/post_metadata.ex:166 -#: lib/bds/ui/sidebar.ex:1105 +#: lib/bds/ui/sidebar.ex:1116 #, elixir-autogen, elixir-format msgid "Untitled" msgstr "" @@ -2847,7 +2847,7 @@ msgid "Working tree" msgstr "" #: lib/bds/desktop/shell_live/tab_helpers.ex:191 -#: lib/bds/ui/sidebar.ex:787 +#: lib/bds/ui/sidebar.ex:798 #, elixir-autogen, elixir-format msgid "Working tree and history" msgstr "" @@ -3023,14 +3023,14 @@ msgstr "" msgid "posts" msgstr "" -#: lib/bds/ui/sidebar.ex:290 -#: lib/bds/ui/sidebar.ex:582 +#: lib/bds/ui/sidebar.ex:294 +#: lib/bds/ui/sidebar.ex:593 #, elixir-autogen, elixir-format msgid "results" msgstr "" -#: lib/bds/ui/sidebar.ex:291 -#: lib/bds/ui/sidebar.ex:583 +#: lib/bds/ui/sidebar.ex:295 +#: lib/bds/ui/sidebar.ex:594 #, elixir-autogen, elixir-format msgid "results for" msgstr "" @@ -3190,12 +3190,12 @@ msgstr "" msgid "Comparing database and filesystem metadata" msgstr "" -#: lib/bds/desktop/shell_live.ex:671 +#: lib/bds/desktop/shell_live.ex:680 #, elixir-autogen, elixir-format msgid "Added %{count} images to post" msgstr "" -#: lib/bds/desktop/shell_live.ex:642 +#: lib/bds/desktop/shell_live.ex:648 #, elixir-autogen, elixir-format msgid "Added %{title}" msgstr "" @@ -3215,18 +3215,18 @@ msgstr "" msgid "Image Import Concurrency" msgstr "" -#: lib/bds/desktop/shell_live.ex:429 -#: lib/bds/desktop/shell_live.ex:442 -#: lib/bds/desktop/shell_live.ex:642 -#: lib/bds/desktop/shell_live.ex:670 +#: lib/bds/desktop/shell_live.ex:430 +#: lib/bds/desktop/shell_live.ex:443 +#: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:679 -#: lib/bds/desktop/shell_live.ex:686 +#: lib/bds/desktop/shell_live.ex:690 +#: lib/bds/desktop/shell_live.ex:701 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "" -#: lib/bds/desktop/shell_live.ex:687 +#: lib/bds/desktop/shell_live.ex:702 #, elixir-autogen, elixir-format msgid "Failed to process %{path}: %{reason}" msgstr "" @@ -3276,9 +3276,9 @@ msgstr "" msgid "Changes" msgstr "" -#: lib/bds/desktop/shell_live.ex:1055 -#: lib/bds/desktop/shell_live.ex:1071 -#: lib/bds/desktop/shell_live.ex:1077 +#: lib/bds/desktop/shell_live.ex:1131 +#: lib/bds/desktop/shell_live.ex:1147 +#: lib/bds/desktop/shell_live.ex:1153 #: lib/bds/desktop/shell_live/sidebar_components.ex:556 #, elixir-autogen, elixir-format msgid "Commit" @@ -3289,17 +3289,17 @@ msgstr "" msgid "Commit message" msgstr "" -#: lib/bds/desktop/shell_live.ex:1056 +#: lib/bds/desktop/shell_live.ex:1132 #, elixir-autogen, elixir-format msgid "Commit message is required" msgstr "" -#: lib/bds/desktop/shell_live.ex:1120 +#: lib/bds/desktop/shell_live.ex:1200 #, elixir-autogen, elixir-format msgid "Done" msgstr "" -#: lib/bds/desktop/shell_live.ex:1041 +#: lib/bds/desktop/shell_live.ex:1117 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #: lib/bds/desktop/shell_live/sidebar_components.ex:542 #, elixir-autogen, elixir-format @@ -3311,8 +3311,8 @@ msgstr "" msgid "History" msgstr "" -#: lib/bds/desktop/shell_live.ex:1091 -#: lib/bds/desktop/shell_live.ex:1099 +#: lib/bds/desktop/shell_live.ex:1167 +#: lib/bds/desktop/shell_live.ex:1175 #: lib/bds/desktop/shell_live/sidebar_components.ex:513 #, elixir-autogen, elixir-format msgid "Initialize Git" @@ -3323,7 +3323,7 @@ msgstr "" msgid "Local only" msgstr "" -#: lib/bds/desktop/shell_live.ex:1127 +#: lib/bds/desktop/shell_live.ex:1207 #, elixir-autogen, elixir-format msgid "No active project" msgstr "" @@ -3343,21 +3343,21 @@ msgstr "" msgid "Older history available" msgstr "" -#: lib/bds/desktop/shell_live.ex:1044 +#: lib/bds/desktop/shell_live.ex:1120 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #: lib/bds/desktop/shell_live/sidebar_components.ex:545 #, elixir-autogen, elixir-format msgid "Prune LFS" msgstr "" -#: lib/bds/desktop/shell_live.ex:1042 +#: lib/bds/desktop/shell_live.ex:1118 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #: lib/bds/desktop/shell_live/sidebar_components.ex:543 #, elixir-autogen, elixir-format msgid "Pull" msgstr "" -#: lib/bds/desktop/shell_live.ex:1043 +#: lib/bds/desktop/shell_live.ex:1119 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #: lib/bds/desktop/shell_live/sidebar_components.ex:544 #, elixir-autogen, elixir-format @@ -3374,7 +3374,7 @@ msgstr "" msgid "Remote only" msgstr "" -#: lib/bds/desktop/shell_live.ex:1092 +#: lib/bds/desktop/shell_live.ex:1168 #, elixir-autogen, elixir-format msgid "Repository initialized" msgstr "" @@ -3389,28 +3389,38 @@ msgstr "" msgid "This project is not a Git repository yet." msgstr "" -#: lib/bds/ui/sidebar.ex:869 +#: lib/bds/ui/sidebar.ex:880 #, elixir-autogen, elixir-format msgid "added" msgstr "" -#: lib/bds/ui/sidebar.ex:870 +#: lib/bds/ui/sidebar.ex:881 #, elixir-autogen, elixir-format msgid "deleted" msgstr "" -#: lib/bds/ui/sidebar.ex:871 -#: lib/bds/ui/sidebar.ex:874 +#: lib/bds/ui/sidebar.ex:882 +#: lib/bds/ui/sidebar.ex:885 #, elixir-autogen, elixir-format msgid "modified" msgstr "" -#: lib/bds/ui/sidebar.ex:872 +#: lib/bds/ui/sidebar.ex:883 #, elixir-autogen, elixir-format msgid "renamed" msgstr "" -#: lib/bds/ui/sidebar.ex:873 +#: lib/bds/ui/sidebar.ex:884 #, elixir-autogen, elixir-format msgid "untracked" msgstr "" + +#: lib/bds/desktop/shell_live.ex:1012 +#, elixir-autogen, elixir-format +msgid "Blogmark" +msgstr "" + +#: lib/bds/desktop/shell_live.ex:1040 +#, elixir-autogen, elixir-format +msgid "Open a project before importing a blogmark." +msgstr "" diff --git a/test/bds/blogmark_test.exs b/test/bds/blogmark_test.exs new file mode 100644 index 0000000..3f24f1b --- /dev/null +++ b/test/bds/blogmark_test.exs @@ -0,0 +1,126 @@ +defmodule BDS.BlogmarkTest do + use ExUnit.Case, async: false + + alias BDS.Blogmark + alias BDS.Scripts + + setup do + :ok = Ecto.Adapters.SQL.Sandbox.checkout(BDS.Repo) + Ecto.Adapters.SQL.Sandbox.mode(BDS.Repo, {:shared, self()}) + + temp_dir = + Path.join(System.tmp_dir!(), "bds-blogmark-#{System.unique_integer([:positive])}") + + File.mkdir_p!(temp_dir) + on_exit(fn -> File.rm_rf(temp_dir) end) + + {:ok, project} = BDS.Projects.create_project(%{name: "Blogmark", data_path: temp_dir}) + + %{project: project} + end + + describe "parse_deep_link/1" do + test "parses a new-post deep link into a candidate" do + url = + "bds2://new-post?title=" <> + URI.encode_www_form("Hello World") <> + "&url=" <> URI.encode_www_form("https://example.com/page") + + assert {:ok, candidate} = Blogmark.parse_deep_link(url) + assert candidate["title"] == "Hello World" + assert candidate["url"] == "https://example.com/page" + assert candidate["content"] == nil + assert candidate["tags"] == [] + assert candidate["categories"] == [] + end + + test "parses optional content, tags and categories" do + url = + "bds2://new-post?title=T&url=https://x&content=" <> + URI.encode_www_form("body text") <> + "&tags=" <> + URI.encode_www_form("a, b ,c") <> + "&categories=" <> URI.encode_www_form("news") + + assert {:ok, candidate} = Blogmark.parse_deep_link(url) + assert candidate["content"] == "body text" + assert candidate["tags"] == ["a", "b", "c"] + assert candidate["categories"] == ["news"] + end + + test "rejects an unsupported scheme" do + assert {:error, :unsupported_scheme} = + Blogmark.parse_deep_link("bds://new-post?title=T") + end + + test "rejects an unsupported action" do + assert {:error, :unsupported_action} = + Blogmark.parse_deep_link("bds2://open-thing?id=1") + end + end + + describe "receive_deep_link/3" do + test "creates a draft post from the deep link", %{project: project} do + url = + "bds2://new-post?title=" <> + URI.encode_www_form("A Bookmarked Page") <> + "&url=" <> URI.encode_www_form("https://example.com/a") + + assert {:ok, %{post: post, toasts: [], errors: []}} = + Blogmark.receive_deep_link(project.id, url) + + assert post.title == "A Bookmarked Page" + assert post.status == :draft + assert post.project_id == project.id + end + + test "runs enabled transforms on the candidate before creating the post", %{project: project} do + {:ok, _script} = + Scripts.create_script(%{ + project_id: project.id, + title: "Prefix", + kind: :transform, + content: """ + function main(data, ctx) + data.title = "[" .. ctx.source .. "] " .. data.title + return { data = data, toasts = { "transformed" } } + end + """, + entrypoint: "main" + }) + + url = "bds2://new-post?title=Page&url=https://x" + + assert {:ok, %{post: post, toasts: toasts}} = + Blogmark.receive_deep_link(project.id, url) + + assert post.title == "[blogmark] Page" + assert toasts == ["transformed"] + end + + test "defaults the category from blogmark_category when none provided", %{project: project} do + {:ok, _meta} = + BDS.Metadata.update_project_metadata(project.id, %{blogmark_category: "aside"}) + + url = "bds2://new-post?title=Page&url=https://x" + + assert {:ok, %{post: post}} = Blogmark.receive_deep_link(project.id, url) + assert post.categories == ["aside"] + end + + test "keeps explicit categories over the blogmark default", %{project: project} do + {:ok, _meta} = + BDS.Metadata.update_project_metadata(project.id, %{blogmark_category: "aside"}) + + url = "bds2://new-post?title=Page&url=https://x&categories=article" + + assert {:ok, %{post: post}} = Blogmark.receive_deep_link(project.id, url) + assert post.categories == ["article"] + end + + test "returns an error for an invalid deep link", %{project: project} do + assert {:error, :unsupported_scheme} = + Blogmark.receive_deep_link(project.id, "bds://new-post?title=T") + end + end +end diff --git a/test/bds/desktop/deep_link_test.exs b/test/bds/desktop/deep_link_test.exs new file mode 100644 index 0000000..991403d --- /dev/null +++ b/test/bds/desktop/deep_link_test.exs @@ -0,0 +1,34 @@ +defmodule BDS.Desktop.DeepLinkTest do + use ExUnit.Case, async: false + + alias BDS.Desktop.DeepLink + + setup do + topic = "deep-link-test:#{System.unique_integer([:positive])}" + Phoenix.PubSub.subscribe(BDS.PubSub, topic) + + {:ok, pid} = DeepLink.start_link(name: nil, pubsub: BDS.PubSub, topic: topic) + on_exit(fn -> if Process.alive?(pid), do: GenServer.stop(pid) end) + + %{pid: pid, topic: topic} + end + + test "broadcasts a bds2:// open_url event to the shell topic", %{pid: pid} do + url = "bds2://new-post?title=Hello&url=https://example.com" + send(pid, {:open_url, [url]}) + + assert_receive {:blogmark_deep_link, ^url}, 500 + end + + test "ignores non-bds2 open_url events", %{pid: pid} do + send(pid, {:open_url, ["https://example.com"]}) + + refute_receive {:blogmark_deep_link, _url}, 200 + end + + test "ignores unrelated messages", %{pid: pid} do + send(pid, {:open_file, ["/tmp/x"]}) + + refute_receive {:blogmark_deep_link, _url}, 200 + end +end diff --git a/test/bds/desktop/shell_live_test.exs b/test/bds/desktop/shell_live_test.exs index c81ed2a..72dc8dc 100644 --- a/test/bds/desktop/shell_live_test.exs +++ b/test/bds/desktop/shell_live_test.exs @@ -846,6 +846,27 @@ defmodule BDS.Desktop.ShellLiveTest do assert html =~ ~s(data-tab-id="#{created_definition.id}") end + test "blogmark deep link creates a draft post and opens it in the editor", %{project: project} do + {:ok, view, _html} = live_isolated(build_conn(), BDS.Desktop.ShellLive) + post_count_before = Repo.aggregate(Post, :count, :id) + + url = + "bds2://new-post?title=" <> + URI.encode_www_form("Saved From Browser") <> + "&url=" <> URI.encode_www_form("https://example.com/article") + + send(view.pid, {:blogmark_deep_link, url}) + html = render(view) + + assert Repo.aggregate(Post, :count, :id) == post_count_before + 1 + + created_post = Repo.get_by!(Post, title: "Saved From Browser") + assert created_post.project_id == project.id + assert created_post.status == :draft + assert html =~ ~s(data-tab-type="post") + assert html =~ ~s(data-tab-id="#{created_post.id}") + end + test "settings sidebar selections expose a scroll target for the preferences editor" do {:ok, view, _html} = live_isolated(build_conn(), BDS.Desktop.ShellLive)