From c2b2b1ff11249ef3cc720ab0fceb6951b482c10d Mon Sep 17 00:00:00 2001 From: Chili Palmer Date: Tue, 30 Jun 2026 21:48:15 +0200 Subject: [PATCH] fix: fixed tag suggestions --- assets/css/editor.css | 8 + lib/bds/desktop/shell_live/post_editor.ex | 28 +++- .../post_editor_html/post_editor.html.heex | 13 ++ priv/gettext/de/LC_MESSAGES/ui.po | 137 +++++++++--------- priv/gettext/en/LC_MESSAGES/ui.po | 137 +++++++++--------- priv/gettext/es/LC_MESSAGES/ui.po | 137 +++++++++--------- priv/gettext/fr/LC_MESSAGES/ui.po | 137 +++++++++--------- priv/gettext/it/LC_MESSAGES/ui.po | 137 +++++++++--------- priv/gettext/ui.pot | 137 +++++++++--------- specs/editor_post.allium | 12 +- test/bds/desktop/shell_live_test.exs | 54 +++++++ 11 files changed, 534 insertions(+), 403 deletions(-) diff --git a/assets/css/editor.css b/assets/css/editor.css index a05151a..1916112 100644 --- a/assets/css/editor.css +++ b/assets/css/editor.css @@ -617,6 +617,14 @@ white-space: nowrap; } +.post-editor .tag-suggestion-section-label { + padding: 4px 12px; + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 0.04em; + color: var(--vscode-descriptionForeground, #a6a6a6); +} + .post-editor .tag-suggestion.create-new { border-top: 1px solid var(--vscode-widget-border, #454545); margin-top: 4px; diff --git a/lib/bds/desktop/shell_live/post_editor.ex b/lib/bds/desktop/shell_live/post_editor.ex index 26dde83..234089c 100644 --- a/lib/bds/desktop/shell_live/post_editor.ex +++ b/lib/bds/desktop/shell_live/post_editor.ex @@ -3,7 +3,7 @@ defmodule BDS.Desktop.ShellLive.PostEditor do use Phoenix.LiveComponent - alias BDS.{AI, Metadata, Posts, Preview} + alias BDS.{AI, Embeddings, Metadata, Posts, Preview} alias BDS.Desktop.ShellData alias BDS.Desktop.ShellLive.{EditorImageDrop, Notify} alias BDS.Desktop.ShellLive.PostEditor.{DraftManagement, ListValues, Persistence, PostMetadata} @@ -12,7 +12,6 @@ defmodule BDS.Desktop.ShellLive.PostEditor do import DraftManagement, only: [ - current_draft: 4, editing_canonical_language?: 3, normalize_language: 2, normalize_mode: 1, @@ -288,6 +287,10 @@ defmodule BDS.Desktop.ShellLive.PostEditor do {:noreply, do_detect_language(socket)} end + def handle_event("focus_post_editor_tags", _params, socket) do + {:noreply, socket |> load_tag_semantic_suggestions() |> build_data()} + end + def handle_event("add_post_editor_tag", %{"tag" => tag}, socket) do {:noreply, do_add_list_value(socket, :tags, tag)} end @@ -325,6 +328,19 @@ defmodule BDS.Desktop.ShellLive.PostEditor do {:noreply, socket} end + # Semantic tag suggestions read the embeddings index (no live model call), so + # they work offline; suggest_tags/2 returns [] when similarity is disabled. + defp load_tag_semantic_suggestions(socket) do + case socket.assigns.post do + %Post{} = post -> + {:ok, suggestions} = Embeddings.suggest_tags(post.id, []) + assign(socket, :tag_semantic_suggestions, suggestions) + + _other -> + socket + end + end + defp component_current_draft(socket, post, metadata, active_language) do persisted = persisted_form(post, metadata, active_language) Map.get(socket.assigns.drafts, active_language, persisted) @@ -344,6 +360,7 @@ defmodule BDS.Desktop.ShellLive.PostEditor do active_language: canonical, drafts: %{}, tag_query: "", + tag_semantic_suggestions: [], category_query: "", quick_actions_open?: false, mode: :markdown, @@ -435,6 +452,11 @@ defmodule BDS.Desktop.ShellLive.PostEditor do Tags.list_tags(post.project_id), socket.assigns.tag_query ), + tag_semantic_suggestions: + Enum.reject( + socket.assigns.tag_semantic_suggestions || [], + &(&1 in tag_values(form)) + ), category_suggestions: category_suggestions( form, @@ -959,7 +981,7 @@ defmodule BDS.Desktop.ShellLive.PostEditor do active_language = socket.assigns.active_language post = socket.assigns.post metadata = socket.assigns.project_metadata - draft = current_draft(socket.assigns, post, metadata, active_language) + draft = component_current_draft(socket, post, metadata, active_language) updated = Map.put(draft, field, value) assign(socket, :drafts, Map.put(socket.assigns.drafts, active_language, updated)) end diff --git a/lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex b/lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex index 659795c..c177c10 100644 --- a/lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex +++ b/lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex @@ -173,9 +173,22 @@ value={@post_editor.tag_query} placeholder={dgettext("ui", "Add tag")} autocomplete="off" + phx-focus="focus_post_editor_tags" + phx-target={@myself} /> + <%= if String.trim(@post_editor.tag_query || "") == "" and Enum.any?(@post_editor.tag_semantic_suggestions) do %> +
+ + <%= for name <- @post_editor.tag_semantic_suggestions do %> + + <% end %> +
+ <% end %> + <%= if String.trim(@post_editor.tag_query || "") != "" and (Enum.any?(@post_editor.tag_suggestions) or @post_editor.tag_query_addable?) do %>
<%= for tag <- @post_editor.tag_suggestions do %> diff --git a/priv/gettext/de/LC_MESSAGES/ui.po b/priv/gettext/de/LC_MESSAGES/ui.po index df6f0fa..3b814bd 100644 --- a/priv/gettext/de/LC_MESSAGES/ui.po +++ b/priv/gettext/de/LC_MESSAGES/ui.po @@ -79,7 +79,7 @@ msgstr "KI-Einstellungen" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:42 #: lib/bds/desktop/shell_live/overlay_manager.ex:72 -#: lib/bds/desktop/shell_live/post_editor.ex:847 +#: lib/bds/desktop/shell_live/post_editor.ex:888 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #, elixir-autogen, elixir-format msgid "AI Suggestions" @@ -142,7 +142,7 @@ msgstr "Kategorie-Archiv hinzufügen" msgid "Add Submenu" msgstr "Untermenü hinzufügen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:259 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:272 #, elixir-autogen, elixir-format msgid "Add category" msgstr "Kategorie hinzufügen" @@ -246,7 +246,7 @@ msgid "Assistant" msgstr "Assistent" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:166 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:202 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:215 #, elixir-autogen, elixir-format msgid "Author" msgstr "Autor" @@ -263,8 +263,8 @@ msgstr "Automatisch" #: lib/bds/desktop/shell_live/media_editor.ex:353 #: lib/bds/desktop/shell_live/media_editor.ex:546 #: lib/bds/desktop/shell_live/overlay_manager.ex:73 -#: lib/bds/desktop/shell_live/post_editor.ex:714 -#: lib/bds/desktop/shell_live/post_editor.ex:763 +#: lib/bds/desktop/shell_live/post_editor.ex:755 +#: lib/bds/desktop/shell_live/post_editor.ex:804 #, elixir-autogen, elixir-format msgid "Automatic AI actions stay gated by airplane mode." msgstr "Automatische KI-Aktionen bleiben durch den Flugmodus gesperrt." @@ -283,7 +283,7 @@ msgid "Available languages" msgstr "Verfuegbare Sprachen" #: lib/bds/desktop/shell_live/panel_renderer.ex:124 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:300 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:313 #, elixir-autogen, elixir-format msgid "Backlinks" msgstr "Rückverweise" @@ -369,7 +369,7 @@ msgstr "Bildunterschrift" #: lib/bds/desktop/shell_live/index.html.heex:336 #: lib/bds/desktop/shell_live/misc_editor.ex:755 #: lib/bds/desktop/shell_live/misc_editor.ex:756 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:243 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:256 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:59 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:75 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:107 @@ -501,7 +501,7 @@ msgstr "Konfiguriere einen API-Schlüssel in den Einstellungen, um den KI-Chat z msgid "Confirm" msgstr "Bestaetigen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/ui/sidebar.ex:764 @@ -550,17 +550,17 @@ msgstr "Erstellen" msgid "Create / Edit" msgstr "Erstellen / Bearbeiten" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:275 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 #, elixir-autogen, elixir-format msgid "Create category" msgstr "Kategorie erstellen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:193 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:206 #, elixir-autogen, elixir-format msgid "Create tag" msgstr "Schlagwort erstellen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:469 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -611,7 +611,7 @@ msgstr "Datenpfad" msgid "Date Distribution" msgstr "Datumsverteilung" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:301 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:177 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:185 #, elixir-autogen, elixir-format @@ -698,7 +698,7 @@ msgstr "Beschreibung" msgid "Desktop Runtime" msgstr "Desktop-Laufzeit" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:223 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:236 #, elixir-autogen, elixir-format msgid "Detect" msgstr "Erkennen" @@ -708,9 +708,9 @@ msgstr "Erkennen" #: lib/bds/desktop/shell_live/media_editor.ex:203 #: lib/bds/desktop/shell_live/media_editor.ex:209 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:59 -#: lib/bds/desktop/shell_live/post_editor.ex:713 -#: lib/bds/desktop/shell_live/post_editor.ex:742 -#: lib/bds/desktop/shell_live/post_editor.ex:748 +#: lib/bds/desktop/shell_live/post_editor.ex:754 +#: lib/bds/desktop/shell_live/post_editor.ex:783 +#: lib/bds/desktop/shell_live/post_editor.ex:789 #, elixir-autogen, elixir-format msgid "Detect Language" msgstr "Sprache erkennen" @@ -776,7 +776,7 @@ msgstr "Ansicht schließen" msgid "Display Text" msgstr "Anzeigetext" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:232 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:245 #, elixir-autogen, elixir-format msgid "Do Not Translate" msgstr "Nicht übersetzen" @@ -898,8 +898,8 @@ msgstr "Fehler" msgid "Exact Match" msgstr "Exakte Übereinstimmung" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:349 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:354 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:367 #, elixir-autogen, elixir-format msgid "Excerpt" msgstr "Auszug" @@ -983,7 +983,7 @@ msgid "Force Reload" msgstr "Erzwungenes Neuladen" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:194 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:419 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:432 #, elixir-autogen, elixir-format msgid "Gallery" msgstr "Galerie" @@ -1036,7 +1036,7 @@ msgstr "Host" #: lib/bds/desktop/shell_data.ex:116 #: lib/bds/desktop/shell_live/index.html.heex:666 #: lib/bds/desktop/shell_live/media_editor.ex:711 -#: lib/bds/desktop/shell_live/post_editor.ex:965 +#: lib/bds/desktop/shell_live/post_editor.ex:1006 #, elixir-autogen, elixir-format msgid "Idle" msgstr "Leerlauf" @@ -1178,12 +1178,12 @@ msgstr "Inline" msgid "Insert" msgstr "Einfuegen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:390 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:403 #, elixir-autogen, elixir-format msgid "Insert Link" msgstr "Link einfuegen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:399 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:412 #, elixir-autogen, elixir-format msgid "Insert Media" msgstr "Medium einfuegen" @@ -1201,13 +1201,13 @@ msgstr "Art" #: lib/bds/desktop/shell_live/import_editor.ex:878 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:171 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:207 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:220 #, elixir-autogen, elixir-format msgid "Language" msgstr "Sprache" #: lib/bds/desktop/shell_live/media_editor.ex:210 -#: lib/bds/desktop/shell_live/post_editor.ex:749 +#: lib/bds/desktop/shell_live/post_editor.ex:790 #, elixir-autogen, elixir-format msgid "Language detection failed." msgstr "Spracherkennung fehlgeschlagen." @@ -1223,7 +1223,7 @@ msgstr "Hell" msgid "Link to Post" msgstr "Mit Beitrag verknüpfen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:329 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 #, elixir-autogen, elixir-format msgid "Linked Media" msgstr "Verknüpfte Medien" @@ -1234,7 +1234,7 @@ msgid "Linked Posts" msgstr "Verknüpfte Beiträge" #: lib/bds/desktop/shell_live/panel_renderer.ex:142 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:312 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:325 #, elixir-autogen, elixir-format msgid "Links To" msgstr "Verweist auf" @@ -1291,7 +1291,7 @@ msgstr "Zuordnen zu..." msgid "Mapped" msgstr "Zugeordnet" -#: lib/bds/desktop/shell_live/post_editor.ex:968 +#: lib/bds/desktop/shell_live/post_editor.ex:1009 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:123 #, elixir-autogen, elixir-format msgid "Markdown" @@ -1454,8 +1454,8 @@ msgstr "Noch keine Git-Historie" #: lib/bds/desktop/shell_live/misc_editor.ex:473 #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:72 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:308 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:320 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:321 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:333 #: 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 @@ -1466,7 +1466,7 @@ msgstr "Noch keine Git-Historie" msgid "No items" msgstr "Keine Einträge" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:355 #, elixir-autogen, elixir-format msgid "No linked media" msgstr "Keine verknüpften Medien" @@ -1703,7 +1703,7 @@ msgstr "Im Browser öffnen" msgid "OpenAI-compatible endpoints, model routing, airplane mode, and system prompt" msgstr "OpenAI-kompatible Endpunkte, Modellrouting, Flugmodus und Systemprompt" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:337 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:350 #, elixir-autogen, elixir-format msgid "Order" msgstr "Reihenfolge" @@ -1789,16 +1789,16 @@ msgid "Persist the detected language for this media item" msgstr "Die erkannte Sprache für dieses Medium speichern" #: lib/bds/desktop/shell_live/misc_editor.ex:747 -#: lib/bds/desktop/shell_live/post_editor.ex:488 -#: lib/bds/desktop/shell_live/post_editor.ex:492 -#: lib/bds/desktop/shell_live/post_editor.ex:531 -#: lib/bds/desktop/shell_live/post_editor.ex:535 -#: lib/bds/desktop/shell_live/post_editor.ex:573 -#: lib/bds/desktop/shell_live/post_editor.ex:588 -#: lib/bds/desktop/shell_live/post_editor.ex:617 -#: lib/bds/desktop/shell_live/post_editor.ex:620 -#: lib/bds/desktop/shell_live/post_editor.ex:700 -#: lib/bds/desktop/shell_live/post_editor.ex:703 +#: lib/bds/desktop/shell_live/post_editor.ex:529 +#: lib/bds/desktop/shell_live/post_editor.ex:533 +#: lib/bds/desktop/shell_live/post_editor.ex:572 +#: lib/bds/desktop/shell_live/post_editor.ex:576 +#: lib/bds/desktop/shell_live/post_editor.ex:614 +#: lib/bds/desktop/shell_live/post_editor.ex:629 +#: lib/bds/desktop/shell_live/post_editor.ex:658 +#: lib/bds/desktop/shell_live/post_editor.ex:661 +#: lib/bds/desktop/shell_live/post_editor.ex:741 +#: lib/bds/desktop/shell_live/post_editor.ex:744 #: lib/bds/desktop/shell_live/sidebar_components.ex:651 #: lib/bds/desktop/shell_live/sidebar_delete.ex:174 #: lib/bds/ui/registry.ex:99 @@ -1808,7 +1808,7 @@ msgstr "Beitrag" #: lib/bds/desktop/shell_data.ex:247 #: lib/bds/desktop/shell_live/panel_renderer.ex:118 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:297 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:310 #, elixir-autogen, elixir-format msgid "Post Links" msgstr "Beitragsverweise" @@ -1828,12 +1828,12 @@ msgstr "Beitragsvorlage" msgid "Post is marked as do-not-translate but has translations" msgstr "Beitrag ist als nicht-übersetzen markiert, hat aber Übersetzungen" -#: lib/bds/desktop/shell_live/post_editor.ex:531 +#: lib/bds/desktop/shell_live/post_editor.ex:572 #, elixir-autogen, elixir-format msgid "Post published" msgstr "Beitrag veröffentlicht" -#: lib/bds/desktop/shell_live/post_editor.ex:488 +#: lib/bds/desktop/shell_live/post_editor.ex:529 #, elixir-autogen, elixir-format msgid "Post saved" msgstr "Beitrag gespeichert" @@ -1857,7 +1857,7 @@ msgstr "Beiträge (%{count})" msgid "Preferences" msgstr "Einstellungen" -#: lib/bds/desktop/shell_live/post_editor.ex:969 +#: lib/bds/desktop/shell_live/post_editor.ex:1010 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:124 #, elixir-autogen, elixir-format msgid "Preview" @@ -1873,7 +1873,7 @@ msgstr "Vorschaumodus" msgid "Preview Post" msgstr "Beitragsvorschau" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:430 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:443 #, elixir-autogen, elixir-format msgid "Preview unavailable" msgstr "Vorschau nicht verfügbar" @@ -1926,8 +1926,8 @@ msgid "Publish Selected" msgstr "Ausgewähltes veröffentlichen" #: lib/bds/desktop/shell_data.ex:181 -#: lib/bds/desktop/shell_live/post_editor.ex:963 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:459 +#: lib/bds/desktop/shell_live/post_editor.ex:1004 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:472 #: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" @@ -2062,7 +2062,7 @@ msgstr "Remote-Pfad" msgid "Remove" msgstr "Entfernen" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:250 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:263 #, elixir-autogen, elixir-format msgid "Remove category" msgstr "Kategorie entfernen" @@ -2124,7 +2124,7 @@ msgstr "Lösung" msgid "Result" msgstr "Ergebnis" -#: lib/bds/desktop/shell_live/post_editor.ex:964 +#: lib/bds/desktop/shell_live/post_editor.ex:1005 #, elixir-autogen, elixir-format msgid "Reverted" msgstr "Zurückgesetzt" @@ -2176,7 +2176,7 @@ msgid "Save Translation" msgstr "Übersetzung speichern" #: lib/bds/desktop/shell_live/media_editor.ex:710 -#: lib/bds/desktop/shell_live/post_editor.ex:962 +#: lib/bds/desktop/shell_live/post_editor.ex:1003 #, elixir-autogen, elixir-format msgid "Saved" msgstr "Gespeichert" @@ -2376,7 +2376,7 @@ msgstr "Größe" #: lib/bds/desktop/shell_live/import_editor.ex:1130 #: lib/bds/desktop/shell_live/import_editor.ex:1187 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:238 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:251 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:24 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:23 #, elixir-autogen, elixir-format @@ -2498,7 +2498,7 @@ msgid "Technology" msgstr "Technik" #: lib/bds/desktop/shell_live/misc_editor.ex:752 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:286 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:299 #: lib/bds/desktop/shell_live/sidebar_components.ex:660 #: lib/bds/desktop/shell_live/sidebar_delete.ex:179 #: lib/bds/ui/registry.ex:134 @@ -2650,9 +2650,9 @@ msgstr "Seitenleiste umschalten" #: lib/bds/desktop/shell_live/media_editor.ex:566 #: lib/bds/desktop/shell_live/media_editor.ex:571 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:76 -#: lib/bds/desktop/shell_live/post_editor.ex:762 -#: lib/bds/desktop/shell_live/post_editor.ex:791 -#: lib/bds/desktop/shell_live/post_editor.ex:796 +#: lib/bds/desktop/shell_live/post_editor.ex:803 +#: lib/bds/desktop/shell_live/post_editor.ex:832 +#: lib/bds/desktop/shell_live/post_editor.ex:837 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:60 #, elixir-autogen, elixir-format msgid "Translate" @@ -2729,7 +2729,7 @@ msgstr "Verknüpfung mit Beitrag aufheben" #: lib/bds/desktop/shell_live/media_editor.ex:709 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:10 -#: lib/bds/desktop/shell_live/post_editor.ex:961 +#: lib/bds/desktop/shell_live/post_editor.ex:1002 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:7 #, elixir-autogen, elixir-format msgid "Unsaved" @@ -2749,7 +2749,7 @@ msgstr "Ohne Titel" msgid "Untitled Import" msgstr "Unbenannter Import" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:457 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:470 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -3210,7 +3210,7 @@ msgstr "Gleichzeitige Bildimporte" #: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:658 #: lib/bds/desktop/shell_live.ex:669 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:420 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Galerie-Bilder hinzufügen" @@ -3230,12 +3230,12 @@ msgstr "Archivieren" msgid "Move this post to the archive" msgstr "Diesen Beitrag ins Archiv verschieben" -#: lib/bds/desktop/shell_live/post_editor.ex:617 +#: lib/bds/desktop/shell_live/post_editor.ex:658 #, elixir-autogen, elixir-format msgid "Post archived" msgstr "Beitrag archiviert" -#: lib/bds/desktop/shell_live/post_editor.ex:700 +#: lib/bds/desktop/shell_live/post_editor.ex:741 #, elixir-autogen, elixir-format msgid "Post unarchived" msgstr "Beitrag wiederhergestellt" @@ -3414,18 +3414,18 @@ msgstr "Blogmark" msgid "Open a project before importing a blogmark." msgstr "Öffnen Sie ein Projekt, bevor Sie ein Blogmark importieren." -#: lib/bds/desktop/shell_live/post_editor.ex:643 +#: lib/bds/desktop/shell_live/post_editor.ex:684 #, elixir-autogen, elixir-format msgid "Added %{name}" msgstr "%{name} hinzugefügt" -#: lib/bds/desktop/shell_live/post_editor.ex:650 +#: lib/bds/desktop/shell_live/post_editor.ex:691 #, elixir-autogen, elixir-format msgid "Failed to import %{path}: %{reason}" msgstr "Import von %{path} fehlgeschlagen: %{reason}" -#: lib/bds/desktop/shell_live/post_editor.ex:642 -#: lib/bds/desktop/shell_live/post_editor.ex:649 +#: lib/bds/desktop/shell_live/post_editor.ex:683 +#: lib/bds/desktop/shell_live/post_editor.ex:690 #, elixir-autogen, elixir-format msgid "Insert Image" msgstr "Bild einfügen" @@ -3454,3 +3454,8 @@ msgstr "Bookmarklet konnte nicht in die Zwischenablage kopiert werden" #, elixir-autogen, elixir-format msgid "The project this blogmark targets does not exist here." msgstr "Das Projekt, auf das dieses Blogmark verweist, existiert hier nicht." + +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:183 +#, elixir-autogen, elixir-format +msgid "Suggested tags" +msgstr "Vorgeschlagene Tags" diff --git a/priv/gettext/en/LC_MESSAGES/ui.po b/priv/gettext/en/LC_MESSAGES/ui.po index 0a2d7d9..8044215 100644 --- a/priv/gettext/en/LC_MESSAGES/ui.po +++ b/priv/gettext/en/LC_MESSAGES/ui.po @@ -79,7 +79,7 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:42 #: lib/bds/desktop/shell_live/overlay_manager.ex:72 -#: lib/bds/desktop/shell_live/post_editor.ex:847 +#: lib/bds/desktop/shell_live/post_editor.ex:888 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #, elixir-autogen, elixir-format msgid "AI Suggestions" @@ -142,7 +142,7 @@ msgstr "" msgid "Add Submenu" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:259 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:272 #, elixir-autogen, elixir-format msgid "Add category" msgstr "" @@ -246,7 +246,7 @@ msgid "Assistant" msgstr "" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:166 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:202 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:215 #, elixir-autogen, elixir-format msgid "Author" msgstr "" @@ -263,8 +263,8 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:353 #: lib/bds/desktop/shell_live/media_editor.ex:546 #: lib/bds/desktop/shell_live/overlay_manager.ex:73 -#: lib/bds/desktop/shell_live/post_editor.ex:714 -#: lib/bds/desktop/shell_live/post_editor.ex:763 +#: lib/bds/desktop/shell_live/post_editor.ex:755 +#: lib/bds/desktop/shell_live/post_editor.ex:804 #, elixir-autogen, elixir-format msgid "Automatic AI actions stay gated by airplane mode." msgstr "" @@ -283,7 +283,7 @@ msgid "Available languages" msgstr "" #: lib/bds/desktop/shell_live/panel_renderer.ex:124 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:300 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:313 #, elixir-autogen, elixir-format msgid "Backlinks" msgstr "" @@ -369,7 +369,7 @@ msgstr "" #: lib/bds/desktop/shell_live/index.html.heex:336 #: lib/bds/desktop/shell_live/misc_editor.ex:755 #: lib/bds/desktop/shell_live/misc_editor.ex:756 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:243 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:256 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:59 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:75 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:107 @@ -501,7 +501,7 @@ msgstr "" msgid "Confirm" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/ui/sidebar.ex:764 @@ -550,17 +550,17 @@ msgstr "" msgid "Create / Edit" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:275 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 #, elixir-autogen, elixir-format msgid "Create category" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:193 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:206 #, elixir-autogen, elixir-format msgid "Create tag" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:469 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -611,7 +611,7 @@ msgstr "" msgid "Date Distribution" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:301 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:177 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:185 #, elixir-autogen, elixir-format @@ -698,7 +698,7 @@ msgstr "" msgid "Desktop Runtime" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:223 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:236 #, elixir-autogen, elixir-format msgid "Detect" msgstr "" @@ -708,9 +708,9 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:203 #: lib/bds/desktop/shell_live/media_editor.ex:209 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:59 -#: lib/bds/desktop/shell_live/post_editor.ex:713 -#: lib/bds/desktop/shell_live/post_editor.ex:742 -#: lib/bds/desktop/shell_live/post_editor.ex:748 +#: lib/bds/desktop/shell_live/post_editor.ex:754 +#: lib/bds/desktop/shell_live/post_editor.ex:783 +#: lib/bds/desktop/shell_live/post_editor.ex:789 #, elixir-autogen, elixir-format msgid "Detect Language" msgstr "" @@ -776,7 +776,7 @@ msgstr "" msgid "Display Text" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:232 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:245 #, elixir-autogen, elixir-format msgid "Do Not Translate" msgstr "" @@ -898,8 +898,8 @@ msgstr "" msgid "Exact Match" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:349 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:354 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:367 #, elixir-autogen, elixir-format msgid "Excerpt" msgstr "" @@ -983,7 +983,7 @@ msgid "Force Reload" msgstr "" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:194 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:419 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:432 #, elixir-autogen, elixir-format msgid "Gallery" msgstr "" @@ -1036,7 +1036,7 @@ msgstr "" #: lib/bds/desktop/shell_data.ex:116 #: lib/bds/desktop/shell_live/index.html.heex:666 #: lib/bds/desktop/shell_live/media_editor.ex:711 -#: lib/bds/desktop/shell_live/post_editor.ex:965 +#: lib/bds/desktop/shell_live/post_editor.ex:1006 #, elixir-autogen, elixir-format msgid "Idle" msgstr "" @@ -1178,12 +1178,12 @@ msgstr "" msgid "Insert" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:390 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:403 #, elixir-autogen, elixir-format msgid "Insert Link" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:399 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:412 #, elixir-autogen, elixir-format msgid "Insert Media" msgstr "" @@ -1201,13 +1201,13 @@ msgstr "" #: lib/bds/desktop/shell_live/import_editor.ex:878 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:171 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:207 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:220 #, elixir-autogen, elixir-format msgid "Language" msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:210 -#: lib/bds/desktop/shell_live/post_editor.ex:749 +#: lib/bds/desktop/shell_live/post_editor.ex:790 #, elixir-autogen, elixir-format msgid "Language detection failed." msgstr "" @@ -1223,7 +1223,7 @@ msgstr "" msgid "Link to Post" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:329 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 #, elixir-autogen, elixir-format msgid "Linked Media" msgstr "" @@ -1234,7 +1234,7 @@ msgid "Linked Posts" msgstr "" #: lib/bds/desktop/shell_live/panel_renderer.ex:142 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:312 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:325 #, elixir-autogen, elixir-format msgid "Links To" msgstr "" @@ -1291,7 +1291,7 @@ msgstr "" msgid "Mapped" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:968 +#: lib/bds/desktop/shell_live/post_editor.ex:1009 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:123 #, elixir-autogen, elixir-format msgid "Markdown" @@ -1454,8 +1454,8 @@ msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:473 #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:72 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:308 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:320 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:321 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:333 #: 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 @@ -1466,7 +1466,7 @@ msgstr "" msgid "No items" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:355 #, elixir-autogen, elixir-format msgid "No linked media" msgstr "" @@ -1703,7 +1703,7 @@ msgstr "" msgid "OpenAI-compatible endpoints, model routing, airplane mode, and system prompt" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:337 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:350 #, elixir-autogen, elixir-format msgid "Order" msgstr "" @@ -1789,16 +1789,16 @@ msgid "Persist the detected language for this media item" msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:747 -#: lib/bds/desktop/shell_live/post_editor.ex:488 -#: lib/bds/desktop/shell_live/post_editor.ex:492 -#: lib/bds/desktop/shell_live/post_editor.ex:531 -#: lib/bds/desktop/shell_live/post_editor.ex:535 -#: lib/bds/desktop/shell_live/post_editor.ex:573 -#: lib/bds/desktop/shell_live/post_editor.ex:588 -#: lib/bds/desktop/shell_live/post_editor.ex:617 -#: lib/bds/desktop/shell_live/post_editor.ex:620 -#: lib/bds/desktop/shell_live/post_editor.ex:700 -#: lib/bds/desktop/shell_live/post_editor.ex:703 +#: lib/bds/desktop/shell_live/post_editor.ex:529 +#: lib/bds/desktop/shell_live/post_editor.ex:533 +#: lib/bds/desktop/shell_live/post_editor.ex:572 +#: lib/bds/desktop/shell_live/post_editor.ex:576 +#: lib/bds/desktop/shell_live/post_editor.ex:614 +#: lib/bds/desktop/shell_live/post_editor.ex:629 +#: lib/bds/desktop/shell_live/post_editor.ex:658 +#: lib/bds/desktop/shell_live/post_editor.ex:661 +#: lib/bds/desktop/shell_live/post_editor.ex:741 +#: lib/bds/desktop/shell_live/post_editor.ex:744 #: lib/bds/desktop/shell_live/sidebar_components.ex:651 #: lib/bds/desktop/shell_live/sidebar_delete.ex:174 #: lib/bds/ui/registry.ex:99 @@ -1808,7 +1808,7 @@ msgstr "" #: lib/bds/desktop/shell_data.ex:247 #: lib/bds/desktop/shell_live/panel_renderer.ex:118 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:297 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:310 #, elixir-autogen, elixir-format msgid "Post Links" msgstr "" @@ -1828,12 +1828,12 @@ msgstr "" msgid "Post is marked as do-not-translate but has translations" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:531 +#: lib/bds/desktop/shell_live/post_editor.ex:572 #, elixir-autogen, elixir-format msgid "Post published" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:488 +#: lib/bds/desktop/shell_live/post_editor.ex:529 #, elixir-autogen, elixir-format msgid "Post saved" msgstr "" @@ -1857,7 +1857,7 @@ msgstr "" msgid "Preferences" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:969 +#: lib/bds/desktop/shell_live/post_editor.ex:1010 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:124 #, elixir-autogen, elixir-format msgid "Preview" @@ -1873,7 +1873,7 @@ msgstr "" msgid "Preview Post" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:430 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:443 #, elixir-autogen, elixir-format msgid "Preview unavailable" msgstr "" @@ -1926,8 +1926,8 @@ msgid "Publish Selected" msgstr "" #: lib/bds/desktop/shell_data.ex:181 -#: lib/bds/desktop/shell_live/post_editor.ex:963 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:459 +#: lib/bds/desktop/shell_live/post_editor.ex:1004 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:472 #: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" @@ -2062,7 +2062,7 @@ msgstr "" msgid "Remove" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:250 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:263 #, elixir-autogen, elixir-format msgid "Remove category" msgstr "" @@ -2124,7 +2124,7 @@ msgstr "" msgid "Result" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:964 +#: lib/bds/desktop/shell_live/post_editor.ex:1005 #, elixir-autogen, elixir-format msgid "Reverted" msgstr "" @@ -2176,7 +2176,7 @@ msgid "Save Translation" msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:710 -#: lib/bds/desktop/shell_live/post_editor.ex:962 +#: lib/bds/desktop/shell_live/post_editor.ex:1003 #, elixir-autogen, elixir-format msgid "Saved" msgstr "" @@ -2376,7 +2376,7 @@ msgstr "" #: lib/bds/desktop/shell_live/import_editor.ex:1130 #: lib/bds/desktop/shell_live/import_editor.ex:1187 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:238 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:251 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:24 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:23 #, elixir-autogen, elixir-format @@ -2498,7 +2498,7 @@ msgid "Technology" msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:752 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:286 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:299 #: lib/bds/desktop/shell_live/sidebar_components.ex:660 #: lib/bds/desktop/shell_live/sidebar_delete.ex:179 #: lib/bds/ui/registry.ex:134 @@ -2650,9 +2650,9 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:566 #: lib/bds/desktop/shell_live/media_editor.ex:571 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:76 -#: lib/bds/desktop/shell_live/post_editor.ex:762 -#: lib/bds/desktop/shell_live/post_editor.ex:791 -#: lib/bds/desktop/shell_live/post_editor.ex:796 +#: lib/bds/desktop/shell_live/post_editor.ex:803 +#: lib/bds/desktop/shell_live/post_editor.ex:832 +#: lib/bds/desktop/shell_live/post_editor.ex:837 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:60 #, elixir-autogen, elixir-format msgid "Translate" @@ -2729,7 +2729,7 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:709 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:10 -#: lib/bds/desktop/shell_live/post_editor.ex:961 +#: lib/bds/desktop/shell_live/post_editor.ex:1002 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:7 #, elixir-autogen, elixir-format msgid "Unsaved" @@ -2749,7 +2749,7 @@ msgstr "" msgid "Untitled Import" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:457 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:470 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -3210,7 +3210,7 @@ msgstr "Image Import Concurrency" #: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:658 #: lib/bds/desktop/shell_live.ex:669 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:420 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Add Gallery Images" @@ -3230,12 +3230,12 @@ msgstr "" msgid "Move this post to the archive" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:617 +#: lib/bds/desktop/shell_live/post_editor.ex:658 #, elixir-autogen, elixir-format, fuzzy msgid "Post archived" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:700 +#: lib/bds/desktop/shell_live/post_editor.ex:741 #, elixir-autogen, elixir-format, fuzzy msgid "Post unarchived" msgstr "" @@ -3414,18 +3414,18 @@ msgstr "Blogmark" msgid "Open a project before importing a blogmark." msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:643 +#: lib/bds/desktop/shell_live/post_editor.ex:684 #, elixir-autogen, elixir-format msgid "Added %{name}" msgstr "Added %{name}" -#: lib/bds/desktop/shell_live/post_editor.ex:650 +#: lib/bds/desktop/shell_live/post_editor.ex:691 #, elixir-autogen, elixir-format msgid "Failed to import %{path}: %{reason}" msgstr "Failed to import %{path}: %{reason}" -#: lib/bds/desktop/shell_live/post_editor.ex:642 -#: lib/bds/desktop/shell_live/post_editor.ex:649 +#: lib/bds/desktop/shell_live/post_editor.ex:683 +#: lib/bds/desktop/shell_live/post_editor.ex:690 #, elixir-autogen, elixir-format msgid "Insert Image" msgstr "Insert Image" @@ -3454,3 +3454,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "The project this blogmark targets does not exist here." msgstr "" + +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:183 +#, elixir-autogen, elixir-format +msgid "Suggested tags" +msgstr "" diff --git a/priv/gettext/es/LC_MESSAGES/ui.po b/priv/gettext/es/LC_MESSAGES/ui.po index 0d1f3c5..1ce16b0 100644 --- a/priv/gettext/es/LC_MESSAGES/ui.po +++ b/priv/gettext/es/LC_MESSAGES/ui.po @@ -79,7 +79,7 @@ msgstr "Configuración de IA" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:42 #: lib/bds/desktop/shell_live/overlay_manager.ex:72 -#: lib/bds/desktop/shell_live/post_editor.ex:847 +#: lib/bds/desktop/shell_live/post_editor.ex:888 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #, elixir-autogen, elixir-format msgid "AI Suggestions" @@ -142,7 +142,7 @@ msgstr "Agregar archivo de categoría" msgid "Add Submenu" msgstr "Agregar submenú" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:259 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:272 #, elixir-autogen, elixir-format msgid "Add category" msgstr "Añadir categoría" @@ -246,7 +246,7 @@ msgid "Assistant" msgstr "Asistente" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:166 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:202 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:215 #, elixir-autogen, elixir-format msgid "Author" msgstr "Autor" @@ -263,8 +263,8 @@ msgstr "Automático" #: lib/bds/desktop/shell_live/media_editor.ex:353 #: lib/bds/desktop/shell_live/media_editor.ex:546 #: lib/bds/desktop/shell_live/overlay_manager.ex:73 -#: lib/bds/desktop/shell_live/post_editor.ex:714 -#: lib/bds/desktop/shell_live/post_editor.ex:763 +#: lib/bds/desktop/shell_live/post_editor.ex:755 +#: lib/bds/desktop/shell_live/post_editor.ex:804 #, elixir-autogen, elixir-format msgid "Automatic AI actions stay gated by airplane mode." msgstr "Las acciones automáticas de IA siguen bloqueadas por el modo avión." @@ -283,7 +283,7 @@ msgid "Available languages" msgstr "Idiomas disponibles" #: lib/bds/desktop/shell_live/panel_renderer.ex:124 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:300 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:313 #, elixir-autogen, elixir-format msgid "Backlinks" msgstr "Referencias entrantes" @@ -369,7 +369,7 @@ msgstr "Leyenda" #: lib/bds/desktop/shell_live/index.html.heex:336 #: lib/bds/desktop/shell_live/misc_editor.ex:755 #: lib/bds/desktop/shell_live/misc_editor.ex:756 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:243 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:256 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:59 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:75 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:107 @@ -501,7 +501,7 @@ msgstr "Configura una clave API en Ajustes para habilitar el chat de IA." msgid "Confirm" msgstr "Confirmar" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/ui/sidebar.ex:764 @@ -550,17 +550,17 @@ msgstr "Crear" msgid "Create / Edit" msgstr "Crear / editar" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:275 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 #, elixir-autogen, elixir-format msgid "Create category" msgstr "Crear categoría" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:193 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:206 #, elixir-autogen, elixir-format msgid "Create tag" msgstr "Crear etiqueta" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:469 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -611,7 +611,7 @@ msgstr "Ruta de datos" msgid "Date Distribution" msgstr "Distribución por fecha" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:301 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:177 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:185 #, elixir-autogen, elixir-format @@ -698,7 +698,7 @@ msgstr "Descripción" msgid "Desktop Runtime" msgstr "Entorno de escritorio" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:223 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:236 #, elixir-autogen, elixir-format msgid "Detect" msgstr "Detectar" @@ -708,9 +708,9 @@ msgstr "Detectar" #: lib/bds/desktop/shell_live/media_editor.ex:203 #: lib/bds/desktop/shell_live/media_editor.ex:209 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:59 -#: lib/bds/desktop/shell_live/post_editor.ex:713 -#: lib/bds/desktop/shell_live/post_editor.ex:742 -#: lib/bds/desktop/shell_live/post_editor.ex:748 +#: lib/bds/desktop/shell_live/post_editor.ex:754 +#: lib/bds/desktop/shell_live/post_editor.ex:783 +#: lib/bds/desktop/shell_live/post_editor.ex:789 #, elixir-autogen, elixir-format msgid "Detect Language" msgstr "Detectar idioma" @@ -776,7 +776,7 @@ msgstr "Cerrar superficie" msgid "Display Text" msgstr "Texto mostrado" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:232 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:245 #, elixir-autogen, elixir-format msgid "Do Not Translate" msgstr "No traducir" @@ -898,8 +898,8 @@ msgstr "Error" msgid "Exact Match" msgstr "Coincidencia exacta" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:349 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:354 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:367 #, elixir-autogen, elixir-format msgid "Excerpt" msgstr "Extracto" @@ -983,7 +983,7 @@ msgid "Force Reload" msgstr "Recarga forzada" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:194 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:419 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:432 #, elixir-autogen, elixir-format msgid "Gallery" msgstr "Galeria" @@ -1036,7 +1036,7 @@ msgstr "Host" #: lib/bds/desktop/shell_data.ex:116 #: lib/bds/desktop/shell_live/index.html.heex:666 #: lib/bds/desktop/shell_live/media_editor.ex:711 -#: lib/bds/desktop/shell_live/post_editor.ex:965 +#: lib/bds/desktop/shell_live/post_editor.ex:1006 #, elixir-autogen, elixir-format msgid "Idle" msgstr "Inactivo" @@ -1178,12 +1178,12 @@ msgstr "En línea" msgid "Insert" msgstr "Insertar" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:390 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:403 #, elixir-autogen, elixir-format msgid "Insert Link" msgstr "Insertar enlace" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:399 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:412 #, elixir-autogen, elixir-format msgid "Insert Media" msgstr "Insertar medio" @@ -1201,13 +1201,13 @@ msgstr "Tipo" #: lib/bds/desktop/shell_live/import_editor.ex:878 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:171 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:207 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:220 #, elixir-autogen, elixir-format msgid "Language" msgstr "Idioma" #: lib/bds/desktop/shell_live/media_editor.ex:210 -#: lib/bds/desktop/shell_live/post_editor.ex:749 +#: lib/bds/desktop/shell_live/post_editor.ex:790 #, elixir-autogen, elixir-format msgid "Language detection failed." msgstr "La detección de idioma falló." @@ -1223,7 +1223,7 @@ msgstr "Claro" msgid "Link to Post" msgstr "Enlazar con publicación" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:329 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 #, elixir-autogen, elixir-format msgid "Linked Media" msgstr "Medios vinculados" @@ -1234,7 +1234,7 @@ msgid "Linked Posts" msgstr "Publicaciones enlazadas" #: lib/bds/desktop/shell_live/panel_renderer.ex:142 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:312 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:325 #, elixir-autogen, elixir-format msgid "Links To" msgstr "Enlaza a" @@ -1291,7 +1291,7 @@ msgstr "Mapear a..." msgid "Mapped" msgstr "Mapeado" -#: lib/bds/desktop/shell_live/post_editor.ex:968 +#: lib/bds/desktop/shell_live/post_editor.ex:1009 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:123 #, elixir-autogen, elixir-format msgid "Markdown" @@ -1454,8 +1454,8 @@ msgstr "Aún no hay historial de Git" #: lib/bds/desktop/shell_live/misc_editor.ex:473 #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:72 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:308 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:320 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:321 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:333 #: 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 @@ -1466,7 +1466,7 @@ msgstr "Aún no hay historial de Git" msgid "No items" msgstr "No hay elementos" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:355 #, elixir-autogen, elixir-format msgid "No linked media" msgstr "Sin medios vinculados" @@ -1703,7 +1703,7 @@ msgstr "Abrir en el navegador" msgid "OpenAI-compatible endpoints, model routing, airplane mode, and system prompt" msgstr "Endpoints compatibles con OpenAI, enrutamiento de modelos, modo avión y prompt del sistema" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:337 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:350 #, elixir-autogen, elixir-format msgid "Order" msgstr "Orden" @@ -1789,16 +1789,16 @@ msgid "Persist the detected language for this media item" msgstr "Guardar el idioma detectado para este medio" #: lib/bds/desktop/shell_live/misc_editor.ex:747 -#: lib/bds/desktop/shell_live/post_editor.ex:488 -#: lib/bds/desktop/shell_live/post_editor.ex:492 -#: lib/bds/desktop/shell_live/post_editor.ex:531 -#: lib/bds/desktop/shell_live/post_editor.ex:535 -#: lib/bds/desktop/shell_live/post_editor.ex:573 -#: lib/bds/desktop/shell_live/post_editor.ex:588 -#: lib/bds/desktop/shell_live/post_editor.ex:617 -#: lib/bds/desktop/shell_live/post_editor.ex:620 -#: lib/bds/desktop/shell_live/post_editor.ex:700 -#: lib/bds/desktop/shell_live/post_editor.ex:703 +#: lib/bds/desktop/shell_live/post_editor.ex:529 +#: lib/bds/desktop/shell_live/post_editor.ex:533 +#: lib/bds/desktop/shell_live/post_editor.ex:572 +#: lib/bds/desktop/shell_live/post_editor.ex:576 +#: lib/bds/desktop/shell_live/post_editor.ex:614 +#: lib/bds/desktop/shell_live/post_editor.ex:629 +#: lib/bds/desktop/shell_live/post_editor.ex:658 +#: lib/bds/desktop/shell_live/post_editor.ex:661 +#: lib/bds/desktop/shell_live/post_editor.ex:741 +#: lib/bds/desktop/shell_live/post_editor.ex:744 #: lib/bds/desktop/shell_live/sidebar_components.ex:651 #: lib/bds/desktop/shell_live/sidebar_delete.ex:174 #: lib/bds/ui/registry.ex:99 @@ -1808,7 +1808,7 @@ msgstr "Publicación" #: lib/bds/desktop/shell_data.ex:247 #: lib/bds/desktop/shell_live/panel_renderer.ex:118 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:297 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:310 #, elixir-autogen, elixir-format msgid "Post Links" msgstr "Enlaces de artículos" @@ -1828,12 +1828,12 @@ msgstr "Plantilla de publicación" msgid "Post is marked as do-not-translate but has translations" msgstr "La entrada está marcada como no-traducir pero tiene traducciones" -#: lib/bds/desktop/shell_live/post_editor.ex:531 +#: lib/bds/desktop/shell_live/post_editor.ex:572 #, elixir-autogen, elixir-format msgid "Post published" msgstr "Artículo publicado" -#: lib/bds/desktop/shell_live/post_editor.ex:488 +#: lib/bds/desktop/shell_live/post_editor.ex:529 #, elixir-autogen, elixir-format msgid "Post saved" msgstr "Artículo guardado" @@ -1857,7 +1857,7 @@ msgstr "Publicaciones (%{count})" msgid "Preferences" msgstr "Preferencias" -#: lib/bds/desktop/shell_live/post_editor.ex:969 +#: lib/bds/desktop/shell_live/post_editor.ex:1010 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:124 #, elixir-autogen, elixir-format msgid "Preview" @@ -1873,7 +1873,7 @@ msgstr "Modo de vista previa" msgid "Preview Post" msgstr "Vista previa de entrada" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:430 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:443 #, elixir-autogen, elixir-format msgid "Preview unavailable" msgstr "Vista previa no disponible" @@ -1926,8 +1926,8 @@ msgid "Publish Selected" msgstr "Publicar seleccionados" #: lib/bds/desktop/shell_data.ex:181 -#: lib/bds/desktop/shell_live/post_editor.ex:963 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:459 +#: lib/bds/desktop/shell_live/post_editor.ex:1004 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:472 #: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" @@ -2062,7 +2062,7 @@ msgstr "Ruta remota" msgid "Remove" msgstr "Quitar" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:250 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:263 #, elixir-autogen, elixir-format msgid "Remove category" msgstr "Eliminar categoría" @@ -2124,7 +2124,7 @@ msgstr "Resolución" msgid "Result" msgstr "Resultado" -#: lib/bds/desktop/shell_live/post_editor.ex:964 +#: lib/bds/desktop/shell_live/post_editor.ex:1005 #, elixir-autogen, elixir-format msgid "Reverted" msgstr "Revertido" @@ -2176,7 +2176,7 @@ msgid "Save Translation" msgstr "Guardar traducción" #: lib/bds/desktop/shell_live/media_editor.ex:710 -#: lib/bds/desktop/shell_live/post_editor.ex:962 +#: lib/bds/desktop/shell_live/post_editor.ex:1003 #, elixir-autogen, elixir-format msgid "Saved" msgstr "Guardado" @@ -2376,7 +2376,7 @@ msgstr "Tamaño" #: lib/bds/desktop/shell_live/import_editor.ex:1130 #: lib/bds/desktop/shell_live/import_editor.ex:1187 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:238 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:251 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:24 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:23 #, elixir-autogen, elixir-format @@ -2498,7 +2498,7 @@ msgid "Technology" msgstr "Tecnología" #: lib/bds/desktop/shell_live/misc_editor.ex:752 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:286 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:299 #: lib/bds/desktop/shell_live/sidebar_components.ex:660 #: lib/bds/desktop/shell_live/sidebar_delete.ex:179 #: lib/bds/ui/registry.ex:134 @@ -2650,9 +2650,9 @@ msgstr "Alternar barra lateral" #: lib/bds/desktop/shell_live/media_editor.ex:566 #: lib/bds/desktop/shell_live/media_editor.ex:571 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:76 -#: lib/bds/desktop/shell_live/post_editor.ex:762 -#: lib/bds/desktop/shell_live/post_editor.ex:791 -#: lib/bds/desktop/shell_live/post_editor.ex:796 +#: lib/bds/desktop/shell_live/post_editor.ex:803 +#: lib/bds/desktop/shell_live/post_editor.ex:832 +#: lib/bds/desktop/shell_live/post_editor.ex:837 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:60 #, elixir-autogen, elixir-format msgid "Translate" @@ -2729,7 +2729,7 @@ msgstr "Desvincular del artículo" #: lib/bds/desktop/shell_live/media_editor.ex:709 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:10 -#: lib/bds/desktop/shell_live/post_editor.ex:961 +#: lib/bds/desktop/shell_live/post_editor.ex:1002 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:7 #, elixir-autogen, elixir-format msgid "Unsaved" @@ -2749,7 +2749,7 @@ msgstr "Sin título" msgid "Untitled Import" msgstr "Importación sin título" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:457 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:470 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -3210,7 +3210,7 @@ msgstr "Importación simultánea de imágenes" #: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:658 #: lib/bds/desktop/shell_live.ex:669 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:420 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Añadir imágenes a la galería" @@ -3230,12 +3230,12 @@ msgstr "Archivar" msgid "Move this post to the archive" msgstr "Mover este artículo al archivo" -#: lib/bds/desktop/shell_live/post_editor.ex:617 +#: lib/bds/desktop/shell_live/post_editor.ex:658 #, elixir-autogen, elixir-format msgid "Post archived" msgstr "Artículo archivado" -#: lib/bds/desktop/shell_live/post_editor.ex:700 +#: lib/bds/desktop/shell_live/post_editor.ex:741 #, elixir-autogen, elixir-format msgid "Post unarchived" msgstr "Artículo restaurado" @@ -3414,18 +3414,18 @@ msgstr "Blogmark" msgid "Open a project before importing a blogmark." msgstr "Abre un proyecto antes de importar un blogmark." -#: lib/bds/desktop/shell_live/post_editor.ex:643 +#: lib/bds/desktop/shell_live/post_editor.ex:684 #, elixir-autogen, elixir-format msgid "Added %{name}" msgstr "%{name} añadido" -#: lib/bds/desktop/shell_live/post_editor.ex:650 +#: lib/bds/desktop/shell_live/post_editor.ex:691 #, elixir-autogen, elixir-format msgid "Failed to import %{path}: %{reason}" msgstr "No se pudo importar %{path}: %{reason}" -#: lib/bds/desktop/shell_live/post_editor.ex:642 -#: lib/bds/desktop/shell_live/post_editor.ex:649 +#: lib/bds/desktop/shell_live/post_editor.ex:683 +#: lib/bds/desktop/shell_live/post_editor.ex:690 #, elixir-autogen, elixir-format msgid "Insert Image" msgstr "Insertar imagen" @@ -3454,3 +3454,8 @@ msgstr "Error al copiar el bookmarklet al portapapeles" #, elixir-autogen, elixir-format msgid "The project this blogmark targets does not exist here." msgstr "El proyecto al que apunta este blogmark no existe aquí." + +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:183 +#, elixir-autogen, elixir-format +msgid "Suggested tags" +msgstr "Etiquetas sugeridas" diff --git a/priv/gettext/fr/LC_MESSAGES/ui.po b/priv/gettext/fr/LC_MESSAGES/ui.po index b83275d..054dc4a 100644 --- a/priv/gettext/fr/LC_MESSAGES/ui.po +++ b/priv/gettext/fr/LC_MESSAGES/ui.po @@ -79,7 +79,7 @@ msgstr "Paramètres IA" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:42 #: lib/bds/desktop/shell_live/overlay_manager.ex:72 -#: lib/bds/desktop/shell_live/post_editor.ex:847 +#: lib/bds/desktop/shell_live/post_editor.ex:888 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #, elixir-autogen, elixir-format msgid "AI Suggestions" @@ -142,7 +142,7 @@ msgstr "Ajouter une archive de catégorie" msgid "Add Submenu" msgstr "Ajouter un sous-menu" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:259 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:272 #, elixir-autogen, elixir-format msgid "Add category" msgstr "Ajouter une catégorie" @@ -246,7 +246,7 @@ msgid "Assistant" msgstr "Assistant" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:166 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:202 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:215 #, elixir-autogen, elixir-format msgid "Author" msgstr "Auteur" @@ -263,8 +263,8 @@ msgstr "Automatique" #: lib/bds/desktop/shell_live/media_editor.ex:353 #: lib/bds/desktop/shell_live/media_editor.ex:546 #: lib/bds/desktop/shell_live/overlay_manager.ex:73 -#: lib/bds/desktop/shell_live/post_editor.ex:714 -#: lib/bds/desktop/shell_live/post_editor.ex:763 +#: lib/bds/desktop/shell_live/post_editor.ex:755 +#: lib/bds/desktop/shell_live/post_editor.ex:804 #, elixir-autogen, elixir-format msgid "Automatic AI actions stay gated by airplane mode." msgstr "Les actions IA automatiques restent bloquées par le mode avion." @@ -283,7 +283,7 @@ msgid "Available languages" msgstr "Langues disponibles" #: lib/bds/desktop/shell_live/panel_renderer.ex:124 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:300 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:313 #, elixir-autogen, elixir-format msgid "Backlinks" msgstr "Rétroliens" @@ -369,7 +369,7 @@ msgstr "Legende" #: lib/bds/desktop/shell_live/index.html.heex:336 #: lib/bds/desktop/shell_live/misc_editor.ex:755 #: lib/bds/desktop/shell_live/misc_editor.ex:756 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:243 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:256 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:59 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:75 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:107 @@ -501,7 +501,7 @@ msgstr "Configurez une clé API dans les Réglages pour activer le chat IA." msgid "Confirm" msgstr "Confirmer" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/ui/sidebar.ex:764 @@ -550,17 +550,17 @@ msgstr "Créer" msgid "Create / Edit" msgstr "Créer / modifier" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:275 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 #, elixir-autogen, elixir-format msgid "Create category" msgstr "Créer une catégorie" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:193 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:206 #, elixir-autogen, elixir-format msgid "Create tag" msgstr "Créer un mot-clé" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:469 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -611,7 +611,7 @@ msgstr "Chemin des données" msgid "Date Distribution" msgstr "Répartition par date" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:301 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:177 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:185 #, elixir-autogen, elixir-format @@ -698,7 +698,7 @@ msgstr "Description" msgid "Desktop Runtime" msgstr "Exécution bureau" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:223 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:236 #, elixir-autogen, elixir-format msgid "Detect" msgstr "Détecter" @@ -708,9 +708,9 @@ msgstr "Détecter" #: lib/bds/desktop/shell_live/media_editor.ex:203 #: lib/bds/desktop/shell_live/media_editor.ex:209 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:59 -#: lib/bds/desktop/shell_live/post_editor.ex:713 -#: lib/bds/desktop/shell_live/post_editor.ex:742 -#: lib/bds/desktop/shell_live/post_editor.ex:748 +#: lib/bds/desktop/shell_live/post_editor.ex:754 +#: lib/bds/desktop/shell_live/post_editor.ex:783 +#: lib/bds/desktop/shell_live/post_editor.ex:789 #, elixir-autogen, elixir-format msgid "Detect Language" msgstr "Détecter la langue" @@ -776,7 +776,7 @@ msgstr "Fermer la surface" msgid "Display Text" msgstr "Texte affiche" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:232 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:245 #, elixir-autogen, elixir-format msgid "Do Not Translate" msgstr "Ne pas traduire" @@ -898,8 +898,8 @@ msgstr "Erreur" msgid "Exact Match" msgstr "Correspondance exacte" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:349 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:354 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:367 #, elixir-autogen, elixir-format msgid "Excerpt" msgstr "Extrait" @@ -983,7 +983,7 @@ msgid "Force Reload" msgstr "Recharger de force" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:194 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:419 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:432 #, elixir-autogen, elixir-format msgid "Gallery" msgstr "Galerie" @@ -1036,7 +1036,7 @@ msgstr "Hôte" #: lib/bds/desktop/shell_data.ex:116 #: lib/bds/desktop/shell_live/index.html.heex:666 #: lib/bds/desktop/shell_live/media_editor.ex:711 -#: lib/bds/desktop/shell_live/post_editor.ex:965 +#: lib/bds/desktop/shell_live/post_editor.ex:1006 #, elixir-autogen, elixir-format msgid "Idle" msgstr "Inactif" @@ -1178,12 +1178,12 @@ msgstr "En ligne" msgid "Insert" msgstr "Inserer" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:390 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:403 #, elixir-autogen, elixir-format msgid "Insert Link" msgstr "Inserer un lien" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:399 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:412 #, elixir-autogen, elixir-format msgid "Insert Media" msgstr "Inserer un media" @@ -1201,13 +1201,13 @@ msgstr "Type" #: lib/bds/desktop/shell_live/import_editor.ex:878 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:171 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:207 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:220 #, elixir-autogen, elixir-format msgid "Language" msgstr "Langue" #: lib/bds/desktop/shell_live/media_editor.ex:210 -#: lib/bds/desktop/shell_live/post_editor.ex:749 +#: lib/bds/desktop/shell_live/post_editor.ex:790 #, elixir-autogen, elixir-format msgid "Language detection failed." msgstr "La détection de la langue a échoué." @@ -1223,7 +1223,7 @@ msgstr "Clair" msgid "Link to Post" msgstr "Lier à un article" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:329 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 #, elixir-autogen, elixir-format msgid "Linked Media" msgstr "Médias liés" @@ -1234,7 +1234,7 @@ msgid "Linked Posts" msgstr "Articles liés" #: lib/bds/desktop/shell_live/panel_renderer.ex:142 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:312 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:325 #, elixir-autogen, elixir-format msgid "Links To" msgstr "Liens vers" @@ -1291,7 +1291,7 @@ msgstr "Mapper vers..." msgid "Mapped" msgstr "Mappé" -#: lib/bds/desktop/shell_live/post_editor.ex:968 +#: lib/bds/desktop/shell_live/post_editor.ex:1009 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:123 #, elixir-autogen, elixir-format msgid "Markdown" @@ -1454,8 +1454,8 @@ msgstr "Pas encore d'historique Git" #: lib/bds/desktop/shell_live/misc_editor.ex:473 #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:72 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:308 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:320 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:321 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:333 #: 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 @@ -1466,7 +1466,7 @@ msgstr "Pas encore d'historique Git" msgid "No items" msgstr "Aucun élément" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:355 #, elixir-autogen, elixir-format msgid "No linked media" msgstr "Aucun média lié" @@ -1703,7 +1703,7 @@ msgstr "Ouvrir dans le navigateur" msgid "OpenAI-compatible endpoints, model routing, airplane mode, and system prompt" msgstr "Points d'accès compatibles OpenAI, routage de modèles, mode avion et prompt système" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:337 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:350 #, elixir-autogen, elixir-format msgid "Order" msgstr "Ordre" @@ -1789,16 +1789,16 @@ msgid "Persist the detected language for this media item" msgstr "Enregistrer la langue détectée pour ce média" #: lib/bds/desktop/shell_live/misc_editor.ex:747 -#: lib/bds/desktop/shell_live/post_editor.ex:488 -#: lib/bds/desktop/shell_live/post_editor.ex:492 -#: lib/bds/desktop/shell_live/post_editor.ex:531 -#: lib/bds/desktop/shell_live/post_editor.ex:535 -#: lib/bds/desktop/shell_live/post_editor.ex:573 -#: lib/bds/desktop/shell_live/post_editor.ex:588 -#: lib/bds/desktop/shell_live/post_editor.ex:617 -#: lib/bds/desktop/shell_live/post_editor.ex:620 -#: lib/bds/desktop/shell_live/post_editor.ex:700 -#: lib/bds/desktop/shell_live/post_editor.ex:703 +#: lib/bds/desktop/shell_live/post_editor.ex:529 +#: lib/bds/desktop/shell_live/post_editor.ex:533 +#: lib/bds/desktop/shell_live/post_editor.ex:572 +#: lib/bds/desktop/shell_live/post_editor.ex:576 +#: lib/bds/desktop/shell_live/post_editor.ex:614 +#: lib/bds/desktop/shell_live/post_editor.ex:629 +#: lib/bds/desktop/shell_live/post_editor.ex:658 +#: lib/bds/desktop/shell_live/post_editor.ex:661 +#: lib/bds/desktop/shell_live/post_editor.ex:741 +#: lib/bds/desktop/shell_live/post_editor.ex:744 #: lib/bds/desktop/shell_live/sidebar_components.ex:651 #: lib/bds/desktop/shell_live/sidebar_delete.ex:174 #: lib/bds/ui/registry.ex:99 @@ -1808,7 +1808,7 @@ msgstr "Article" #: lib/bds/desktop/shell_data.ex:247 #: lib/bds/desktop/shell_live/panel_renderer.ex:118 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:297 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:310 #, elixir-autogen, elixir-format msgid "Post Links" msgstr "Liens d'articles" @@ -1828,12 +1828,12 @@ msgstr "Modèle d’article" msgid "Post is marked as do-not-translate but has translations" msgstr "L'article est marqué ne-pas-traduire mais a des traductions" -#: lib/bds/desktop/shell_live/post_editor.ex:531 +#: lib/bds/desktop/shell_live/post_editor.ex:572 #, elixir-autogen, elixir-format msgid "Post published" msgstr "Article publié" -#: lib/bds/desktop/shell_live/post_editor.ex:488 +#: lib/bds/desktop/shell_live/post_editor.ex:529 #, elixir-autogen, elixir-format msgid "Post saved" msgstr "Article enregistré" @@ -1857,7 +1857,7 @@ msgstr "Articles (%{count})" msgid "Preferences" msgstr "Préférences" -#: lib/bds/desktop/shell_live/post_editor.ex:969 +#: lib/bds/desktop/shell_live/post_editor.ex:1010 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:124 #, elixir-autogen, elixir-format msgid "Preview" @@ -1873,7 +1873,7 @@ msgstr "Mode aperçu" msgid "Preview Post" msgstr "Aperçu de l’article" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:430 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:443 #, elixir-autogen, elixir-format msgid "Preview unavailable" msgstr "Aperçu non disponible" @@ -1926,8 +1926,8 @@ msgid "Publish Selected" msgstr "Publier la sélection" #: lib/bds/desktop/shell_data.ex:181 -#: lib/bds/desktop/shell_live/post_editor.ex:963 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:459 +#: lib/bds/desktop/shell_live/post_editor.ex:1004 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:472 #: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" @@ -2062,7 +2062,7 @@ msgstr "Chemin distant" msgid "Remove" msgstr "Retirer" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:250 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:263 #, elixir-autogen, elixir-format msgid "Remove category" msgstr "Supprimer la catégorie" @@ -2124,7 +2124,7 @@ msgstr "Résolution" msgid "Result" msgstr "Résultat" -#: lib/bds/desktop/shell_live/post_editor.ex:964 +#: lib/bds/desktop/shell_live/post_editor.ex:1005 #, elixir-autogen, elixir-format msgid "Reverted" msgstr "Restauré" @@ -2176,7 +2176,7 @@ msgid "Save Translation" msgstr "Enregistrer la traduction" #: lib/bds/desktop/shell_live/media_editor.ex:710 -#: lib/bds/desktop/shell_live/post_editor.ex:962 +#: lib/bds/desktop/shell_live/post_editor.ex:1003 #, elixir-autogen, elixir-format msgid "Saved" msgstr "Enregistré" @@ -2376,7 +2376,7 @@ msgstr "Taille" #: lib/bds/desktop/shell_live/import_editor.ex:1130 #: lib/bds/desktop/shell_live/import_editor.ex:1187 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:238 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:251 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:24 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:23 #, elixir-autogen, elixir-format @@ -2498,7 +2498,7 @@ msgid "Technology" msgstr "Technologie" #: lib/bds/desktop/shell_live/misc_editor.ex:752 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:286 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:299 #: lib/bds/desktop/shell_live/sidebar_components.ex:660 #: lib/bds/desktop/shell_live/sidebar_delete.ex:179 #: lib/bds/ui/registry.ex:134 @@ -2650,9 +2650,9 @@ msgstr "Afficher ou masquer la barre latérale" #: lib/bds/desktop/shell_live/media_editor.ex:566 #: lib/bds/desktop/shell_live/media_editor.ex:571 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:76 -#: lib/bds/desktop/shell_live/post_editor.ex:762 -#: lib/bds/desktop/shell_live/post_editor.ex:791 -#: lib/bds/desktop/shell_live/post_editor.ex:796 +#: lib/bds/desktop/shell_live/post_editor.ex:803 +#: lib/bds/desktop/shell_live/post_editor.ex:832 +#: lib/bds/desktop/shell_live/post_editor.ex:837 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:60 #, elixir-autogen, elixir-format msgid "Translate" @@ -2729,7 +2729,7 @@ msgstr "Dissocier de l'article" #: lib/bds/desktop/shell_live/media_editor.ex:709 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:10 -#: lib/bds/desktop/shell_live/post_editor.ex:961 +#: lib/bds/desktop/shell_live/post_editor.ex:1002 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:7 #, elixir-autogen, elixir-format msgid "Unsaved" @@ -2749,7 +2749,7 @@ msgstr "Sans titre" msgid "Untitled Import" msgstr "Import sans titre" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:457 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:470 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -3210,7 +3210,7 @@ msgstr "Importation simultanée d'images" #: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:658 #: lib/bds/desktop/shell_live.ex:669 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:420 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Ajouter des images à la galerie" @@ -3230,12 +3230,12 @@ msgstr "Archiver" msgid "Move this post to the archive" msgstr "Déplacer cet article dans les archives" -#: lib/bds/desktop/shell_live/post_editor.ex:617 +#: lib/bds/desktop/shell_live/post_editor.ex:658 #, elixir-autogen, elixir-format msgid "Post archived" msgstr "Article archivé" -#: lib/bds/desktop/shell_live/post_editor.ex:700 +#: lib/bds/desktop/shell_live/post_editor.ex:741 #, elixir-autogen, elixir-format msgid "Post unarchived" msgstr "Article désarchivé" @@ -3414,18 +3414,18 @@ msgstr "Blogmark" msgid "Open a project before importing a blogmark." msgstr "Ouvrez un projet avant d’importer un blogmark." -#: lib/bds/desktop/shell_live/post_editor.ex:643 +#: lib/bds/desktop/shell_live/post_editor.ex:684 #, elixir-autogen, elixir-format msgid "Added %{name}" msgstr "%{name} ajouté" -#: lib/bds/desktop/shell_live/post_editor.ex:650 +#: lib/bds/desktop/shell_live/post_editor.ex:691 #, elixir-autogen, elixir-format msgid "Failed to import %{path}: %{reason}" msgstr "Échec de l'import de %{path} : %{reason}" -#: lib/bds/desktop/shell_live/post_editor.ex:642 -#: lib/bds/desktop/shell_live/post_editor.ex:649 +#: lib/bds/desktop/shell_live/post_editor.ex:683 +#: lib/bds/desktop/shell_live/post_editor.ex:690 #, elixir-autogen, elixir-format msgid "Insert Image" msgstr "Insérer une image" @@ -3454,3 +3454,8 @@ msgstr "Échec de la copie du bookmarklet dans le presse-papiers" #, elixir-autogen, elixir-format msgid "The project this blogmark targets does not exist here." msgstr "Le projet ciblé par ce blogmark n'existe pas ici." + +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:183 +#, elixir-autogen, elixir-format +msgid "Suggested tags" +msgstr "Tags suggérés" diff --git a/priv/gettext/it/LC_MESSAGES/ui.po b/priv/gettext/it/LC_MESSAGES/ui.po index c25eb63..18ec9fb 100644 --- a/priv/gettext/it/LC_MESSAGES/ui.po +++ b/priv/gettext/it/LC_MESSAGES/ui.po @@ -79,7 +79,7 @@ msgstr "Impostazioni IA" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:42 #: lib/bds/desktop/shell_live/overlay_manager.ex:72 -#: lib/bds/desktop/shell_live/post_editor.ex:847 +#: lib/bds/desktop/shell_live/post_editor.ex:888 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #, elixir-autogen, elixir-format msgid "AI Suggestions" @@ -142,7 +142,7 @@ msgstr "Aggiungi archivio categoria" msgid "Add Submenu" msgstr "Aggiungi sottomenu" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:259 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:272 #, elixir-autogen, elixir-format msgid "Add category" msgstr "Aggiungi categoria" @@ -246,7 +246,7 @@ msgid "Assistant" msgstr "Assistente" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:166 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:202 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:215 #, elixir-autogen, elixir-format msgid "Author" msgstr "Autore" @@ -263,8 +263,8 @@ msgstr "Automatico" #: lib/bds/desktop/shell_live/media_editor.ex:353 #: lib/bds/desktop/shell_live/media_editor.ex:546 #: lib/bds/desktop/shell_live/overlay_manager.ex:73 -#: lib/bds/desktop/shell_live/post_editor.ex:714 -#: lib/bds/desktop/shell_live/post_editor.ex:763 +#: lib/bds/desktop/shell_live/post_editor.ex:755 +#: lib/bds/desktop/shell_live/post_editor.ex:804 #, elixir-autogen, elixir-format msgid "Automatic AI actions stay gated by airplane mode." msgstr "Le azioni IA automatiche restano bloccate dalla modalità aereo." @@ -283,7 +283,7 @@ msgid "Available languages" msgstr "Lingue disponibili" #: lib/bds/desktop/shell_live/panel_renderer.ex:124 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:300 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:313 #, elixir-autogen, elixir-format msgid "Backlinks" msgstr "Riferimenti in entrata" @@ -369,7 +369,7 @@ msgstr "Didascalia" #: lib/bds/desktop/shell_live/index.html.heex:336 #: lib/bds/desktop/shell_live/misc_editor.ex:755 #: lib/bds/desktop/shell_live/misc_editor.ex:756 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:243 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:256 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:59 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:75 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:107 @@ -501,7 +501,7 @@ msgstr "Configura una chiave API nelle Impostazioni per abilitare la chat IA." msgid "Confirm" msgstr "Conferma" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/ui/sidebar.ex:764 @@ -550,17 +550,17 @@ msgstr "Crea" msgid "Create / Edit" msgstr "Crea / modifica" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:275 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 #, elixir-autogen, elixir-format msgid "Create category" msgstr "Crea categoria" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:193 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:206 #, elixir-autogen, elixir-format msgid "Create tag" msgstr "Crea tag" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:469 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -611,7 +611,7 @@ msgstr "Percorso dati" msgid "Date Distribution" msgstr "Distribuzione per data" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:301 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:177 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:185 #, elixir-autogen, elixir-format @@ -698,7 +698,7 @@ msgstr "Descrizione" msgid "Desktop Runtime" msgstr "Runtime desktop" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:223 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:236 #, elixir-autogen, elixir-format msgid "Detect" msgstr "Rileva" @@ -708,9 +708,9 @@ msgstr "Rileva" #: lib/bds/desktop/shell_live/media_editor.ex:203 #: lib/bds/desktop/shell_live/media_editor.ex:209 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:59 -#: lib/bds/desktop/shell_live/post_editor.ex:713 -#: lib/bds/desktop/shell_live/post_editor.ex:742 -#: lib/bds/desktop/shell_live/post_editor.ex:748 +#: lib/bds/desktop/shell_live/post_editor.ex:754 +#: lib/bds/desktop/shell_live/post_editor.ex:783 +#: lib/bds/desktop/shell_live/post_editor.ex:789 #, elixir-autogen, elixir-format msgid "Detect Language" msgstr "Rileva lingua" @@ -776,7 +776,7 @@ msgstr "Chiudi superficie" msgid "Display Text" msgstr "Testo visualizzato" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:232 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:245 #, elixir-autogen, elixir-format msgid "Do Not Translate" msgstr "Non tradurre" @@ -898,8 +898,8 @@ msgstr "Errore" msgid "Exact Match" msgstr "Corrispondenza esatta" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:349 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:354 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:367 #, elixir-autogen, elixir-format msgid "Excerpt" msgstr "Estratto" @@ -983,7 +983,7 @@ msgid "Force Reload" msgstr "Ricarica forzata" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:194 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:419 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:432 #, elixir-autogen, elixir-format msgid "Gallery" msgstr "Galleria" @@ -1036,7 +1036,7 @@ msgstr "Host" #: lib/bds/desktop/shell_data.ex:116 #: lib/bds/desktop/shell_live/index.html.heex:666 #: lib/bds/desktop/shell_live/media_editor.ex:711 -#: lib/bds/desktop/shell_live/post_editor.ex:965 +#: lib/bds/desktop/shell_live/post_editor.ex:1006 #, elixir-autogen, elixir-format msgid "Idle" msgstr "Inattivo" @@ -1178,12 +1178,12 @@ msgstr "In linea" msgid "Insert" msgstr "Inserisci" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:390 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:403 #, elixir-autogen, elixir-format msgid "Insert Link" msgstr "Inserisci collegamento" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:399 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:412 #, elixir-autogen, elixir-format msgid "Insert Media" msgstr "Inserisci media" @@ -1201,13 +1201,13 @@ msgstr "Tipo" #: lib/bds/desktop/shell_live/import_editor.ex:878 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:171 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:207 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:220 #, elixir-autogen, elixir-format msgid "Language" msgstr "Lingua" #: lib/bds/desktop/shell_live/media_editor.ex:210 -#: lib/bds/desktop/shell_live/post_editor.ex:749 +#: lib/bds/desktop/shell_live/post_editor.ex:790 #, elixir-autogen, elixir-format msgid "Language detection failed." msgstr "Rilevamento della lingua non riuscito." @@ -1223,7 +1223,7 @@ msgstr "Chiaro" msgid "Link to Post" msgstr "Collega al post" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:329 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 #, elixir-autogen, elixir-format msgid "Linked Media" msgstr "Media collegati" @@ -1234,7 +1234,7 @@ msgid "Linked Posts" msgstr "Post collegati" #: lib/bds/desktop/shell_live/panel_renderer.ex:142 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:312 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:325 #, elixir-autogen, elixir-format msgid "Links To" msgstr "Collegato a" @@ -1291,7 +1291,7 @@ msgstr "Mappa a..." msgid "Mapped" msgstr "Mappato" -#: lib/bds/desktop/shell_live/post_editor.ex:968 +#: lib/bds/desktop/shell_live/post_editor.ex:1009 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:123 #, elixir-autogen, elixir-format msgid "Markdown" @@ -1454,8 +1454,8 @@ msgstr "Nessuna cronologia Git" #: lib/bds/desktop/shell_live/misc_editor.ex:473 #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:72 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:308 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:320 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:321 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:333 #: 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 @@ -1466,7 +1466,7 @@ msgstr "Nessuna cronologia Git" msgid "No items" msgstr "Nessun elemento" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:355 #, elixir-autogen, elixir-format msgid "No linked media" msgstr "Nessun media collegato" @@ -1703,7 +1703,7 @@ msgstr "Apri nel browser" msgid "OpenAI-compatible endpoints, model routing, airplane mode, and system prompt" msgstr "Endpoint compatibili OpenAI, routing dei modelli, modalità aereo e prompt di sistema" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:337 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:350 #, elixir-autogen, elixir-format msgid "Order" msgstr "Ordine" @@ -1789,16 +1789,16 @@ msgid "Persist the detected language for this media item" msgstr "Salva la lingua rilevata per questo media" #: lib/bds/desktop/shell_live/misc_editor.ex:747 -#: lib/bds/desktop/shell_live/post_editor.ex:488 -#: lib/bds/desktop/shell_live/post_editor.ex:492 -#: lib/bds/desktop/shell_live/post_editor.ex:531 -#: lib/bds/desktop/shell_live/post_editor.ex:535 -#: lib/bds/desktop/shell_live/post_editor.ex:573 -#: lib/bds/desktop/shell_live/post_editor.ex:588 -#: lib/bds/desktop/shell_live/post_editor.ex:617 -#: lib/bds/desktop/shell_live/post_editor.ex:620 -#: lib/bds/desktop/shell_live/post_editor.ex:700 -#: lib/bds/desktop/shell_live/post_editor.ex:703 +#: lib/bds/desktop/shell_live/post_editor.ex:529 +#: lib/bds/desktop/shell_live/post_editor.ex:533 +#: lib/bds/desktop/shell_live/post_editor.ex:572 +#: lib/bds/desktop/shell_live/post_editor.ex:576 +#: lib/bds/desktop/shell_live/post_editor.ex:614 +#: lib/bds/desktop/shell_live/post_editor.ex:629 +#: lib/bds/desktop/shell_live/post_editor.ex:658 +#: lib/bds/desktop/shell_live/post_editor.ex:661 +#: lib/bds/desktop/shell_live/post_editor.ex:741 +#: lib/bds/desktop/shell_live/post_editor.ex:744 #: lib/bds/desktop/shell_live/sidebar_components.ex:651 #: lib/bds/desktop/shell_live/sidebar_delete.ex:174 #: lib/bds/ui/registry.ex:99 @@ -1808,7 +1808,7 @@ msgstr "Post" #: lib/bds/desktop/shell_data.ex:247 #: lib/bds/desktop/shell_live/panel_renderer.ex:118 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:297 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:310 #, elixir-autogen, elixir-format msgid "Post Links" msgstr "Collegamenti articoli" @@ -1828,12 +1828,12 @@ msgstr "Template del post" msgid "Post is marked as do-not-translate but has translations" msgstr "Il post è contrassegnato come non-tradurre ma ha traduzioni" -#: lib/bds/desktop/shell_live/post_editor.ex:531 +#: lib/bds/desktop/shell_live/post_editor.ex:572 #, elixir-autogen, elixir-format msgid "Post published" msgstr "Articolo pubblicato" -#: lib/bds/desktop/shell_live/post_editor.ex:488 +#: lib/bds/desktop/shell_live/post_editor.ex:529 #, elixir-autogen, elixir-format msgid "Post saved" msgstr "Articolo salvato" @@ -1857,7 +1857,7 @@ msgstr "Articoli (%{count})" msgid "Preferences" msgstr "Preferenze" -#: lib/bds/desktop/shell_live/post_editor.ex:969 +#: lib/bds/desktop/shell_live/post_editor.ex:1010 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:124 #, elixir-autogen, elixir-format msgid "Preview" @@ -1873,7 +1873,7 @@ msgstr "Modalità anteprima" msgid "Preview Post" msgstr "Anteprima post" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:430 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:443 #, elixir-autogen, elixir-format msgid "Preview unavailable" msgstr "Anteprima non disponibile" @@ -1926,8 +1926,8 @@ msgid "Publish Selected" msgstr "Pubblica selezionati" #: lib/bds/desktop/shell_data.ex:181 -#: lib/bds/desktop/shell_live/post_editor.ex:963 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:459 +#: lib/bds/desktop/shell_live/post_editor.ex:1004 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:472 #: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" @@ -2062,7 +2062,7 @@ msgstr "Percorso remoto" msgid "Remove" msgstr "Rimuovi" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:250 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:263 #, elixir-autogen, elixir-format msgid "Remove category" msgstr "Rimuovi categoria" @@ -2124,7 +2124,7 @@ msgstr "Risoluzione" msgid "Result" msgstr "Risultato" -#: lib/bds/desktop/shell_live/post_editor.ex:964 +#: lib/bds/desktop/shell_live/post_editor.ex:1005 #, elixir-autogen, elixir-format msgid "Reverted" msgstr "Ripristinato" @@ -2176,7 +2176,7 @@ msgid "Save Translation" msgstr "Salva traduzione" #: lib/bds/desktop/shell_live/media_editor.ex:710 -#: lib/bds/desktop/shell_live/post_editor.ex:962 +#: lib/bds/desktop/shell_live/post_editor.ex:1003 #, elixir-autogen, elixir-format msgid "Saved" msgstr "Salvato" @@ -2376,7 +2376,7 @@ msgstr "Dimensione" #: lib/bds/desktop/shell_live/import_editor.ex:1130 #: lib/bds/desktop/shell_live/import_editor.ex:1187 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:238 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:251 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:24 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:23 #, elixir-autogen, elixir-format @@ -2498,7 +2498,7 @@ msgid "Technology" msgstr "Tecnologia" #: lib/bds/desktop/shell_live/misc_editor.ex:752 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:286 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:299 #: lib/bds/desktop/shell_live/sidebar_components.ex:660 #: lib/bds/desktop/shell_live/sidebar_delete.ex:179 #: lib/bds/ui/registry.ex:134 @@ -2650,9 +2650,9 @@ msgstr "Attiva/disattiva barra laterale" #: lib/bds/desktop/shell_live/media_editor.ex:566 #: lib/bds/desktop/shell_live/media_editor.ex:571 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:76 -#: lib/bds/desktop/shell_live/post_editor.ex:762 -#: lib/bds/desktop/shell_live/post_editor.ex:791 -#: lib/bds/desktop/shell_live/post_editor.ex:796 +#: lib/bds/desktop/shell_live/post_editor.ex:803 +#: lib/bds/desktop/shell_live/post_editor.ex:832 +#: lib/bds/desktop/shell_live/post_editor.ex:837 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:60 #, elixir-autogen, elixir-format msgid "Translate" @@ -2729,7 +2729,7 @@ msgstr "Scollega dall'articolo" #: lib/bds/desktop/shell_live/media_editor.ex:709 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:10 -#: lib/bds/desktop/shell_live/post_editor.ex:961 +#: lib/bds/desktop/shell_live/post_editor.ex:1002 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:7 #, elixir-autogen, elixir-format msgid "Unsaved" @@ -2749,7 +2749,7 @@ msgstr "Senza titolo" msgid "Untitled Import" msgstr "Importazione senza titolo" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:457 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:470 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -3210,7 +3210,7 @@ msgstr "Importazione simultanea immagini" #: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:658 #: lib/bds/desktop/shell_live.ex:669 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:420 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "Aggiungi immagini alla galleria" @@ -3230,12 +3230,12 @@ msgstr "Archivia" msgid "Move this post to the archive" msgstr "Sposta questo articolo nell'archivio" -#: lib/bds/desktop/shell_live/post_editor.ex:617 +#: lib/bds/desktop/shell_live/post_editor.ex:658 #, elixir-autogen, elixir-format msgid "Post archived" msgstr "Articolo archiviato" -#: lib/bds/desktop/shell_live/post_editor.ex:700 +#: lib/bds/desktop/shell_live/post_editor.ex:741 #, elixir-autogen, elixir-format msgid "Post unarchived" msgstr "Articolo ripristinato" @@ -3414,18 +3414,18 @@ msgstr "Blogmark" msgid "Open a project before importing a blogmark." msgstr "Apri un progetto prima di importare un blogmark." -#: lib/bds/desktop/shell_live/post_editor.ex:643 +#: lib/bds/desktop/shell_live/post_editor.ex:684 #, elixir-autogen, elixir-format msgid "Added %{name}" msgstr "%{name} aggiunto" -#: lib/bds/desktop/shell_live/post_editor.ex:650 +#: lib/bds/desktop/shell_live/post_editor.ex:691 #, elixir-autogen, elixir-format msgid "Failed to import %{path}: %{reason}" msgstr "Impossibile importare %{path}: %{reason}" -#: lib/bds/desktop/shell_live/post_editor.ex:642 -#: lib/bds/desktop/shell_live/post_editor.ex:649 +#: lib/bds/desktop/shell_live/post_editor.ex:683 +#: lib/bds/desktop/shell_live/post_editor.ex:690 #, elixir-autogen, elixir-format msgid "Insert Image" msgstr "Inserisci immagine" @@ -3454,3 +3454,8 @@ msgstr "Impossibile copiare il bookmarklet negli appunti" #, elixir-autogen, elixir-format msgid "The project this blogmark targets does not exist here." msgstr "Il progetto a cui punta questo blogmark non esiste qui." + +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:183 +#, elixir-autogen, elixir-format +msgid "Suggested tags" +msgstr "Tag suggeriti" diff --git a/priv/gettext/ui.pot b/priv/gettext/ui.pot index 9f82d40..aaf215d 100644 --- a/priv/gettext/ui.pot +++ b/priv/gettext/ui.pot @@ -92,7 +92,7 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:42 #: lib/bds/desktop/shell_live/overlay_manager.ex:72 -#: lib/bds/desktop/shell_live/post_editor.ex:847 +#: lib/bds/desktop/shell_live/post_editor.ex:888 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:43 #, elixir-autogen, elixir-format msgid "AI Suggestions" @@ -155,7 +155,7 @@ msgstr "" msgid "Add Submenu" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:259 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:272 #, elixir-autogen, elixir-format msgid "Add category" msgstr "" @@ -259,7 +259,7 @@ msgid "Assistant" msgstr "" #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:166 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:202 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:215 #, elixir-autogen, elixir-format msgid "Author" msgstr "" @@ -276,8 +276,8 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:353 #: lib/bds/desktop/shell_live/media_editor.ex:546 #: lib/bds/desktop/shell_live/overlay_manager.ex:73 -#: lib/bds/desktop/shell_live/post_editor.ex:714 -#: lib/bds/desktop/shell_live/post_editor.ex:763 +#: lib/bds/desktop/shell_live/post_editor.ex:755 +#: lib/bds/desktop/shell_live/post_editor.ex:804 #, elixir-autogen, elixir-format msgid "Automatic AI actions stay gated by airplane mode." msgstr "" @@ -296,7 +296,7 @@ msgid "Available languages" msgstr "" #: lib/bds/desktop/shell_live/panel_renderer.ex:124 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:300 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:313 #, elixir-autogen, elixir-format msgid "Backlinks" msgstr "" @@ -382,7 +382,7 @@ msgstr "" #: lib/bds/desktop/shell_live/index.html.heex:336 #: lib/bds/desktop/shell_live/misc_editor.ex:755 #: lib/bds/desktop/shell_live/misc_editor.ex:756 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:243 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:256 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:59 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:75 #: lib/bds/desktop/shell_live/settings_editor/managed_categories.ex:107 @@ -514,7 +514,7 @@ msgstr "" msgid "Confirm" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:375 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:34 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:32 #: lib/bds/ui/sidebar.ex:764 @@ -563,17 +563,17 @@ msgstr "" msgid "Create / Edit" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:275 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 #, elixir-autogen, elixir-format msgid "Create category" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:193 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:206 #, elixir-autogen, elixir-format msgid "Create tag" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:456 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:469 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -624,7 +624,7 @@ msgstr "" msgid "Date Distribution" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:288 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:301 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:177 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:185 #, elixir-autogen, elixir-format @@ -711,7 +711,7 @@ msgstr "" msgid "Desktop Runtime" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:223 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:236 #, elixir-autogen, elixir-format msgid "Detect" msgstr "" @@ -721,9 +721,9 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:203 #: lib/bds/desktop/shell_live/media_editor.ex:209 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:59 -#: lib/bds/desktop/shell_live/post_editor.ex:713 -#: lib/bds/desktop/shell_live/post_editor.ex:742 -#: lib/bds/desktop/shell_live/post_editor.ex:748 +#: lib/bds/desktop/shell_live/post_editor.ex:754 +#: lib/bds/desktop/shell_live/post_editor.ex:783 +#: lib/bds/desktop/shell_live/post_editor.ex:789 #, elixir-autogen, elixir-format msgid "Detect Language" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Display Text" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:232 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:245 #, elixir-autogen, elixir-format msgid "Do Not Translate" msgstr "" @@ -911,8 +911,8 @@ msgstr "" msgid "Exact Match" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:349 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:354 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:362 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:367 #, elixir-autogen, elixir-format msgid "Excerpt" msgstr "" @@ -996,7 +996,7 @@ msgid "Force Reload" msgstr "" #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:194 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:419 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:432 #, elixir-autogen, elixir-format msgid "Gallery" msgstr "" @@ -1049,7 +1049,7 @@ msgstr "" #: lib/bds/desktop/shell_data.ex:116 #: lib/bds/desktop/shell_live/index.html.heex:666 #: lib/bds/desktop/shell_live/media_editor.ex:711 -#: lib/bds/desktop/shell_live/post_editor.ex:965 +#: lib/bds/desktop/shell_live/post_editor.ex:1006 #, elixir-autogen, elixir-format msgid "Idle" msgstr "" @@ -1191,12 +1191,12 @@ msgstr "" msgid "Insert" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:390 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:403 #, elixir-autogen, elixir-format msgid "Insert Link" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:399 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:412 #, elixir-autogen, elixir-format msgid "Insert Media" msgstr "" @@ -1214,13 +1214,13 @@ msgstr "" #: lib/bds/desktop/shell_live/import_editor.ex:878 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:171 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:207 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:220 #, elixir-autogen, elixir-format msgid "Language" msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:210 -#: lib/bds/desktop/shell_live/post_editor.ex:749 +#: lib/bds/desktop/shell_live/post_editor.ex:790 #, elixir-autogen, elixir-format msgid "Language detection failed." msgstr "" @@ -1236,7 +1236,7 @@ msgstr "" msgid "Link to Post" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:329 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 #, elixir-autogen, elixir-format msgid "Linked Media" msgstr "" @@ -1247,7 +1247,7 @@ msgid "Linked Posts" msgstr "" #: lib/bds/desktop/shell_live/panel_renderer.ex:142 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:312 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:325 #, elixir-autogen, elixir-format msgid "Links To" msgstr "" @@ -1304,7 +1304,7 @@ msgstr "" msgid "Mapped" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:968 +#: lib/bds/desktop/shell_live/post_editor.ex:1009 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:123 #, elixir-autogen, elixir-format msgid "Markdown" @@ -1467,8 +1467,8 @@ msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:473 #: lib/bds/desktop/shell_live/overlay_html/shell_overlay.html.heex:72 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:308 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:320 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:321 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:333 #: 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 @@ -1479,7 +1479,7 @@ msgstr "" msgid "No items" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:342 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:355 #, elixir-autogen, elixir-format msgid "No linked media" msgstr "" @@ -1716,7 +1716,7 @@ msgstr "" msgid "OpenAI-compatible endpoints, model routing, airplane mode, and system prompt" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:337 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:350 #, elixir-autogen, elixir-format msgid "Order" msgstr "" @@ -1802,16 +1802,16 @@ msgid "Persist the detected language for this media item" msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:747 -#: lib/bds/desktop/shell_live/post_editor.ex:488 -#: lib/bds/desktop/shell_live/post_editor.ex:492 -#: lib/bds/desktop/shell_live/post_editor.ex:531 -#: lib/bds/desktop/shell_live/post_editor.ex:535 -#: lib/bds/desktop/shell_live/post_editor.ex:573 -#: lib/bds/desktop/shell_live/post_editor.ex:588 -#: lib/bds/desktop/shell_live/post_editor.ex:617 -#: lib/bds/desktop/shell_live/post_editor.ex:620 -#: lib/bds/desktop/shell_live/post_editor.ex:700 -#: lib/bds/desktop/shell_live/post_editor.ex:703 +#: lib/bds/desktop/shell_live/post_editor.ex:529 +#: lib/bds/desktop/shell_live/post_editor.ex:533 +#: lib/bds/desktop/shell_live/post_editor.ex:572 +#: lib/bds/desktop/shell_live/post_editor.ex:576 +#: lib/bds/desktop/shell_live/post_editor.ex:614 +#: lib/bds/desktop/shell_live/post_editor.ex:629 +#: lib/bds/desktop/shell_live/post_editor.ex:658 +#: lib/bds/desktop/shell_live/post_editor.ex:661 +#: lib/bds/desktop/shell_live/post_editor.ex:741 +#: lib/bds/desktop/shell_live/post_editor.ex:744 #: lib/bds/desktop/shell_live/sidebar_components.ex:651 #: lib/bds/desktop/shell_live/sidebar_delete.ex:174 #: lib/bds/ui/registry.ex:99 @@ -1821,7 +1821,7 @@ msgstr "" #: lib/bds/desktop/shell_data.ex:247 #: lib/bds/desktop/shell_live/panel_renderer.ex:118 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:297 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:310 #, elixir-autogen, elixir-format msgid "Post Links" msgstr "" @@ -1841,12 +1841,12 @@ msgstr "" msgid "Post is marked as do-not-translate but has translations" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:531 +#: lib/bds/desktop/shell_live/post_editor.ex:572 #, elixir-autogen, elixir-format msgid "Post published" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:488 +#: lib/bds/desktop/shell_live/post_editor.ex:529 #, elixir-autogen, elixir-format msgid "Post saved" msgstr "" @@ -1870,7 +1870,7 @@ msgstr "" msgid "Preferences" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:969 +#: lib/bds/desktop/shell_live/post_editor.ex:1010 #: lib/bds/desktop/shell_live/settings_editor_html/settings_editor.html.heex:124 #, elixir-autogen, elixir-format msgid "Preview" @@ -1886,7 +1886,7 @@ msgstr "" msgid "Preview Post" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:430 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:443 #, elixir-autogen, elixir-format msgid "Preview unavailable" msgstr "" @@ -1939,8 +1939,8 @@ msgid "Publish Selected" msgstr "" #: lib/bds/desktop/shell_data.ex:181 -#: lib/bds/desktop/shell_live/post_editor.ex:963 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:459 +#: lib/bds/desktop/shell_live/post_editor.ex:1004 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:472 #: lib/bds/ui/sidebar.ex:324 #, elixir-autogen, elixir-format msgid "Published" @@ -2075,7 +2075,7 @@ msgstr "" msgid "Remove" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:250 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:263 #, elixir-autogen, elixir-format msgid "Remove category" msgstr "" @@ -2137,7 +2137,7 @@ msgstr "" msgid "Result" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:964 +#: lib/bds/desktop/shell_live/post_editor.ex:1005 #, elixir-autogen, elixir-format msgid "Reverted" msgstr "" @@ -2189,7 +2189,7 @@ msgid "Save Translation" msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:710 -#: lib/bds/desktop/shell_live/post_editor.ex:962 +#: lib/bds/desktop/shell_live/post_editor.ex:1003 #, elixir-autogen, elixir-format msgid "Saved" msgstr "" @@ -2389,7 +2389,7 @@ msgstr "" #: lib/bds/desktop/shell_live/import_editor.ex:1130 #: lib/bds/desktop/shell_live/import_editor.ex:1187 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:238 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:251 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:24 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:23 #, elixir-autogen, elixir-format @@ -2511,7 +2511,7 @@ msgid "Technology" msgstr "" #: lib/bds/desktop/shell_live/misc_editor.ex:752 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:286 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:299 #: lib/bds/desktop/shell_live/sidebar_components.ex:660 #: lib/bds/desktop/shell_live/sidebar_delete.ex:179 #: lib/bds/ui/registry.ex:134 @@ -2663,9 +2663,9 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:566 #: lib/bds/desktop/shell_live/media_editor.ex:571 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:76 -#: lib/bds/desktop/shell_live/post_editor.ex:762 -#: lib/bds/desktop/shell_live/post_editor.ex:791 -#: lib/bds/desktop/shell_live/post_editor.ex:796 +#: lib/bds/desktop/shell_live/post_editor.ex:803 +#: lib/bds/desktop/shell_live/post_editor.ex:832 +#: lib/bds/desktop/shell_live/post_editor.ex:837 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:60 #, elixir-autogen, elixir-format msgid "Translate" @@ -2742,7 +2742,7 @@ msgstr "" #: lib/bds/desktop/shell_live/media_editor.ex:709 #: lib/bds/desktop/shell_live/media_editor_html/media_editor.html.heex:10 -#: lib/bds/desktop/shell_live/post_editor.ex:961 +#: lib/bds/desktop/shell_live/post_editor.ex:1002 #: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:7 #, elixir-autogen, elixir-format msgid "Unsaved" @@ -2762,7 +2762,7 @@ msgstr "" msgid "Untitled Import" msgstr "" -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:457 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:470 #: lib/bds/desktop/shell_live/script_editor_html/script_editor.html.heex:48 #: lib/bds/desktop/shell_live/template_editor_html/template_editor.html.heex:46 #, elixir-autogen, elixir-format @@ -3223,7 +3223,7 @@ msgstr "" #: lib/bds/desktop/shell_live.ex:647 #: lib/bds/desktop/shell_live.ex:658 #: lib/bds/desktop/shell_live.ex:669 -#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:407 +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:420 #, elixir-autogen, elixir-format msgid "Add Gallery Images" msgstr "" @@ -3243,12 +3243,12 @@ msgstr "" msgid "Move this post to the archive" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:617 +#: lib/bds/desktop/shell_live/post_editor.ex:658 #, elixir-autogen, elixir-format msgid "Post archived" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:700 +#: lib/bds/desktop/shell_live/post_editor.ex:741 #, elixir-autogen, elixir-format msgid "Post unarchived" msgstr "" @@ -3427,18 +3427,18 @@ msgstr "" msgid "Open a project before importing a blogmark." msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:643 +#: lib/bds/desktop/shell_live/post_editor.ex:684 #, elixir-autogen, elixir-format msgid "Added %{name}" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:650 +#: lib/bds/desktop/shell_live/post_editor.ex:691 #, elixir-autogen, elixir-format msgid "Failed to import %{path}: %{reason}" msgstr "" -#: lib/bds/desktop/shell_live/post_editor.ex:642 -#: lib/bds/desktop/shell_live/post_editor.ex:649 +#: lib/bds/desktop/shell_live/post_editor.ex:683 +#: lib/bds/desktop/shell_live/post_editor.ex:690 #, elixir-autogen, elixir-format msgid "Insert Image" msgstr "" @@ -3467,3 +3467,8 @@ msgstr "" #, elixir-autogen, elixir-format msgid "The project this blogmark targets does not exist here." msgstr "" + +#: lib/bds/desktop/shell_live/post_editor_html/post_editor.html.heex:183 +#, elixir-autogen, elixir-format +msgid "Suggested tags" +msgstr "" diff --git a/specs/editor_post.allium b/specs/editor_post.allium index 1d78aa1..c28dcc1 100644 --- a/specs/editor_post.allium +++ b/specs/editor_post.allium @@ -137,10 +137,14 @@ surface PostEditorSurface { @guarantee TagAutocomplete -- Tag input with autocomplete. - -- Standard: prefix match on existing tag names (case-insensitive). - -- When semanticSimilarityEnabled: also suggests tags from 10 similar posts, - -- weighted by similarity, top 5 shown. - -- Merged results: prefix matches first, then embedding suggestions. + -- While typing: substring match on existing tag names (case-insensitive), + -- top 8 shown, plus a "create tag" row when the query is new. + -- While the query is empty (on focus): semantic suggestions appear under a + -- "Suggested tags" label — tags drawn from up to 10 similar posts, + -- weighted by similarity, top 5, excluding tags already on the post. + -- Requires semanticSimilarityEnabled and a built embedding index; + -- it is an index read (no model inference) so it works offline and + -- yields nothing when similarity is disabled or unindexed. @guarantee TranslationFlagsBar -- Row of flag emoji buttons inline with metadata toggle. diff --git a/test/bds/desktop/shell_live_test.exs b/test/bds/desktop/shell_live_test.exs index 75dafa9..0052b82 100644 --- a/test/bds/desktop/shell_live_test.exs +++ b/test/bds/desktop/shell_live_test.exs @@ -61,6 +61,7 @@ defmodule BDS.Desktop.ShellLiveTest do tag_chips: [%{name: "elixir", color: "#3b82f6"}], tag_query: "", tag_suggestions: [], + tag_semantic_suggestions: [], tag_query_addable?: false, languages: ["en", "de"], detect_language_enabled?: true, @@ -2878,6 +2879,59 @@ defmodule BDS.Desktop.ShellLiveTest do ) end + test "focusing the post editor tag input surfaces semantic suggestions from similar posts", %{ + project: project + } do + assert {:ok, _metadata} = + Metadata.update_project_metadata(project.id, %{semantic_similarity_enabled: true}) + + {:ok, neighbor} = + Posts.create_post(%{ + project_id: project.id, + title: "Rocket Science", + content: "space rocket orbit mission galaxy launch trajectory", + tags: ["astronomy"], + language: "en" + }) + + assert {:ok, _published} = Posts.publish_post(neighbor.id) + + {:ok, draft} = + Posts.create_post(%{ + project_id: project.id, + title: "Orbital Mechanics", + content: "space rocket orbit mission galaxy launch propulsion", + language: "en" + }) + + assert {:ok, _indexed} = BDS.Embeddings.index_unindexed(project.id) + + {:ok, view, _html} = live_isolated(build_conn(), BDS.Desktop.ShellLive) + + render_click(view, "pin_sidebar_item", %{ + "route" => "post", + "id" => draft.id, + "title" => draft.title, + "subtitle" => "draft" + }) + + html = + view + |> element("[phx-focus='focus_post_editor_tags']") + |> render_focus() + + assert html =~ "astronomy" + + html = + view + |> element(".tag-suggestion.ai-suggested", "astronomy") + |> render_click() + + # Editor must stay open and the tag must be stored. + assert html =~ ~s(data-testid="post-editor") + assert html =~ ~s(