diff --git a/assets/js/presenter.js b/assets/js/presenter.js
index 53b7704..79e6e08 100644
--- a/assets/js/presenter.js
+++ b/assets/js/presenter.js
@@ -143,7 +143,33 @@ export class Presenter {
}
update() {
- this.init(true);
+ const newHash = this.context.el.dataset.hash;
+ const newMaxPage = parseInt(this.context.el.dataset.maxPage);
+ const newPage = parseInt(this.context.el.dataset.currentPage);
+ const embedActive = this.context.el.dataset.embedActive === "true";
+
+ // Toggle slider visibility for embeds (phx-update="ignore" prevents LiveView from doing it)
+ const sliderEl = document.getElementById("slider");
+ if (sliderEl) {
+ if (embedActive) {
+ sliderEl.classList.add("hidden");
+ } else {
+ sliderEl.classList.remove("hidden");
+ }
+ }
+
+ if (newHash !== this.hash || newMaxPage !== this.maxPage) {
+ // Presentation file changed — full re-init needed
+ this.hash = newHash;
+ this.maxPage = newMaxPage;
+ this.currentPage = newPage;
+ this.init(true);
+ } else if (newPage !== this.currentPage) {
+ // Just a page change — navigate without re-init
+ this.currentPage = newPage;
+ this.slider.goTo(newPage);
+ }
+ // Otherwise: unrelated DOM update (e.g. transcription text) — do nothing
}
fullscreen() {
diff --git a/config/runtime.exs b/config/runtime.exs
index f4e91b3..843177b 100644
--- a/config/runtime.exs
+++ b/config/runtime.exs
@@ -194,19 +194,6 @@ config :claper,
logout_redirect_url: logout_redirect_url,
languages: languages
-mistral_api_key = get_var_from_path_or_env(config_dir, "MISTRAL_API_KEY", nil)
-
-transcription_chunk_ms =
- get_var_from_path_or_env(config_dir, "TRANSCRIPTION_CHUNK_MS", "5000")
- |> String.to_integer()
-
-transcription_language = get_var_from_path_or_env(config_dir, "TRANSCRIPTION_LANGUAGE", nil)
-
-config :claper, :transcription,
- api_key: mistral_api_key,
- chunk_ms: transcription_chunk_ms,
- language: transcription_language
-
config :claper, :presentations,
max_file_size: max_file_size,
storage: storage,
diff --git a/lib/claper/admin.ex b/lib/claper/admin.ex
index 25dd736..ca3fcd9 100644
--- a/lib/claper/admin.ex
+++ b/lib/claper/admin.ex
@@ -632,4 +632,34 @@ defmodule Claper.Admin do
|> Map.put(:role_name, role_name)
end)
end
+
+ @doc """
+ Returns all transcription segments for a given event, ordered by insertion time.
+ """
+ def list_transcriptions_for_event(event_id) do
+ Claper.Transcriptions.Transcription
+ |> join(:inner, [t], pf in Claper.Presentations.PresentationFile,
+ on: t.presentation_file_id == pf.id
+ )
+ |> where([t, pf], pf.event_id == ^event_id)
+ |> order_by([t], asc: t.inserted_at)
+ |> select([t, pf], %{
+ id: t.id,
+ text: t.text,
+ language: t.language,
+ inserted_at: t.inserted_at
+ })
+ |> Repo.all()
+ end
+
+ @doc """
+ Deletes a transcription by ID.
+ """
+ def delete_transcription(id) do
+ case Repo.get(Claper.Transcriptions.Transcription, id) do
+ nil -> {:error, :not_found}
+ transcription -> Repo.delete(transcription)
+ end
+ end
+
end
diff --git a/lib/claper/settings.ex b/lib/claper/settings.ex
new file mode 100644
index 0000000..75de12f
--- /dev/null
+++ b/lib/claper/settings.ex
@@ -0,0 +1,124 @@
+defmodule Claper.Settings do
+ @moduledoc """
+ The Settings context.
+ Manages global application configuration stored in the database.
+ """
+
+ import Ecto.Query, warn: false
+ alias Claper.Repo
+ alias Claper.Settings.GlobalConfig
+
+ @doc """
+ Gets a setting value by key.
+ Returns the decrypted `encrypted_value` if present, otherwise `value`, or nil.
+ """
+ def get(key) when is_binary(key) do
+ case Repo.get_by(GlobalConfig, key: key) do
+ nil -> nil
+ %GlobalConfig{encrypted_value: ev} when not is_nil(ev) -> decrypt(ev)
+ %GlobalConfig{value: v} -> v
+ end
+ end
+
+ @doc """
+ Sets a plaintext setting value.
+ Creates the record if it doesn't exist, updates if it does.
+ """
+ def set(key, value) when is_binary(key) do
+ case Repo.get_by(GlobalConfig, key: key) do
+ nil ->
+ %GlobalConfig{}
+ |> GlobalConfig.changeset(%{key: key, value: value, encrypted_value: nil})
+ |> Repo.insert()
+
+ config ->
+ config
+ |> GlobalConfig.changeset(%{value: value, encrypted_value: nil})
+ |> Repo.update()
+ end
+ end
+
+ @doc """
+ Encrypts and stores a value in `encrypted_value`.
+ Clears the plaintext `value` field.
+ """
+ def set_encrypted(key, value) when is_binary(key) do
+ encrypted = encrypt(value)
+
+ case Repo.get_by(GlobalConfig, key: key) do
+ nil ->
+ %GlobalConfig{}
+ |> GlobalConfig.changeset(%{key: key, value: nil, encrypted_value: encrypted})
+ |> Repo.insert()
+
+ config ->
+ config
+ |> GlobalConfig.changeset(%{value: nil, encrypted_value: encrypted})
+ |> Repo.update()
+ end
+ end
+
+ @doc """
+ Convenience: get the transcription API key (decrypted).
+ """
+ def get_transcription_api_key do
+ get("transcription_api_key")
+ end
+
+ @doc """
+ Returns true if transcription is globally enabled.
+ """
+ def transcription_globally_enabled? do
+ get("transcription_enabled") == "true"
+ end
+
+ @doc """
+ Clears a setting value (sets both value and encrypted_value to nil).
+ """
+ def clear(key) when is_binary(key) do
+ case Repo.get_by(GlobalConfig, key: key) do
+ nil -> :ok
+ config -> config |> GlobalConfig.changeset(%{value: nil, encrypted_value: nil}) |> Repo.update()
+ end
+ end
+
+ @doc """
+ Seeds default settings. Inserts rows only if they don't exist.
+ """
+ def seed_defaults do
+ defaults = [
+ %{key: "transcription_enabled", value: "false"},
+ %{key: "transcription_api_key"},
+ %{key: "transcription_default_language", value: nil}
+ ]
+
+ Enum.each(defaults, fn attrs ->
+ key = attrs.key
+
+ unless Repo.get_by(GlobalConfig, key: key) do
+ %GlobalConfig{}
+ |> GlobalConfig.changeset(Map.put(attrs, :key, key))
+ |> Repo.insert!()
+ end
+ end)
+ end
+
+ defp secret_key do
+ ClaperWeb.Endpoint.config(:secret_key_base)
+ end
+
+ defp encrypt(value) when is_binary(value) do
+ Plug.Crypto.encrypt(secret_key(), "global_config", value)
+ end
+
+ defp encrypt(nil), do: nil
+
+ defp decrypt(encrypted) when is_binary(encrypted) do
+ case Plug.Crypto.decrypt(secret_key(), "global_config", encrypted) do
+ {:ok, value} -> value
+ {:error, _} -> nil
+ end
+ end
+
+ defp decrypt(nil), do: nil
+end
diff --git a/lib/claper/settings/global_config.ex b/lib/claper/settings/global_config.ex
new file mode 100644
index 0000000..4e16c2c
--- /dev/null
+++ b/lib/claper/settings/global_config.ex
@@ -0,0 +1,20 @@
+defmodule Claper.Settings.GlobalConfig do
+ use Ecto.Schema
+ import Ecto.Changeset
+
+ schema "global_configs" do
+ field :key, :string
+ field :value, :string
+ field :encrypted_value, :binary
+
+ timestamps()
+ end
+
+ @doc false
+ def changeset(config, attrs) do
+ config
+ |> cast(attrs, [:key, :value, :encrypted_value])
+ |> validate_required([:key])
+ |> unique_constraint(:key)
+ end
+end
diff --git a/lib/claper/transcriptions/mistral_realtime_client.ex b/lib/claper/transcriptions/mistral_realtime_client.ex
index 1829546..65451d0 100644
--- a/lib/claper/transcriptions/mistral_realtime_client.ex
+++ b/lib/claper/transcriptions/mistral_realtime_client.ex
@@ -63,11 +63,6 @@ defmodule Claper.Transcriptions.MistralRealtimeClient do
session_config =
%{"audio_format" => %{"encoding" => "pcm_s16le", "sample_rate" => 16000}}
- session_config =
- if state.language,
- do: Map.put(session_config, "language", state.language),
- else: session_config
-
message = Jason.encode!(%{"type" => "session.update", "session" => session_config})
{:reply, {:text, message}, state}
end
@@ -136,6 +131,6 @@ defmodule Claper.Transcriptions.MistralRealtimeClient do
end
defp get_api_key do
- Application.get_env(:claper, :transcription)[:api_key]
+ Claper.Settings.get_transcription_api_key()
end
end
diff --git a/lib/claper/transcriptions/transcription_worker.ex b/lib/claper/transcriptions/transcription_worker.ex
index 0a78b04..984e930 100644
--- a/lib/claper/transcriptions/transcription_worker.ex
+++ b/lib/claper/transcriptions/transcription_worker.ex
@@ -42,19 +42,23 @@ defmodule Claper.Transcriptions.TranscriptionWorker do
@impl true
def init({event_uuid, presentation_file_id}) do
- Logger.info("TranscriptionWorker started for event #{event_uuid}")
+ unless Claper.Settings.transcription_globally_enabled?() do
+ Logger.info("TranscriptionWorker: transcription globally disabled, not starting")
+ {:stop, :transcription_disabled}
+ else
+ Logger.info("TranscriptionWorker started for event #{event_uuid}")
- config_language =
- case Transcriptions.get_transcription_config(presentation_file_id) do
- %{language: lang} when is_binary(lang) and lang != "" -> lang
- _ -> nil
- end
+ config_language =
+ case Transcriptions.get_transcription_config(presentation_file_id) do
+ %{language: lang} when is_binary(lang) and lang != "" -> lang
+ _ -> Claper.Settings.get("transcription_default_language")
+ end
- # Connect to Mistral realtime API
- opts = [callback_pid: self()]
- opts = if config_language, do: Keyword.put(opts, :language, config_language), else: opts
+ # Connect to Mistral realtime API
+ opts = [callback_pid: self()]
+ opts = if config_language, do: Keyword.put(opts, :language, config_language), else: opts
- case MistralRealtimeClient.start_link(opts) do
+ case MistralRealtimeClient.start_link(opts) do
{:ok, ws_pid} ->
{:ok,
%{
@@ -69,6 +73,7 @@ defmodule Claper.Transcriptions.TranscriptionWorker do
{:error, reason} ->
Logger.error("Failed to connect to Mistral realtime API: #{inspect(reason)}")
{:stop, reason}
+ end
end
end
@@ -107,9 +112,9 @@ defmodule Claper.Transcriptions.TranscriptionWorker do
def handle_info({:mistral_event, :done, text}, state) do
cancel_clear_timer(state)
- if text != "" and text != state.current_text do
- save_and_broadcast(text, state)
- end
+ # Save accumulated delta text, or fall back to the done event text
+ text_to_save = if state.current_text != "", do: state.current_text, else: text
+ save_and_broadcast(text_to_save, state)
timer = Process.send_after(self(), :clear_subtitle, 3_000)
{:noreply, %{state | current_text: "", clear_timer: timer}}
diff --git a/lib/claper/transcriptions/voxtral_client.ex b/lib/claper/transcriptions/voxtral_client.ex
index 42805ee..4f79e69 100644
--- a/lib/claper/transcriptions/voxtral_client.ex
+++ b/lib/claper/transcriptions/voxtral_client.ex
@@ -50,6 +50,6 @@ defmodule Claper.Transcriptions.VoxtralClient do
defp maybe_add_language(multipart, lang), do: multipart ++ [{"language", lang}]
defp get_api_key do
- Application.get_env(:claper, :transcription)[:api_key]
+ Claper.Settings.get_transcription_api_key()
end
end
diff --git a/lib/claper_web/channels/audio_channel.ex b/lib/claper_web/channels/audio_channel.ex
index 7d77d10..df12682 100644
--- a/lib/claper_web/channels/audio_channel.ex
+++ b/lib/claper_web/channels/audio_channel.ex
@@ -1,5 +1,5 @@
defmodule ClaperWeb.AudioChannel do
- use Phoenix.Channel
+ use Phoenix.Channel, log_handle_in: false
require Logger
diff --git a/lib/claper_web/live/admin_live/event_live.ex b/lib/claper_web/live/admin_live/event_live.ex
index cc65890..71be839 100644
--- a/lib/claper_web/live/admin_live/event_live.ex
+++ b/lib/claper_web/live/admin_live/event_live.ex
@@ -43,9 +43,13 @@ defmodule ClaperWeb.AdminLive.EventLive do
end
defp apply_action(socket, :show, %{"id" => id}) do
+ event = Claper.Events.get_event!(id, [:user])
+ transcriptions = Admin.list_transcriptions_for_event(id)
+
socket
|> assign(:page_title, gettext("Event details"))
- |> assign(:event, Claper.Events.get_event!(id, [:user]))
+ |> assign(:event, event)
+ |> assign(:transcriptions, transcriptions)
end
@impl true
@@ -82,6 +86,43 @@ defmodule ClaperWeb.AdminLive.EventLive do
|> assign(:current_sort, current_sort)}
end
+ @impl true
+ def handle_event("delete_transcription", %{"id" => id}, socket) do
+ id = String.to_integer(id)
+
+ case Admin.delete_transcription(id) do
+ {:ok, _} ->
+ transcriptions = Admin.list_transcriptions_for_event(socket.assigns.event.id)
+
+ {:noreply,
+ socket
+ |> put_flash(:info, gettext("Transcription deleted"))
+ |> assign(:transcriptions, transcriptions)}
+
+ {:error, _} ->
+ {:noreply, put_flash(socket, :error, gettext("Could not delete transcription"))}
+ end
+ end
+
+ @impl true
+ def handle_event("export_transcriptions", _params, socket) do
+ event = socket.assigns.event
+ transcriptions = socket.assigns.transcriptions
+
+ content =
+ transcriptions
+ |> Enum.map(fn t ->
+ "[#{Calendar.strftime(t.inserted_at, "%Y-%m-%d %H:%M:%S")}] #{t.text}"
+ end)
+ |> Enum.join("\n")
+
+ {:noreply,
+ push_event(socket, "download_csv", %{
+ filename: "transcription-#{event.code}.txt",
+ content: content
+ })}
+ end
+
@impl true
def handle_info({:export_csv_requested, _params}, socket) do
filename = CSVExporter.generate_filename("events")
diff --git a/lib/claper_web/live/admin_live/event_live.html.heex b/lib/claper_web/live/admin_live/event_live.html.heex
index 079752f..4d0b231 100644
--- a/lib/claper_web/live/admin_live/event_live.html.heex
+++ b/lib/claper_web/live/admin_live/event_live.html.heex
@@ -247,7 +247,7 @@
<% :show -> %>
-
+
{gettext("Event details")}
@@ -317,6 +317,96 @@
+
+
+
+
+
+
+
{gettext("Transcriptions")}
+
+
+
+
+
+
+ | {gettext("Time")} |
+ {gettext("Text")} |
+
+ {gettext("Actions")}
+ |
+
+
+
+ <%= if Enum.empty?(@transcriptions) do %>
+
+ |
+ {gettext("No transcriptions found")}
+ |
+
+ <% else %>
+ <%= for t <- @transcriptions do %>
+
+ |
+ {Calendar.strftime(t.inserted_at, "%Y-%m-%d %H:%M:%S")}
+ |
+ {t.text} |
+
+
+
+
+ |
+
+ <% end %>
+ <% end %>
+
+
+
+
+
+
<% :new -> %>
diff --git a/lib/claper_web/live/admin_live/settings_live.ex b/lib/claper_web/live/admin_live/settings_live.ex
new file mode 100644
index 0000000..dbe082b
--- /dev/null
+++ b/lib/claper_web/live/admin_live/settings_live.ex
@@ -0,0 +1,95 @@
+defmodule ClaperWeb.AdminLive.SettingsLive do
+ use ClaperWeb, :live_view
+
+ alias Claper.Settings
+
+ @impl true
+ def mount(_params, session, socket) do
+ with %{"locale" => locale} <- session do
+ Gettext.put_locale(ClaperWeb.Gettext, locale)
+ end
+
+ socket =
+ socket
+ |> assign(:page_title, gettext("Settings"))
+ |> load_settings()
+
+ {:ok, socket}
+ end
+
+ @impl true
+ def handle_params(_params, _url, socket) do
+ {:noreply, socket}
+ end
+
+ @impl true
+ def handle_event("save", params, socket) do
+ # Save transcription enabled toggle
+ enabled = params["transcription_enabled"] == "true"
+ Settings.set("transcription_enabled", if(enabled, do: "true", else: "false"))
+
+ # Save API key only if provided (non-empty)
+ api_key = params["transcription_api_key"]
+
+ if api_key && api_key != "" do
+ Settings.set_encrypted("transcription_api_key", api_key)
+ end
+
+ # Save default language
+ language = params["transcription_default_language"]
+
+ if language == "" do
+ Settings.set("transcription_default_language", nil)
+ else
+ Settings.set("transcription_default_language", language)
+ end
+
+ {:noreply,
+ socket
+ |> put_flash(:info, gettext("Settings saved successfully"))
+ |> load_settings()}
+ end
+
+ @impl true
+ def handle_event("clear_api_key", _params, socket) do
+ Settings.clear("transcription_api_key")
+
+ {:noreply,
+ socket
+ |> put_flash(:info, gettext("API key cleared"))
+ |> load_settings()}
+ end
+
+ defp load_settings(socket) do
+ socket
+ |> assign(:transcription_enabled, Settings.get("transcription_enabled") == "true")
+ |> assign(:api_key_configured, Settings.get_transcription_api_key() != nil)
+ |> assign(:default_language, Settings.get("transcription_default_language"))
+ |> assign(:languages, languages())
+ end
+
+ defp languages do
+ [
+ {gettext("Auto-detect"), ""},
+ {gettext("English"), "en"},
+ {gettext("French"), "fr"},
+ {gettext("German"), "de"},
+ {gettext("Spanish"), "es"},
+ {gettext("Italian"), "it"},
+ {gettext("Portuguese"), "pt"},
+ {gettext("Dutch"), "nl"},
+ {gettext("Polish"), "pl"},
+ {gettext("Russian"), "ru"},
+ {gettext("Japanese"), "ja"},
+ {gettext("Chinese"), "zh"},
+ {gettext("Korean"), "ko"},
+ {gettext("Arabic"), "ar"},
+ {gettext("Hindi"), "hi"},
+ {gettext("Turkish"), "tr"},
+ {gettext("Swedish"), "sv"},
+ {gettext("Norwegian"), "no"},
+ {gettext("Danish"), "da"},
+ {gettext("Finnish"), "fi"}
+ ]
+ end
+end
diff --git a/lib/claper_web/live/admin_live/settings_live.html.heex b/lib/claper_web/live/admin_live/settings_live.html.heex
new file mode 100644
index 0000000..a178734
--- /dev/null
+++ b/lib/claper_web/live/admin_live/settings_live.html.heex
@@ -0,0 +1,90 @@
+
+
+
{gettext("Settings")}
+
+
+
+
+
+
{gettext("Transcription Settings")}
+
+ {gettext("Configure the Mistral API for real-time transcription features.")}
+
+
+
+
+
diff --git a/lib/claper_web/live/event_live/manage.ex b/lib/claper_web/live/event_live/manage.ex
index 1dedaf6..5245322 100644
--- a/lib/claper_web/live/event_live/manage.ex
+++ b/lib/claper_web/live/event_live/manage.ex
@@ -40,8 +40,10 @@ defmodule ClaperWeb.EventLive.Manage do
transcription_config =
Transcriptions.get_transcription_config(event.presentation_file.id)
- # Auto-start transcription worker if config says enabled
- if connected?(socket) && transcription_config && transcription_config.enabled do
+ transcription_globally_enabled = Claper.Settings.transcription_globally_enabled?()
+
+ # Auto-start transcription worker if config says enabled and globally enabled
+ if connected?(socket) && transcription_globally_enabled && transcription_config && transcription_config.enabled do
unless Claper.Transcriptions.TranscriptionWorker.running?(event.uuid) do
DynamicSupervisor.start_child(
Claper.TranscriptionSupervisor,
@@ -61,6 +63,7 @@ defmodule ClaperWeb.EventLive.Manage do
|> assign(:state, event.presentation_file.presentation_state)
|> assign(:audio_token, audio_token)
|> assign(:transcription_config, transcription_config)
+ |> assign(:transcription_globally_enabled, transcription_globally_enabled)
|> stream(:posts, posts)
|> stream(:questions, questions)
|> stream(:pinned_posts, pinned_posts)
@@ -669,25 +672,31 @@ defmodule ClaperWeb.EventLive.Manage do
end
def handle_event("transcription-set-active", %{"id" => id}, socket) do
- {:ok, config} = Transcriptions.set_transcription_enabled(id)
- event = socket.assigns.event
+ if Claper.Settings.transcription_globally_enabled?() do
+ {:ok, config} = Transcriptions.set_transcription_enabled(id)
+ event = socket.assigns.event
- DynamicSupervisor.start_child(
- Claper.TranscriptionSupervisor,
- {Claper.Transcriptions.TranscriptionWorker,
- {event.uuid, event.presentation_file.id}}
- )
+ DynamicSupervisor.start_child(
+ Claper.TranscriptionSupervisor,
+ {Claper.Transcriptions.TranscriptionWorker,
+ {event.uuid, event.presentation_file.id}}
+ )
- Phoenix.PubSub.broadcast(
- Claper.PubSub,
- "event:#{event.uuid}",
- {:transcription_config_updated, config}
- )
+ Phoenix.PubSub.broadcast(
+ Claper.PubSub,
+ "event:#{event.uuid}",
+ {:transcription_config_updated, config}
+ )
- {:noreply,
- socket
- |> assign(:transcription_config, config)
- |> push_event("transcription-state", %{enabled: true})}
+ {:noreply,
+ socket
+ |> assign(:transcription_config, config)
+ |> push_event("transcription-state", %{enabled: true})}
+ else
+ {:noreply,
+ socket
+ |> put_flash(:error, gettext("Transcription has been disabled by the administrator"))}
+ end
end
def handle_event("transcription-set-inactive", %{"id" => id}, socket) do
diff --git a/lib/claper_web/live/event_live/manage.html.heex b/lib/claper_web/live/event_live/manage.html.heex
index c91c4d6..b0f0d01 100644
--- a/lib/claper_web/live/event_live/manage.html.heex
+++ b/lib/claper_web/live/event_live/manage.html.heex
@@ -295,7 +295,7 @@
-
+
-
+
{gettext("Global interactions")}
diff --git a/lib/claper_web/live/event_live/presenter.html.heex b/lib/claper_web/live/event_live/presenter.html.heex
index b477cf8..3d6ef2e 100644
--- a/lib/claper_web/live/event_live/presenter.html.heex
+++ b/lib/claper_web/live/event_live/presenter.html.heex
@@ -15,6 +15,7 @@
data-max-page={@event.presentation_file.length}
data-hash={@event.presentation_file.hash}
data-current-page={@state.position}
+ data-embed-active={if @current_embed, do: "true", else: "false"}
>
<% end %>
-
-
-
+
+
diff --git a/lib/claper_web/router.ex b/lib/claper_web/router.ex
index 8d970d2..990a71d 100644
--- a/lib/claper_web/router.ex
+++ b/lib/claper_web/router.ex
@@ -200,6 +200,8 @@ defmodule ClaperWeb.Router do
live "/oidc_providers/new", OidcProviderLive, :new
live "/oidc_providers/:id/edit", OidcProviderLive, :edit
live "/oidc_providers/:id", OidcProviderLive, :show
+
+ live "/settings", SettingsLive, :index
end
end
end
diff --git a/lib/claper_web/templates/layout/admin.html.heex b/lib/claper_web/templates/layout/admin.html.heex
index 5385685..7cd5cf1 100644
--- a/lib/claper_web/templates/layout/admin.html.heex
+++ b/lib/claper_web/templates/layout/admin.html.heex
@@ -246,6 +246,28 @@
{gettext("OIDC Providers")}
--%>
+
+ <.link
+ patch={~p"/admin/settings"}
+ class={"#{if @conn.path_info == ["admin", "settings"], do: "active", else: ""}"}
+ >
+
+ {gettext("Settings")}
+
+
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index a57daf2..a4cdbd6 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -8,9 +8,12 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr "Einstellungen"
@@ -18,7 +21,7 @@ msgstr "Einstellungen"
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -559,6 +562,7 @@ msgid_plural "from %{count} peoples"
msgstr[0] "von %{count} Personen"
msgstr[1] "von %{count} Personen"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -708,7 +712,7 @@ msgstr "Formulareinsendungen der Teilnehmer werden hier angezeigt."
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr "Name"
@@ -734,6 +738,7 @@ msgstr "Aktuelles Formular anzeigen"
msgid "Submit"
msgstr "Abschicken"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1229,6 +1234,7 @@ msgstr "Veranstaltung existiert nicht"
msgid "Customize your account"
msgstr "Passen Sie Ihr Konto an"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1276,7 +1282,7 @@ msgid "Event manager"
msgstr "Veranstaltungsmanager"
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr "Dokumentation"
@@ -1572,12 +1578,12 @@ msgstr "Beenden"
msgid "More options"
msgstr "Weitere Optionen"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nein"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Ja"
@@ -2647,7 +2653,7 @@ msgstr "Anbieter"
msgid "Admin"
msgstr "Admin"
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr "Zurück zur App"
@@ -2693,6 +2699,7 @@ msgstr "(optional)"
msgid "Add real-time subtitles from your microphone."
msgstr "Echtzeit-Untertitel von Ihrem Mikrofon hinzufügen."
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2703,22 +2710,26 @@ msgstr "Arabisch"
msgid "Attendee only"
msgstr "Nur Teilnehmer"
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr "Automatische Erkennung"
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr "Chinesisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr "Dänisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2729,21 +2740,25 @@ msgstr "Niederländisch"
msgid "Edit transcription"
msgstr "Transkription bearbeiten"
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Englisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr "Finnisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr "Französisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2754,21 +2769,25 @@ msgstr "Deutsch"
msgid "Global interactions"
msgstr "Ihre Interaktionen"
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr "Hindi"
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr "Italienisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr "Japanisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2804,16 +2823,19 @@ msgstr "Keine Interaktion aktiviert"
msgid "No settings available for this interaction"
msgstr "Keine Einstellungen für diese Interaktion verfügbar"
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr "Norwegisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr "Polnisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2829,6 +2851,7 @@ msgstr "Präsentator und Teilnehmer"
msgid "Presenter only"
msgstr "Nur Präsentator"
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2839,11 +2862,13 @@ msgstr "Russisch"
msgid "Show subtitles on"
msgstr "Untertitel anzeigen auf"
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr "Spanisch"
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2860,7 +2885,130 @@ msgstr "Dadurch wird die Transkriptionskonfiguration gelöscht. Sind Sie sicher?
msgid "Transcription"
msgstr "Transkription"
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr "Türkisch"
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr "API-Schlüssel gelöscht"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr "API-Schlüssel ist konfiguriert"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr "Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr "Audio-Chunk-Dauer (ms)"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr "Löschen"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr "Konfigurieren Sie die Mistral-API für Echtzeit-Transkriptionsfunktionen."
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr "Datum"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr "Standardsprache"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr "Standardsprache für neue Transkriptionssitzungen. Kann pro Veranstaltung überschrieben werden."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr "Dauer der an die API gesendeten Audio-Chunks (Standard: 5000ms)."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr "Transkriptionsfunktion global aktivieren"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr "Geben Sie Ihren Mistral-API-Schlüssel ein"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr "Leer lassen, um den aktuellen Schlüssel zu behalten"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr "Mistral-API-Schlüssel"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr "Kein API-Schlüssel konfiguriert"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr "Neue Transkription"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr "Einstellungen speichern"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr "Nach Veranstaltungsname oder Text suchen..."
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr "Events erfolgreich exportiert"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr "Transkription bearbeiten"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr "Transkription"
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr "Die Transkription wurde vom Administrator deaktiviert"
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr "Transkription"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr "Wenn deaktiviert, können keine Veranstaltungen die Transkription nutzen."
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index 175ff45..6be65f0 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -10,9 +10,12 @@
msgid ""
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr ""
@@ -20,7 +23,7 @@ msgstr ""
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -561,6 +564,7 @@ msgid_plural "from %{count} peoples"
msgstr[0] ""
msgstr[1] ""
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -710,7 +714,7 @@ msgstr ""
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
@@ -736,6 +740,7 @@ msgstr ""
msgid "Submit"
msgstr ""
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1231,6 +1236,7 @@ msgstr ""
msgid "Customize your account"
msgstr ""
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1278,7 +1284,7 @@ msgid "Event manager"
msgstr ""
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr ""
@@ -1574,12 +1580,12 @@ msgstr ""
msgid "More options"
msgstr ""
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""
@@ -2649,7 +2655,7 @@ msgstr ""
msgid "Admin"
msgstr ""
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr ""
@@ -2695,6 +2701,7 @@ msgstr ""
msgid "Add real-time subtitles from your microphone."
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2705,22 +2712,26 @@ msgstr ""
msgid "Attendee only"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2731,21 +2742,25 @@ msgstr ""
msgid "Edit transcription"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2756,21 +2771,25 @@ msgstr ""
msgid "Global interactions"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2806,16 +2825,19 @@ msgstr ""
msgid "No settings available for this interaction"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2831,6 +2853,7 @@ msgstr ""
msgid "Presenter only"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2841,11 +2864,13 @@ msgstr ""
msgid "Show subtitles on"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2862,7 +2887,130 @@ msgstr ""
msgid "Transcription"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format
+msgid "Are you sure you want to clear the API key?"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format
+msgid "No transcriptions found."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format
+msgid "Settings saved successfully"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format
+msgid "Total transcriptions"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format
+msgid "Transcription Settings"
+msgstr ""
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format
+msgid "Transcriptions"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index 4c8d374..a6dd72d 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -8,9 +8,12 @@ msgstr ""
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr ""
@@ -18,7 +21,7 @@ msgstr ""
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -559,6 +562,7 @@ msgid_plural "from %{count} peoples"
msgstr[0] ""
msgstr[1] ""
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -708,7 +712,7 @@ msgstr ""
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr ""
@@ -734,6 +738,7 @@ msgstr ""
msgid "Submit"
msgstr ""
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1229,6 +1234,7 @@ msgstr ""
msgid "Customize your account"
msgstr ""
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1276,7 +1282,7 @@ msgid "Event manager"
msgstr ""
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr ""
@@ -1572,12 +1578,12 @@ msgstr ""
msgid "More options"
msgstr ""
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr ""
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr ""
@@ -2647,7 +2653,7 @@ msgstr ""
msgid "Admin"
msgstr ""
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr ""
@@ -2693,6 +2699,7 @@ msgstr ""
msgid "Add real-time subtitles from your microphone."
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2703,22 +2710,26 @@ msgstr ""
msgid "Attendee only"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2729,21 +2740,25 @@ msgstr ""
msgid "Edit transcription"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format, fuzzy
msgid "Finnish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2754,21 +2769,25 @@ msgstr ""
msgid "Global interactions"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2804,16 +2823,19 @@ msgstr ""
msgid "No settings available for this interaction"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format, fuzzy
msgid "Polish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2829,6 +2851,7 @@ msgstr ""
msgid "Presenter only"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2839,11 +2862,13 @@ msgstr ""
msgid "Show subtitles on"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2860,7 +2885,130 @@ msgstr ""
msgid "Transcription"
msgstr ""
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr ""
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr ""
diff --git a/priv/gettext/es/LC_MESSAGES/default.po b/priv/gettext/es/LC_MESSAGES/default.po
index 33be1e6..dfd6962 100644
--- a/priv/gettext/es/LC_MESSAGES/default.po
+++ b/priv/gettext/es/LC_MESSAGES/default.po
@@ -8,9 +8,12 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr "Configuración"
@@ -18,7 +21,7 @@ msgstr "Configuración"
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -559,6 +562,7 @@ msgid_plural "from %{count} peoples"
msgstr[0] "de %{count} persona"
msgstr[1] "de %{count} personas"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -708,7 +712,7 @@ msgstr "Los envíos de formulario de los asistentes aparecerán aquí."
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr "Nombre"
@@ -734,6 +738,7 @@ msgstr "Ver formulario actual"
msgid "Submit"
msgstr "Enviar"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1229,6 +1234,7 @@ msgstr "El evento no existe"
msgid "Customize your account"
msgstr "Personaliza tu cuenta"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1276,7 +1282,7 @@ msgid "Event manager"
msgstr "Gestor de evento"
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr "Documentación"
@@ -1572,12 +1578,12 @@ msgstr "Finalizar"
msgid "More options"
msgstr "Más opciones"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr "No"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Sí"
@@ -2647,7 +2653,7 @@ msgstr "Proveedor"
msgid "Admin"
msgstr "Admin"
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr "Volver a la aplicación"
@@ -2693,6 +2699,7 @@ msgstr "(opcional)"
msgid "Add real-time subtitles from your microphone."
msgstr "Añade subtítulos en tiempo real desde tu micrófono."
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2703,22 +2710,26 @@ msgstr "Árabe"
msgid "Attendee only"
msgstr "Solo asistente"
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr "Detección automática"
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr "Chino"
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr "Danés"
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2729,21 +2740,25 @@ msgstr "Neerlandés"
msgid "Edit transcription"
msgstr "Editar transcripción"
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Inglés"
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr "Finlandés"
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr "Francés"
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2754,21 +2769,25 @@ msgstr "Alemán"
msgid "Global interactions"
msgstr "Tus interacciones"
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr "Hindi"
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr "Italiano"
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr "Japonés"
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2804,16 +2823,19 @@ msgstr "Ninguna interacción activada"
msgid "No settings available for this interaction"
msgstr "No hay ajustes disponibles para esta interacción"
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr "Noruego"
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr "Polaco"
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2829,6 +2851,7 @@ msgstr "Presentador y asistente"
msgid "Presenter only"
msgstr "Solo presentador"
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2839,11 +2862,13 @@ msgstr "Ruso"
msgid "Show subtitles on"
msgstr "Mostrar subtítulos en"
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr "Español"
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2860,7 +2885,130 @@ msgstr "Esto eliminará la configuración de transcripción, ¿estás seguro?"
msgid "Transcription"
msgstr "Transcripción"
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr "Turco"
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr "Clave API eliminada"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr "Clave API configurada"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr "¿Estás seguro de que quieres desvincular esta cuenta?"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr "Duración del fragmento de audio (ms)"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr "Eliminar"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr "Configure la API de Mistral para las funciones de transcripción en tiempo real."
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr "Fecha"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr "Idioma predeterminado"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr "Idioma predeterminado para nuevas sesiones de transcripción. Se puede cambiar por evento."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr "Duración de los fragmentos de audio enviados a la API (predeterminado: 5000ms)."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr "Activar la función de transcripción globalmente"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr "Ingrese su clave API de Mistral"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr "Dejar en blanco para mantener la clave actual"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr "Clave API de Mistral"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr "No hay clave API configurada"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr "Nueva transcripción"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr "Guardar configuración"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr "Buscar por nombre de evento o texto..."
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr "Eventos exportados exitosamente"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr "Editar transcripción"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr "Transcripción"
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr "La transcripción ha sido desactivada por el administrador"
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr "Transcripción"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr "Cuando está desactivado, ningún evento puede usar la transcripción."
diff --git a/priv/gettext/fr/LC_MESSAGES/default.po b/priv/gettext/fr/LC_MESSAGES/default.po
index b41cd23..71f3fa8 100644
--- a/priv/gettext/fr/LC_MESSAGES/default.po
+++ b/priv/gettext/fr/LC_MESSAGES/default.po
@@ -8,9 +8,12 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr "Paramètres"
@@ -18,7 +21,7 @@ msgstr "Paramètres"
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -561,6 +564,7 @@ msgstr[0] "de %{count} personne"
msgstr[1] "de %{count} personnes"
msgstr[2] "de %{count} personnes"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -712,7 +716,7 @@ msgstr "Les formulaires soumis par les participants apparaîtront ici."
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr "Nom"
@@ -738,6 +742,7 @@ msgstr "Voir le formulaire actuel"
msgid "Submit"
msgstr "Soumettre"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1233,6 +1238,7 @@ msgstr "L'événement n'existe pas"
msgid "Customize your account"
msgstr "Personnalisez votre compte"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1280,7 +1286,7 @@ msgid "Event manager"
msgstr "Gestionnaire d'événement"
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr "Documentation"
@@ -1576,12 +1582,12 @@ msgstr "Terminer"
msgid "More options"
msgstr "Plus d'options"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Non"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Oui"
@@ -2651,7 +2657,7 @@ msgstr "Détails du fournisseur"
msgid "Admin"
msgstr "Admin"
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr "Retour à l'app"
@@ -2697,6 +2703,7 @@ msgstr "(facultatif)"
msgid "Add real-time subtitles from your microphone."
msgstr "Ajoutez des sous-titres en temps réel depuis votre microphone."
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2707,22 +2714,26 @@ msgstr "Arabe"
msgid "Attendee only"
msgstr "Participant uniquement"
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr "Détection automatique"
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr "Chinois"
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr "Danois"
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2733,21 +2744,25 @@ msgstr "Néerlandais"
msgid "Edit transcription"
msgstr "Modifier la transcription"
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Anglais"
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr "Finnois"
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr "Français"
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2758,21 +2773,25 @@ msgstr "Allemand"
msgid "Global interactions"
msgstr "Vos interactions"
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr "Hindi"
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr "Italien"
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr "Japonais"
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2808,16 +2827,19 @@ msgstr "Aucune interaction activée"
msgid "No settings available for this interaction"
msgstr "Aucun paramètre disponible pour cette interaction"
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr "Norvégien"
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr "Polonais"
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2833,6 +2855,7 @@ msgstr "Présentateur et participant"
msgid "Presenter only"
msgstr "Présentateur uniquement"
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2843,11 +2866,13 @@ msgstr "Russe"
msgid "Show subtitles on"
msgstr "Afficher les sous-titres sur"
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr "Espagnol"
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2864,7 +2889,130 @@ msgstr "Cela supprimera la configuration de transcription, êtes-vous sûr ?"
msgid "Transcription"
msgstr "Transcription"
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr "Turc"
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr "Êtes-vous sûr de vouloir supprimer cet utilisateur ?"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr "Nouvelle transcription"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr ""
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr "Événements exportés avec succès"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr "Modifier la transcription"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr "Transcription"
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr ""
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr "Transcription"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr ""
diff --git a/priv/gettext/hu/LC_MESSAGES/default.po b/priv/gettext/hu/LC_MESSAGES/default.po
index 676bc7b..2122853 100644
--- a/priv/gettext/hu/LC_MESSAGES/default.po
+++ b/priv/gettext/hu/LC_MESSAGES/default.po
@@ -8,9 +8,12 @@ msgstr ""
"Language: hu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr "Beállítások"
@@ -18,7 +21,7 @@ msgstr "Beállítások"
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -559,6 +562,7 @@ msgid_plural "from %{count} peoples"
msgstr[0] "%{count} embertől"
msgstr[1] ""
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -708,7 +712,7 @@ msgstr "A résztvevők által beküldött űrlapok itt fognak megjelenni."
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr "Név"
@@ -734,6 +738,7 @@ msgstr "Jelenlegi űrlap megtekintése"
msgid "Submit"
msgstr "Küldés"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1229,6 +1234,7 @@ msgstr "Az esemény nem található"
msgid "Customize your account"
msgstr "Fiók testreszabása"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1276,7 +1282,7 @@ msgid "Event manager"
msgstr "Eseménykezelő"
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr "Dokumentáció"
@@ -1572,12 +1578,12 @@ msgstr "Befejezés"
msgid "More options"
msgstr "További lehetőségek"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nem"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Igen"
@@ -2647,7 +2653,7 @@ msgstr "Szolgáltató"
msgid "Admin"
msgstr ""
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr ""
@@ -2693,6 +2699,7 @@ msgstr "(opcionális)"
msgid "Add real-time subtitles from your microphone."
msgstr "Valós idejű feliratok hozzáadása a mikrofonjáról."
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2703,22 +2710,26 @@ msgstr "Arab"
msgid "Attendee only"
msgstr "Csak résztvevő"
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr "Automatikus felismerés"
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr "Kínai"
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr "Dán"
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2729,21 +2740,25 @@ msgstr "Holland"
msgid "Edit transcription"
msgstr "Átírás szerkesztése"
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Angol"
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr "Finn"
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr "Francia"
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2754,21 +2769,25 @@ msgstr "Német"
msgid "Global interactions"
msgstr "Interakciók"
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr "Hindi"
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr "Olasz"
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr "Japán"
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2804,16 +2823,19 @@ msgstr "Nincs interakció engedélyezve"
msgid "No settings available for this interaction"
msgstr "Nem érhetők el beállítások ehhez az interakcióhoz"
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr "Norvég"
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr "Lengyel"
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2829,6 +2851,7 @@ msgstr "Előadó és résztvevő"
msgid "Presenter only"
msgstr "Csak előadó"
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2839,11 +2862,13 @@ msgstr "Orosz"
msgid "Show subtitles on"
msgstr "Feliratok megjelenítése"
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr "Spanyol"
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2860,7 +2885,130 @@ msgstr "Ezzel törli az átírás konfigurációját, biztosan folytatja?"
msgid "Transcription"
msgstr "Átírás"
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr "Török"
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr "API kulcs törölve"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr "API kulcs konfigurálva"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr "Biztos benne hogy leválasztja ezt a fiókot?"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr "Hangfájl darab időtartama (ms)"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr "Törlés"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr "Konfigurálja a Mistral API-t a valós idejű átírási funkciókhoz."
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr "Dátum"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr "Alapértelmezett nyelv"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr "Alapértelmezett nyelv az új átírási munkamenetekhez. Eseményenként felülírható."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr "Az API-nak küldött hangdarabok időtartama (alapértelmezett: 5000ms)."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr "Átírási funkció globális engedélyezése"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr "Adja meg a Mistral API kulcsát"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr "Hagyja üresen az aktuális kulcs megtartásához"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr "Mistral API kulcs"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr "Nincs API kulcs konfigurálva"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr "Új átírás"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr "Beállítások mentése"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr "Keresés eseménynév vagy szöveg alapján..."
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr "Beállítások sikeresen mentve"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr "Átírás szerkesztése"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr "Átírás"
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr "Az átírást az adminisztrátor letiltotta"
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr "Átírás"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr "Ha letiltva, egyetlen esemény sem használhatja az átírást."
diff --git a/priv/gettext/it/LC_MESSAGES/default.po b/priv/gettext/it/LC_MESSAGES/default.po
index f011778..fbcac7a 100644
--- a/priv/gettext/it/LC_MESSAGES/default.po
+++ b/priv/gettext/it/LC_MESSAGES/default.po
@@ -9,9 +9,12 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.0.1\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr "Impostazioni"
@@ -19,7 +22,7 @@ msgstr "Impostazioni"
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -560,6 +563,7 @@ msgid_plural "from %{count} peoples"
msgstr[0] "da %{count} persona"
msgstr[1] "da %{count} persone"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -709,7 +713,7 @@ msgstr "I moduli compilati dai partecipanti appariranno qui."
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr "Nome"
@@ -735,6 +739,7 @@ msgstr "Vedi il modulo corrente"
msgid "Submit"
msgstr "Invia"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1230,6 +1235,7 @@ msgstr "L'evento non esiste"
msgid "Customize your account"
msgstr "Personalizza la tua utenza"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1277,7 +1283,7 @@ msgid "Event manager"
msgstr "Responsabile eventi"
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr "Documentazione"
@@ -1573,12 +1579,12 @@ msgstr "Fine"
msgid "More options"
msgstr "Altre opzioni"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr "No"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Sì"
@@ -2648,7 +2654,7 @@ msgstr "Dettagli provider"
msgid "Admin"
msgstr "Admin"
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr "Torna all'app"
@@ -2694,6 +2700,7 @@ msgstr "(facoltativo)"
msgid "Add real-time subtitles from your microphone."
msgstr "Aggiungi sottotitoli in tempo reale dal tuo microfono."
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2704,22 +2711,26 @@ msgstr "Arabo"
msgid "Attendee only"
msgstr "Solo partecipante"
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr "Rilevamento automatico"
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr "Cinese"
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr "Danese"
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2730,21 +2741,25 @@ msgstr "Olandese"
msgid "Edit transcription"
msgstr "Modifica trascrizione"
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Inglese"
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr "Finlandese"
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr "Francese"
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2755,21 +2770,25 @@ msgstr "Tedesco"
msgid "Global interactions"
msgstr "Le tue interazioni"
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr "Hindi"
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr "Italiano"
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr "Giapponese"
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2805,16 +2824,19 @@ msgstr "Nessuna interazione abilitata"
msgid "No settings available for this interaction"
msgstr "Nessuna impostazione disponibile per questa interazione"
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr "Norvegese"
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr "Polacco"
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2830,6 +2852,7 @@ msgstr "Presentatore e partecipante"
msgid "Presenter only"
msgstr "Solo presentatore"
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2840,11 +2863,13 @@ msgstr "Russo"
msgid "Show subtitles on"
msgstr "Mostra sottotitoli su"
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr "Spagnolo"
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2861,7 +2886,130 @@ msgstr "Questo eliminerà la configurazione della trascrizione, sei sicuro?"
msgid "Transcription"
msgstr "Trascrizione"
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr "Turco"
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr "Chiave API cancellata"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr "Chiave API configurata"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr "Sei sicuro di voler eliminare questo utente?"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr "Durata del frammento audio (ms)"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr "Cancella"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr "Configura l'API Mistral per le funzionalità di trascrizione in tempo reale."
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr "Data"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr "Lingua predefinita"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr "Lingua predefinita per le nuove sessioni di trascrizione. Può essere modificata per evento."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr "Durata dei frammenti audio inviati all'API (predefinito: 5000ms)."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr "Abilita la funzionalità di trascrizione globalmente"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr "Inserisci la tua chiave API Mistral"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr "Lascia vuoto per mantenere la chiave attuale"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr "Chiave API Mistral"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr "Nessuna chiave API configurata"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr "Nuova trascrizione"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr "Salva impostazioni"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr "Cerca per nome evento o testo..."
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr "Eventi esportati con successo"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr "Modifica trascrizione"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr "Trascrizione"
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr "La trascrizione è stata disabilitata dall'amministratore"
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr "Trascrizione"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr "Quando disabilitato, nessun evento può utilizzare la trascrizione."
diff --git a/priv/gettext/lv/LC_MESSAGES/default.po b/priv/gettext/lv/LC_MESSAGES/default.po
index 850eedd..5cd0d14 100644
--- a/priv/gettext/lv/LC_MESSAGES/default.po
+++ b/priv/gettext/lv/LC_MESSAGES/default.po
@@ -8,9 +8,12 @@ msgstr ""
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==0 || n%100>=11 && n%100<=19) ? 0 : ((n%10==1 && n%100 != 11) ? 1 : 2);\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr "Iestatījumi"
@@ -18,7 +21,7 @@ msgstr "Iestatījumi"
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -561,6 +564,7 @@ msgstr[0] "no %{count} cilvēku"
msgstr[1] "no %{count} cilvēka"
msgstr[2] "no %{count} cilvēku"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -712,7 +716,7 @@ msgstr "Dalībnieku iesniegtās veidlapas parādīsies šeit."
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr "Nosaukums"
@@ -738,6 +742,7 @@ msgstr "Skatīt pašreizējo veidlapu"
msgid "Submit"
msgstr "Iesniegt"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1233,6 +1238,7 @@ msgstr "Notikums neeksistē"
msgid "Customize your account"
msgstr "Pielāgojiet savu kontu"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1280,7 +1286,7 @@ msgid "Event manager"
msgstr "Pasākumu vadītājs"
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr "Dokumentācija"
@@ -1576,12 +1582,12 @@ msgstr "Izbeigt"
msgid "More options"
msgstr "Vairāk iespēju"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nē"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Jā"
@@ -2651,7 +2657,7 @@ msgstr "Nodrošinātājs"
msgid "Admin"
msgstr ""
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr ""
@@ -2697,6 +2703,7 @@ msgstr "(pēc izvēles)"
msgid "Add real-time subtitles from your microphone."
msgstr "Pievienojiet reāllaika subtitrus no sava mikrofona."
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2707,22 +2714,26 @@ msgstr "Arābu"
msgid "Attendee only"
msgstr "Tikai dalībnieks"
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr "Automātiskā noteikšana"
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr "Ķīniešu"
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr "Dāņu"
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2733,21 +2744,25 @@ msgstr "Holandiešu"
msgid "Edit transcription"
msgstr "Rediģēt transkripciju"
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Angļu"
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr "Somu"
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr "Franču"
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2758,21 +2773,25 @@ msgstr "Vācu"
msgid "Global interactions"
msgstr "Jūsu mijiedarbība"
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr "Hindi"
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr "Itāļu"
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr "Japāņu"
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2808,16 +2827,19 @@ msgstr "Nav iespējota neviena interakcija"
msgid "No settings available for this interaction"
msgstr "Šai interakcijai nav pieejami iestatījumi"
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr "Norvēģu"
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr "Poļu"
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2833,6 +2855,7 @@ msgstr "Prezentētājs un dalībnieks"
msgid "Presenter only"
msgstr "Tikai prezentētājs"
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2843,11 +2866,13 @@ msgstr "Krievu"
msgid "Show subtitles on"
msgstr "Rādīt subtitrus"
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr "Spāņu"
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2864,7 +2889,130 @@ msgstr "Tiks dzēsta transkripcijas konfigurācija, vai esat pārliecināts?"
msgid "Transcription"
msgstr "Transkripcija"
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr "Turku"
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr "API atslēga dzēsta"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr "API atslēga ir konfigurēta"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr "Vai esat pārliecināti, ka vēlaties atcelt šī konta sasaisti?"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr "Audio fragmenta ilgums (ms)"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr "Dzēst"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr "Konfigurējiet Mistral API reāllaika transkripcijas funkcijām."
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr "Datums"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr "Noklusējuma valoda"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr "Noklusējuma valoda jaunām transkripcijas sesijām. Var tikt mainīta katram pasākumam."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr "API nosūtīto audio fragmentu ilgums (noklusējums: 5000ms)."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr "Iespējot transkripcijas funkciju globāli"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr "Ievadiet savu Mistral API atslēgu"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr "Atstājiet tukšu, lai saglabātu pašreizējo atslēgu"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr "Mistral API atslēga"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr "Nav konfigurēta API atslēga"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr "Jauna transkripcija"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr "Saglabāt iestatījumus"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr "Meklēt pēc pasākuma nosaukuma vai teksta..."
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr "Iestatījumi veiksmīgi saglabāti"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr "Rediģēt transkripciju"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr "Transkripcija"
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr "Transkripciju ir atspējojis administrators"
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr "Transkripcija"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr "Ja atspējots, neviens pasākums nevar izmantot transkripciju."
diff --git a/priv/gettext/nl/LC_MESSAGES/default.po b/priv/gettext/nl/LC_MESSAGES/default.po
index 2be6718..ae5089e 100644
--- a/priv/gettext/nl/LC_MESSAGES/default.po
+++ b/priv/gettext/nl/LC_MESSAGES/default.po
@@ -8,9 +8,12 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: lib/claper_web/live/admin_live/settings_live.ex:14
+#: lib/claper_web/live/admin_live/settings_live.html.heex:3
#: lib/claper_web/live/event_live/manage.html.heex:1573
#: lib/claper_web/live/event_live/manage.html.heex:1579
#: lib/claper_web/live/user_settings_live/show.ex:77
+#: lib/claper_web/templates/layout/admin.html.heex:284
#, elixir-autogen, elixir-format
msgid "Settings"
msgstr "Instellingen"
@@ -18,7 +21,7 @@ msgstr "Instellingen"
#: lib/claper_web/live/admin_live/user_live.html.heex:74
#: lib/claper_web/live/admin_live/user_live.html.heex:254
#: lib/claper_web/live/admin_live/user_live/form_component.ex:18
-#: lib/claper_web/live/event_live/manage.ex:936
+#: lib/claper_web/live/event_live/manage.ex:945
#: lib/claper_web/live/form_live/form_component.html.heex:32
#: lib/claper_web/live/user_settings_live/show.html.heex:34
#: lib/claper_web/templates/user_registration/new.html.heex:29
@@ -559,6 +562,7 @@ msgid_plural "from %{count} peoples"
msgstr[0] "van %{count} mensen"
msgstr[1] "van %{count} mensen"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:34
#: lib/claper_web/live/stat_live/index.html.heex:15
#, elixir-autogen, elixir-format
msgid "Event"
@@ -708,7 +712,7 @@ msgstr "Formulierinzendingen van deelnemers worden hier weergegeven."
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:74
#: lib/claper_web/live/admin_live/oidc_provider_live.html.heex:254
#: lib/claper_web/live/admin_live/oidc_provider_live/form_component.ex:24
-#: lib/claper_web/live/event_live/manage.ex:935
+#: lib/claper_web/live/event_live/manage.ex:944
#, elixir-autogen, elixir-format
msgid "Name"
msgstr "Naam"
@@ -734,6 +738,7 @@ msgstr "Bekijk huidig formulier"
msgid "Submit"
msgstr "Indienen"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:35
#: lib/claper_web/live/form_live/form_component.html.heex:32
#, elixir-autogen, elixir-format
msgid "Text"
@@ -1229,6 +1234,7 @@ msgstr "Evenement bestaat niet"
msgid "Customize your account"
msgstr "Pas je account aan"
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:36
#: lib/claper_web/live/transcription_live/form_component.html.heex:14
#: lib/claper_web/live/user_settings_live/show.html.heex:278
#, elixir-autogen, elixir-format
@@ -1276,7 +1282,7 @@ msgid "Event manager"
msgstr "Evenementmanager"
#: lib/claper_web/templates/layout/_user_menu.html.heex:19
-#: lib/claper_web/templates/layout/admin.html.heex:262
+#: lib/claper_web/templates/layout/admin.html.heex:300
#, elixir-autogen, elixir-format
msgid "Documentation"
msgstr "Documentatie"
@@ -1572,12 +1578,12 @@ msgstr "Beëindigen"
msgid "More options"
msgstr "Meer opties"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "No"
msgstr "Nee"
-#: lib/claper_web/live/event_live/manage.ex:916
+#: lib/claper_web/live/event_live/manage.ex:925
#, elixir-autogen, elixir-format
msgid "Yes"
msgstr "Ja"
@@ -2647,7 +2653,7 @@ msgstr "Aanbieder details"
msgid "Admin"
msgstr "Admin"
-#: lib/claper_web/templates/layout/admin.html.heex:285
+#: lib/claper_web/templates/layout/admin.html.heex:323
#, elixir-autogen, elixir-format
msgid "Back to app"
msgstr "Terug naar app"
@@ -2693,6 +2699,7 @@ msgstr "(optioneel)"
msgid "Add real-time subtitles from your microphone."
msgstr "Voeg realtime ondertiteling toe vanaf uw microfoon."
+#: lib/claper_web/live/admin_live/settings_live.ex:97
#: lib/claper_web/live/transcription_live/form_component.ex:21
#, elixir-autogen, elixir-format
msgid "Arabic"
@@ -2703,22 +2710,26 @@ msgstr "Arabisch"
msgid "Attendee only"
msgstr "Alleen deelnemer"
+#: lib/claper_web/live/admin_live/settings_live.ex:84
#: lib/claper_web/live/event_live/manage.html.heex:1226
#: lib/claper_web/live/transcription_live/form_component.ex:8
#, elixir-autogen, elixir-format
msgid "Auto-detect"
msgstr "Automatisch detecteren"
+#: lib/claper_web/live/admin_live/settings_live.ex:95
#: lib/claper_web/live/transcription_live/form_component.ex:19
#, elixir-autogen, elixir-format
msgid "Chinese"
msgstr "Chinees"
+#: lib/claper_web/live/admin_live/settings_live.ex:102
#: lib/claper_web/live/transcription_live/form_component.ex:26
#, elixir-autogen, elixir-format
msgid "Danish"
msgstr "Deens"
+#: lib/claper_web/live/admin_live/settings_live.ex:91
#: lib/claper_web/live/transcription_live/form_component.ex:15
#, elixir-autogen, elixir-format
msgid "Dutch"
@@ -2729,21 +2740,25 @@ msgstr "Nederlands"
msgid "Edit transcription"
msgstr "Transcriptie bewerken"
+#: lib/claper_web/live/admin_live/settings_live.ex:85
#: lib/claper_web/live/transcription_live/form_component.ex:9
#, elixir-autogen, elixir-format
msgid "English"
msgstr "Engels"
+#: lib/claper_web/live/admin_live/settings_live.ex:103
#: lib/claper_web/live/transcription_live/form_component.ex:27
#, elixir-autogen, elixir-format
msgid "Finnish"
msgstr "Fins"
+#: lib/claper_web/live/admin_live/settings_live.ex:86
#: lib/claper_web/live/transcription_live/form_component.ex:10
#, elixir-autogen, elixir-format
msgid "French"
msgstr "Frans"
+#: lib/claper_web/live/admin_live/settings_live.ex:87
#: lib/claper_web/live/transcription_live/form_component.ex:11
#, elixir-autogen, elixir-format
msgid "German"
@@ -2754,21 +2769,25 @@ msgstr "Duits"
msgid "Global interactions"
msgstr "Uw interacties"
+#: lib/claper_web/live/admin_live/settings_live.ex:98
#: lib/claper_web/live/transcription_live/form_component.ex:22
#, elixir-autogen, elixir-format
msgid "Hindi"
msgstr "Hindi"
+#: lib/claper_web/live/admin_live/settings_live.ex:89
#: lib/claper_web/live/transcription_live/form_component.ex:13
#, elixir-autogen, elixir-format
msgid "Italian"
msgstr "Italiaans"
+#: lib/claper_web/live/admin_live/settings_live.ex:94
#: lib/claper_web/live/transcription_live/form_component.ex:18
#, elixir-autogen, elixir-format
msgid "Japanese"
msgstr "Japans"
+#: lib/claper_web/live/admin_live/settings_live.ex:96
#: lib/claper_web/live/transcription_live/form_component.ex:20
#, elixir-autogen, elixir-format
msgid "Korean"
@@ -2804,16 +2823,19 @@ msgstr "Geen interactie ingeschakeld"
msgid "No settings available for this interaction"
msgstr "Geen instellingen beschikbaar voor deze interactie"
+#: lib/claper_web/live/admin_live/settings_live.ex:101
#: lib/claper_web/live/transcription_live/form_component.ex:25
#, elixir-autogen, elixir-format
msgid "Norwegian"
msgstr "Noors"
+#: lib/claper_web/live/admin_live/settings_live.ex:92
#: lib/claper_web/live/transcription_live/form_component.ex:16
#, elixir-autogen, elixir-format
msgid "Polish"
msgstr "Pools"
+#: lib/claper_web/live/admin_live/settings_live.ex:90
#: lib/claper_web/live/transcription_live/form_component.ex:14
#, elixir-autogen, elixir-format
msgid "Portuguese"
@@ -2829,6 +2851,7 @@ msgstr "Presentator en deelnemer"
msgid "Presenter only"
msgstr "Alleen presentator"
+#: lib/claper_web/live/admin_live/settings_live.ex:93
#: lib/claper_web/live/transcription_live/form_component.ex:17
#, elixir-autogen, elixir-format
msgid "Russian"
@@ -2839,11 +2862,13 @@ msgstr "Russisch"
msgid "Show subtitles on"
msgstr "Ondertiteling tonen op"
+#: lib/claper_web/live/admin_live/settings_live.ex:88
#: lib/claper_web/live/transcription_live/form_component.ex:12
#, elixir-autogen, elixir-format
msgid "Spanish"
msgstr "Spaans"
+#: lib/claper_web/live/admin_live/settings_live.ex:100
#: lib/claper_web/live/transcription_live/form_component.ex:24
#, elixir-autogen, elixir-format
msgid "Swedish"
@@ -2860,7 +2885,130 @@ msgstr "Hiermee wordt de transcriptieconfiguratie verwijderd. Weet u het zeker?"
msgid "Transcription"
msgstr "Transcriptie"
+#: lib/claper_web/live/admin_live/settings_live.ex:99
#: lib/claper_web/live/transcription_live/form_component.ex:23
#, elixir-autogen, elixir-format
msgid "Turkish"
msgstr "Turks"
+
+#: lib/claper_web/live/admin_live/settings_live.ex:69
+#, elixir-autogen, elixir-format
+msgid "API key cleared"
+msgstr "API-sleutel gewist"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "API key is configured"
+msgstr "API-sleutel is geconfigureerd"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:55
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Are you sure you want to clear the API key?"
+msgstr "Weet u zeker dat u deze gebruiker wilt verwijderen?"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:85
+#, elixir-autogen, elixir-format
+msgid "Audio Chunk Duration (ms)"
+msgstr "Duur audiofragment (ms)"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:57
+#, elixir-autogen, elixir-format
+msgid "Clear"
+msgstr "Wissen"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:11
+#, elixir-autogen, elixir-format
+msgid "Configure the Mistral API for real-time transcription features."
+msgstr "Configureer de Mistral API voor realtime transcriptiefuncties."
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:37
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr "Datum"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:70
+#, elixir-autogen, elixir-format
+msgid "Default Language"
+msgstr "Standaardtaal"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:78
+#, elixir-autogen, elixir-format
+msgid "Default language for new transcription sessions. Can be overridden per event."
+msgstr "Standaardtaal voor nieuwe transcriptiesessies. Kan per evenement worden overschreven."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:97
+#, elixir-autogen, elixir-format
+msgid "Duration of audio chunks sent to the API (default: 5000ms)."
+msgstr "Duur van audiofragmenten verzonden naar de API (standaard: 5000ms)."
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:31
+#, elixir-autogen, elixir-format
+msgid "Enable transcription feature globally"
+msgstr "Transcriptiefunctie globaal inschakelen"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Enter your Mistral API key"
+msgstr "Voer uw Mistral API-sleutel in"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:46
+#, elixir-autogen, elixir-format
+msgid "Leave blank to keep current key"
+msgstr "Laat leeg om de huidige sleutel te behouden"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:40
+#, elixir-autogen, elixir-format
+msgid "Mistral API Key"
+msgstr "Mistral API-sleutel"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:62
+#, elixir-autogen, elixir-format
+msgid "No API key configured"
+msgstr "Geen API-sleutel geconfigureerd"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:44
+#, elixir-autogen, elixir-format, fuzzy
+msgid "No transcriptions found."
+msgstr "Nieuwe transcriptie"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:104
+#, elixir-autogen, elixir-format
+msgid "Save settings"
+msgstr "Instellingen opslaan"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:18
+#, elixir-autogen, elixir-format
+msgid "Search by event name or text..."
+msgstr "Zoeken op evenementnaam of tekst..."
+
+#: lib/claper_web/live/admin_live/settings_live.ex:56
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Settings saved successfully"
+msgstr "Evenementen succesvol geëxporteerd"
+
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:5
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Total transcriptions"
+msgstr "Transcriptie bewerken"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:9
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcription Settings"
+msgstr "Transcriptie"
+
+#: lib/claper_web/live/event_live/manage.ex:698
+#, elixir-autogen, elixir-format
+msgid "Transcription has been disabled by the administrator"
+msgstr "Transcriptie is uitgeschakeld door de beheerder"
+
+#: lib/claper_web/live/admin_live/transcription_live.ex:16
+#: lib/claper_web/live/admin_live/transcription_live.html.heex:3
+#: lib/claper_web/templates/layout/admin.html.heex:262
+#, elixir-autogen, elixir-format, fuzzy
+msgid "Transcriptions"
+msgstr "Transcriptie"
+
+#: lib/claper_web/live/admin_live/settings_live.html.heex:32
+#, elixir-autogen, elixir-format
+msgid "When disabled, no events can use transcription."
+msgstr "Wanneer uitgeschakeld, kunnen geen evenementen transcriptie gebruiken."
diff --git a/priv/repo/migrations/20260220140000_create_global_configs.exs b/priv/repo/migrations/20260220140000_create_global_configs.exs
new file mode 100644
index 0000000..8e6adee
--- /dev/null
+++ b/priv/repo/migrations/20260220140000_create_global_configs.exs
@@ -0,0 +1,15 @@
+defmodule Claper.Repo.Migrations.CreateGlobalConfigs do
+ use Ecto.Migration
+
+ def change do
+ create table(:global_configs) do
+ add :key, :string, null: false
+ add :value, :text
+ add :encrypted_value, :binary
+
+ timestamps()
+ end
+
+ create unique_index(:global_configs, [:key])
+ end
+end
diff --git a/priv/repo/seeds.exs b/priv/repo/seeds.exs
index fb29d07..7d9ad8a 100644
--- a/priv/repo/seeds.exs
+++ b/priv/repo/seeds.exs
@@ -68,3 +68,6 @@ if Repo.aggregate(User, :count, :id) == 0 do
IO.puts("Warning: Admin role not found, skipping default admin user creation")
end
end
+
+# Seed global settings defaults
+Code.require_file("seeds/settings.exs", __DIR__)
diff --git a/priv/repo/seeds/settings.exs b/priv/repo/seeds/settings.exs
new file mode 100644
index 0000000..585bbe3
--- /dev/null
+++ b/priv/repo/seeds/settings.exs
@@ -0,0 +1,3 @@
+# Seed default global settings
+Claper.Settings.seed_defaults()
+IO.puts("Global settings seeded")