diff --git a/lib/mv_web/live/member_live/form.ex b/lib/mv_web/live/member_live/form.ex index 5370154..5380d0f 100644 --- a/lib/mv_web/live/member_live/form.ex +++ b/lib/mv_web/live/member_live/form.ex @@ -5,80 +5,212 @@ defmodule MvWeb.MemberLive.Form do ## Features - Create new members with personal information - Edit existing member details - - Manage custom properties (dynamic fields) + - Grouped sections for better organization + - Tab navigation (Payments tab disabled, coming soon) + - Manage custom properties (dynamic fields, displayed sorted by name) - Real-time validation with visual feedback - - Link/unlink user accounts - ## Form Fields - **Required:** - - first_name, last_name, email - - **Optional:** - - phone_number, address fields (city, street, house_number, postal_code) - - join_date, exit_date - - paid status - - notes - - ## Custom Field Values - Members can have dynamic custom field values defined by CustomFields. - The form dynamically renders inputs based on available CustomFields. + ## Form Sections + - Personal Data: Name, address, contact information, membership dates, notes + - Custom Fields: Dynamic fields in uniform grid layout (displayed sorted by name) + - Payment Data: Mockup section (not editable) ## Events - `validate` - Real-time form validation - `save` - Submit form (create or update member) - - Custom field value management events for adding/removing custom fields """ use MvWeb, :live_view @impl true def render(assigns) do + # Sort custom fields by name for display only + sorted_custom_fields = Enum.sort_by(assigns.custom_fields, & &1.name) + assigns = assign(assigns, :sorted_custom_fields, sorted_custom_fields) + ~H""" - <.header> - {@page_title} - <:subtitle> - {gettext("Fields marked with an asterisk (*) cannot be empty.")} - - - <.form for={@form} id="member-form" phx-change="validate" phx-submit="save"> - <.input field={@form[:first_name]} label={gettext("First Name")} required /> - <.input field={@form[:last_name]} label={gettext("Last Name")} required /> - <.input field={@form[:email]} label={gettext("Email")} required type="email" /> - <.input field={@form[:paid]} label={gettext("Paid")} type="checkbox" /> - <.input field={@form[:phone_number]} label={gettext("Phone Number")} /> - <.input field={@form[:join_date]} label={gettext("Join Date")} type="date" /> - <.input field={@form[:exit_date]} label={gettext("Exit Date")} type="date" /> - <.input field={@form[:notes]} label={gettext("Notes")} /> - <.input field={@form[:city]} label={gettext("City")} /> - <.input field={@form[:street]} label={gettext("Street")} /> - <.input field={@form[:house_number]} label={gettext("House Number")} /> - <.input field={@form[:postal_code]} label={gettext("Postal Code")} /> + <%!-- Header with Back button, Name display, and Save button --%> +
+ <.button navigate={return_path(@return_to, @member)} type="button"> + <.icon name="hero-arrow-left" class="size-4" /> + {gettext("Back")} + -

{gettext("Custom Field Values")}

- <.inputs_for :let={f_custom_field_value} field={@form[:custom_field_values]}> - <% type = - Enum.find(@custom_fields, &(&1.id == f_custom_field_value[:custom_field_id].value)) %> - <.inputs_for :let={value_form} field={f_custom_field_value[:value]}> - <% input_type = - cond do - type && type.value_type == :boolean -> "checkbox" - type && type.value_type == :date -> :date - true -> :text - end %> - <.input field={value_form[:value]} label={type && type.name} type={input_type} /> - - - +

+ <%= if @member do %> + {@member.first_name} {@member.last_name} + <% else %> + {gettext("New Member")} + <% end %> +

- <.button phx-disable-with={gettext("Saving...")} variant="primary"> - {gettext("Save Member")} - - <.button navigate={return_path(@return_to, @member)}>{gettext("Cancel")} + <.button phx-disable-with={gettext("Saving...")} variant="primary" type="submit"> + {gettext("Save")} + +
+ + <%!-- Tab Navigation --%> +
+ + +
+ + <%!-- Personal Data and Custom Fields Row --%> +
+ <%!-- Personal Data Section --%> +
+ <.form_section title={gettext("Personal Data")}> +
+ <%!-- Name Row --%> +
+
+ <.input field={@form[:first_name]} label={gettext("First Name")} required /> +
+
+ <.input field={@form[:last_name]} label={gettext("Last Name")} required /> +
+
+ + <%!-- Address Row --%> +
+
+ <.input field={@form[:street]} label={gettext("Street")} /> +
+
+ <.input field={@form[:house_number]} label={gettext("Nr.")} /> +
+
+ <.input field={@form[:postal_code]} label={gettext("Postal Code")} /> +
+
+ <.input field={@form[:city]} label={gettext("City")} /> +
+
+ + <%!-- Email --%> +
+ <.input field={@form[:email]} label={gettext("Email")} required type="email" /> +
+ + <%!-- Phone --%> +
+ <.input field={@form[:phone_number]} label={gettext("Phone")} type="tel" /> +
+ + <%!-- Membership Dates Row --%> +
+
+ <.input field={@form[:join_date]} label={gettext("Join Date")} type="date" /> +
+
+ <.input field={@form[:exit_date]} label={gettext("Exit Date")} type="date" /> +
+
+ + <%!-- Notes --%> +
+ <.input field={@form[:notes]} label={gettext("Notes")} type="textarea" /> +
+
+ +
+ + <%!-- Custom Fields Section --%> + <%= if Enum.any?(@custom_fields) do %> +
+ <.form_section title={gettext("Custom Fields")}> +
+ <%!-- Render in sorted order by finding the form for each sorted custom field --%> + <%= for cf <- @sorted_custom_fields do %> + <.inputs_for :let={f_cfv} field={@form[:custom_field_values]}> + <%= if f_cfv[:custom_field_id].value == cf.id do %> +
+ <.inputs_for :let={value_form} field={f_cfv[:value]}> + <.input + field={value_form[:value]} + label={cf.name} + type={custom_field_input_type(cf.value_type)} + /> + + +
+ <% end %> + + <% end %> +
+ +
+ <% end %> +
+ + <%!-- Payment Data Section (Mockup) --%> +
+ <.form_section title={gettext("Payment Data")}> + + +
+
+ + +
+
+ +
+ + +
+
+
+ <.input field={@form[:paid]} label={gettext("Paid")} type="checkbox" /> +
+
+ +
+ + <%!-- Bottom Action Buttons --%> +
+ <.button navigate={return_path(@return_to, @member)} type="button"> + {gettext("Cancel")} + + <.button phx-disable-with={gettext("Saving...")} variant="primary" type="submit"> + {gettext("Save Member")} + +
""" @@ -106,8 +238,8 @@ defmodule MvWeb.MemberLive.Form do id -> Ash.get!(Mv.Membership.Member, id) end - action = if is_nil(member), do: "New", else: "Edit" - page_title = action <> " " <> "Member" + page_title = + if is_nil(member), do: gettext("Create Member"), else: gettext("Edit Member") {:ok, socket @@ -213,5 +345,37 @@ defmodule MvWeb.MemberLive.Form do end defp return_path("index", _member), do: ~p"/members" + defp return_path("show", nil), do: ~p"/members" defp return_path("show", member), do: ~p"/members/#{member.id}" + + # ----------------------------------------------------------------- + # Helper Components + # ----------------------------------------------------------------- + + # Renders a form section box with border and title. + attr :title, :string, required: true + slot :inner_block, required: true + + defp form_section(assigns) do + ~H""" +
+

{@title}

+
+ {render_slot(@inner_block)} +
+
+ """ + end + + # ----------------------------------------------------------------- + # Helper Functions for Custom Fields + # ----------------------------------------------------------------- + + # Returns input type for custom field based on value type + defp custom_field_input_type(:string), do: "text" + defp custom_field_input_type(:integer), do: "number" + defp custom_field_input_type(:boolean), do: "checkbox" + defp custom_field_input_type(:date), do: "date" + defp custom_field_input_type(:email), do: "email" + defp custom_field_input_type(_), do: "text" end diff --git a/lib/mv_web/live/member_live/show.ex b/lib/mv_web/live/member_live/show.ex index 7601f46..d84fca4 100644 --- a/lib/mv_web/live/member_live/show.ex +++ b/lib/mv_web/live/member_live/show.ex @@ -3,19 +3,16 @@ defmodule MvWeb.MemberLive.Show do LiveView for displaying a single member's details. ## Features - - Display all member information (personal, contact, address) - - Show linked user account (if exists) - - Display custom field values + - Display all member information in grouped sections + - Tab navigation for future features (Payments) + - Show custom field values with type-based formatting - Navigate to edit form - Return to member list - ## Displayed Information - - Basic: name, email, dates (join, exit) - - Contact: phone number - - Address: street, house number, postal code, city - - Status: paid flag - - Relationships: linked user account - - Custom: dynamic custom field values from CustomFields + ## Sections + - Personal Data: Name, address, contact information, membership dates, notes + - Custom Fields: Dynamic fields in uniform grid layout (sorted by name) + - Payment Data: Mockup section with placeholder data ## Navigation - Back to member list @@ -23,69 +20,155 @@ defmodule MvWeb.MemberLive.Show do """ use MvWeb, :live_view import Ash.Query - alias MvWeb.Helpers.DateFormatter @impl true def render(assigns) do ~H""" - <.header> - {@member.first_name} {@member.last_name} - <:subtitle>{gettext("This is a member record from your database.")} + <%!-- Header with Back button, Name, and Edit button --%> +
+ <.button navigate={~p"/members"} aria-label={gettext("Back to members list")}> + <.icon name="hero-arrow-left" class="size-4" /> + {gettext("Back")} + - <:actions> - <.button navigate={~p"/members"} aria-label={gettext("Back to members list")}> - <.icon name="hero-arrow-left" /> - {gettext("Back to members list")} - - <.button variant="primary" navigate={~p"/members/#{@member}/edit?return_to=show"}> - <.icon name="hero-pencil-square" /> {gettext("Edit Member")} - - - +

+ {@member.first_name} {@member.last_name} +

- <.list> - <:item title={gettext("Id")}>{@member.id} - <:item title={gettext("First Name")}>{@member.first_name} - <:item title={gettext("Last Name")}>{@member.last_name} - <:item title={gettext("Email")}>{@member.email} - <:item title={gettext("Paid")}> - {if @member.paid, do: gettext("Yes"), else: gettext("No")} - - <:item title={gettext("Phone Number")}>{@member.phone_number} - <:item title={gettext("Join Date")}>{DateFormatter.format_date(@member.join_date)} - <:item title={gettext("Exit Date")}>{DateFormatter.format_date(@member.exit_date)} - <:item title={gettext("Notes")}>{@member.notes} - <:item title={gettext("City")}>{@member.city} - <:item title={gettext("Street")}>{@member.street} - <:item title={gettext("House Number")}>{@member.house_number} - <:item title={gettext("Postal Code")}>{@member.postal_code} - <:item title={gettext("Linked User")}> - <%= if @member.user do %> - <.link - navigate={~p"/users/#{@member.user}"} - class="text-blue-600 hover:text-blue-800 underline" - > - <.icon name="hero-user" class="h-4 w-4 inline mr-1" /> - {@member.user.email} - - <% else %> - {gettext("No user linked")} - <% end %> - - + <.button variant="primary" navigate={~p"/members/#{@member}/edit?return_to=show"}> + {gettext("Edit Member")} + +
-

{gettext("Custom Field Values")}

- <.generic_list items={ - Enum.map(@member.custom_field_values, fn cfv -> - { - # name - cfv.custom_field && cfv.custom_field.name, - # value - format_custom_field_value(cfv) - } - end) - } /> + <%!-- Tab Navigation --%> +
+ + +
+ + <%!-- Personal Data and Custom Fields Row --%> +
+ <%!-- Personal Data Section --%> +
+ <.section_box title={gettext("Personal Data")}> +
+ <%!-- Name Row --%> +
+ <.data_field label={gettext("First Name")} value={@member.first_name} class="w-48" /> + <.data_field label={gettext("Last Name")} value={@member.last_name} class="w-48" /> +
+ + <%!-- Address --%> +
+ <.data_field label={gettext("Address")} value={format_address(@member)} /> +
+ + <%!-- Email --%> +
+ <.data_field label={gettext("Email")}> + + {@member.email} + + +
+ + <%!-- Phone --%> +
+ <.data_field label={gettext("Phone")} value={@member.phone_number} /> +
+ + <%!-- Membership Dates Row --%> +
+ <.data_field + label={gettext("Join Date")} + value={format_date(@member.join_date)} + class="w-28" + /> + <.data_field + label={gettext("Exit Date")} + value={format_date(@member.exit_date)} + class="w-28" + /> +
+ + <%!-- Linked User --%> +
+ <.data_field label={gettext("Linked User")}> + <%= if @member.user do %> + <.link + navigate={~p"/users/#{@member.user}"} + class="text-blue-700 hover:text-blue-800 underline inline-flex items-center gap-1" + > + <.icon name="hero-user" class="size-4" /> + {@member.user.email} + + <% else %> + {gettext("No user linked")} + <% end %> + +
+ + <%!-- Notes --%> + <%= if @member.notes && String.trim(@member.notes) != "" do %> +
+ <.data_field label={gettext("Notes")}> +

{@member.notes}

+ +
+ <% end %> +
+ +
+ + <%!-- Custom Fields Section --%> + <%= if Enum.any?(@member.custom_field_values) do %> +
+ <.section_box title={gettext("Custom Fields")}> +
+ <%= for cfv <- sort_custom_field_values(@member.custom_field_values) do %> + <% custom_field = cfv.custom_field %> + <% value_type = custom_field && custom_field.value_type %> + <.data_field label={custom_field && custom_field.name}> + {format_custom_field_value(cfv.value, value_type)} + + <% end %> +
+ +
+ <% end %> +
+ + <%!-- Payment Data Section (Mockup) --%> +
+ <.section_box title={gettext("Payment Data")}> + + +
+ <.data_field label={gettext("Contribution")} value="72 €" class="w-24" /> + <.data_field label={gettext("Payment Cycle")} value={gettext("monthly")} class="w-28" /> + <.data_field label={gettext("Paid")} class="w-24"> + <%= if @member.paid do %> + {gettext("Paid")} + <% else %> + {gettext("Pending")} + <% end %> + +
+ +
""" end @@ -113,16 +196,119 @@ defmodule MvWeb.MemberLive.Show do defp page_title(:show), do: gettext("Show Member") defp page_title(:edit), do: gettext("Edit Member") - defp format_custom_field_value(cfv) do - value = - case cfv.value do - %{value: v} -> v - v -> v - end + # ----------------------------------------------------------------- + # Helper Components + # ----------------------------------------------------------------- - case value do - %Date{} = date -> DateFormatter.format_date(date) - other -> other + # Renders a section box with border and title. + attr :title, :string, required: true + slot :inner_block, required: true + + defp section_box(assigns) do + ~H""" +
+

{@title}

+
+ {render_slot(@inner_block)} +
+
+ """ + end + + # Renders a labeled data field. + attr :label, :string, required: true + attr :value, :string, default: nil + attr :class, :string, default: "" + slot :inner_block + + defp data_field(assigns) do + ~H""" +
+
{@label}
+
+ <%= if @inner_block != [] do %> + {render_slot(@inner_block)} + <% else %> + {display_value(@value)} + <% end %> +
+
+ """ + end + + # ----------------------------------------------------------------- + # Helper Functions + # ----------------------------------------------------------------- + + defp display_value(nil), do: "" + defp display_value(""), do: "" + defp display_value(value), do: value + + defp format_address(member) do + street_part = + [member.street, member.house_number] + |> Enum.filter(&(&1 && &1 != "")) + |> Enum.join(" ") + + city_part = + [member.postal_code, member.city] + |> Enum.filter(&(&1 && &1 != "")) + |> Enum.join(" ") + + [street_part, city_part] + |> Enum.filter(&(&1 != "")) + |> Enum.join(", ") + |> case do + "" -> nil + address -> address end end + + defp format_date(nil), do: nil + + defp format_date(%Date{} = date) do + Calendar.strftime(date, "%d.%m.%Y") + end + + defp format_date(date), do: to_string(date) + + # Sorts custom field values by custom field name + defp sort_custom_field_values(custom_field_values) do + Enum.sort_by(custom_field_values, fn cfv -> + (cfv.custom_field && cfv.custom_field.name) || "" + end) + end + + # Formats custom field value based on type + defp format_custom_field_value(%Ash.Union{value: value, type: type}, _expected_type) do + format_custom_field_value(value, type) + end + + defp format_custom_field_value(nil, _type), do: "—" + + defp format_custom_field_value(value, :boolean) when is_boolean(value) do + if value, do: gettext("Yes"), else: gettext("No") + end + + defp format_custom_field_value(%Date{} = date, :date) do + Calendar.strftime(date, "%d.%m.%Y") + end + + defp format_custom_field_value(value, :email) when is_binary(value) do + assigns = %{email: value} + + ~H""" + {@email} + """ + end + + defp format_custom_field_value(value, :integer) when is_integer(value) do + Integer.to_string(value) + end + + defp format_custom_field_value(value, _type) when is_binary(value) do + if String.trim(value) == "", do: "—", else: value + end + + defp format_custom_field_value(value, _type), do: to_string(value) end diff --git a/mix.exs b/mix.exs index c6e4fb5..b068e40 100644 --- a/mix.exs +++ b/mix.exs @@ -12,7 +12,8 @@ defmodule Mv.MixProject do compilers: [:phoenix_live_view] ++ Mix.compilers(), aliases: aliases(), deps: deps(), - listeners: [Phoenix.CodeReloader] + listeners: [Phoenix.CodeReloader], + gettext: [write_reference_line_numbers: false] ] end @@ -37,7 +38,7 @@ defmodule Mv.MixProject do [ {:tidewave, "~> 0.5", only: [:dev]}, {:sourceror, "~> 1.8", only: [:dev, :test]}, - {:live_debugger, "~> 0.4", only: [:dev]}, + {:live_debugger, "~> 0.5", only: [:dev]}, {:ash_admin, "~> 0.13"}, {:ash_postgres, "~> 2.0"}, {:ash_phoenix, "~> 2.0"}, @@ -45,7 +46,7 @@ defmodule Mv.MixProject do {:bcrypt_elixir, "~> 3.0"}, {:ash_authentication, "~> 4.9"}, {:ash_authentication_phoenix, "~> 2.10"}, - {:igniter, "~> 0.6", only: [:dev, :test]}, + {:igniter, "~> 0.7", only: [:dev, :test]}, {:phoenix, "~> 1.8.0-rc.4", override: true}, {:phoenix_ecto, "~> 4.5"}, {:ecto_sql, "~> 3.10"}, diff --git a/mix.lock b/mix.lock index 77dcc09..fb56d5d 100644 --- a/mix.lock +++ b/mix.lock @@ -1,32 +1,32 @@ %{ - "ash": {:hex, :ash, "3.7.1", "abb55dee19e0959e529e52fe0622468825ae05400f535484919713e492d9a9e7", [:mix], [{:crux, "~> 0.1.0", [hex: :crux, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8", [hex: :ets, repo: "hexpm", optional: false]}, {:igniter, ">= 0.6.29 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:reactor, "~> 0.11", [hex: :reactor, repo: "hexpm", optional: false]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:spark, ">= 2.3.3 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, ">= 0.2.6 and < 1.0.0-0", [hex: :splode, repo: "hexpm", optional: false]}, {:stream_data, "~> 1.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4474ce9befe9862d1ed73cadf8a755e836c45a14a7b3b952d02e1a12f2b2e529"}, - "ash_admin": {:hex, :ash_admin, "0.13.19", "43227905381ea0b835039fb3f3d255a3664925619937869e605402bc2f95c5e5", [:mix], [{:ash, ">= 3.4.63 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_phoenix, ">= 2.1.8 and < 3.0.0-0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:gettext, "~> 0.26", [hex: :gettext, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.1-rc", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}], "hexpm", "41e6262c437164df6f052e43cc93be225a7e148b49a813fc451e70172338ee38"}, - "ash_authentication": {:hex, :ash_authentication, "4.11.0", "4165ede37e179cb0a24b7bfc38d620fa93c05fb6272fbd353cafe27652b1e68b", [:mix], [{:argon2_elixir, "~> 4.0", [hex: :argon2_elixir, repo: "hexpm", optional: true]}, {:ash, ">= 3.4.29 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_postgres, ">= 2.6.8 and < 3.0.0-0", [hex: :ash_postgres, repo: "hexpm", optional: true]}, {:assent, "~> 0.2.13", [hex: :assent, repo: "hexpm", optional: false]}, {:bcrypt_elixir, "~> 3.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: false]}, {:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:finch, "~> 0.19", [hex: :finch, repo: "hexpm", optional: false]}, {:igniter, "~> 0.4", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:joken, "~> 2.5", [hex: :joken, repo: "hexpm", optional: false]}, {:plug, "~> 1.13", [hex: :plug, repo: "hexpm", optional: false]}, {:spark, "~> 2.0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}], "hexpm", "8201d0169944c1df3db9b560494e50e1c3bc99c3b1a8a2ef1e61b0f77bc820df"}, - "ash_authentication_phoenix": {:hex, :ash_authentication_phoenix, "2.12.0", "75d7d77e3b626f3d8ea6ee44291d885950172ab399d997b2934f93d2e0a55a61", [:mix], [{:ash, "~> 3.0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_authentication, "~> 4.10", [hex: :ash_authentication, repo: "hexpm", optional: false]}, {:ash_phoenix, ">= 2.3.11 and < 3.0.0-0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:bcrypt_elixir, "~> 3.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: false]}, {:gettext, "~> 0.26 or ~> 1.0", [hex: :gettext, repo: "hexpm", optional: true]}, {:igniter, ">= 0.5.25 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_html_helpers, "~> 1.0", [hex: :phoenix_html_helpers, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:slugify, "~> 1.3", [hex: :slugify, repo: "hexpm", optional: false]}], "hexpm", "a423e22b40fdf3b1a7f2178e44ca68f48fdb5ba0d87e8d42a43de1a3b63ca704"}, - "ash_phoenix": {:hex, :ash_phoenix, "2.3.17", "a074ae6d9d7135d99c4edc91ddebe4c035ca380b044592bf9c3d58471669cf52", [:mix], [{:ash, ">= 3.5.13 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:igniter, "~> 0.6", [hex: :igniter, repo: "hexpm", optional: true]}, {:inertia, "~> 2.3", [hex: :inertia, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.5.6 or ~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.20.3 or ~> 1.0-rc.1", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:spark, ">= 2.2.29 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}], "hexpm", "94e4a6cc6ced31cddba930c45c1c3477aa59b956e7fc3cdc63095cf0e506bdf5"}, - "ash_postgres": {:hex, :ash_postgres, "2.6.23", "5976a7e5e204b7bc627b1d17026bec9da4d880f2e09cd94bf4e8cee41fef32ce", [:mix], [{:ash, "~> 3.7", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_sql, ">= 0.3.7 and < 1.0.0-0", [hex: :ash_sql, repo: "hexpm", optional: false]}, {:ecto, "~> 3.13", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.13", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:igniter, ">= 0.6.29 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:spark, ">= 2.3.4 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}], "hexpm", "61de4aedfe30f1ae14d8185cfc37a5b1940b45b60f2dfbdf9eb056f97dca41c5"}, - "ash_sql": {:hex, :ash_sql, "0.3.7", "80affa5446075d71deb157c67290685a84b392d723be766bfb684f58fe0143de", [:mix], [{:ash, "~> 3.7", [hex: :ash, repo: "hexpm", optional: false]}, {:ecto, "~> 3.9", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.9", [hex: :ecto_sql, repo: "hexpm", optional: false]}], "hexpm", "ce4d974b8e784171c5a2a62593b3672b42dfd4888fa2239f01a6b32bad769038"}, + "ash": {:hex, :ash, "3.10.1", "e0a9cd71d439563734bbaf1580bdc201866e8597a8e1f0711b5140b9694a020f", [:mix], [{:crux, ">= 0.1.2 and < 1.0.0-0", [hex: :crux, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8", [hex: :ets, repo: "hexpm", optional: false]}, {:igniter, ">= 0.6.29 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:reactor, "~> 0.11", [hex: :reactor, repo: "hexpm", optional: false]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:spark, ">= 2.3.14 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, ">= 0.2.6 and < 1.0.0-0", [hex: :splode, repo: "hexpm", optional: false]}, {:stream_data, "~> 1.0", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ac55578b6208f420ae02fe259b609dd274a0b5193a56a22f73c5dbb0db40bd8b"}, + "ash_admin": {:hex, :ash_admin, "0.13.23", "09f25429727b7c3313006a5c28a5e95d3f80f10989461f69ae3c46f01233aa1d", [:mix], [{:ash, ">= 3.4.63 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_phoenix, ">= 2.1.8 and < 3.0.0-0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:gettext, "~> 0.26 or ~> 1.0", [hex: :gettext, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.1-rc", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}], "hexpm", "4d06e002313591e354ab25b4c82090261783fd8b50c773baea9f8a8ad370b834"}, + "ash_authentication": {:hex, :ash_authentication, "4.13.3", "4d7a2e96b5a8fe68797ba0124cf40e6897c82b9fb69182fc5fdaac529b72d436", [:mix], [{:argon2_elixir, "~> 4.0", [hex: :argon2_elixir, repo: "hexpm", optional: true]}, {:ash, "~> 3.7", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_postgres, ">= 2.6.8 and < 3.0.0-0", [hex: :ash_postgres, repo: "hexpm", optional: true]}, {:assent, "> 0.2.0 and < 0.3.0", [hex: :assent, repo: "hexpm", optional: false]}, {:bcrypt_elixir, "~> 3.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: false]}, {:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:finch, "~> 0.19", [hex: :finch, repo: "hexpm", optional: false]}, {:igniter, "~> 0.4", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:joken, "~> 2.5", [hex: :joken, repo: "hexpm", optional: false]}, {:plug, "~> 1.13", [hex: :plug, repo: "hexpm", optional: false]}, {:spark, "~> 2.0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}], "hexpm", "03d95b68766b28cda241e68217f6d1d839be350f7e8f20923162b163fb521b91"}, + "ash_authentication_phoenix": {:hex, :ash_authentication_phoenix, "2.12.2", "a4646498a7e21fbdbe372f0d8afab08b5d7125b629f91bfcf8f4d1961bc9d57b", [:mix], [{:ash, "~> 3.0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_authentication, "~> 4.10", [hex: :ash_authentication, repo: "hexpm", optional: false]}, {:ash_phoenix, ">= 2.3.11 and < 3.0.0-0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:bcrypt_elixir, "~> 3.0", [hex: :bcrypt_elixir, repo: "hexpm", optional: false]}, {:gettext, "~> 0.26 or ~> 1.0", [hex: :gettext, repo: "hexpm", optional: true]}, {:igniter, ">= 0.5.25 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_html_helpers, "~> 1.0", [hex: :phoenix_html_helpers, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 1.1", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:slugify, "~> 1.3", [hex: :slugify, repo: "hexpm", optional: false]}], "hexpm", "1dd6fa3a8f7d2563a53cf22aeda31770c855e927421af4d8bfaf480332acf721"}, + "ash_phoenix": {:hex, :ash_phoenix, "2.3.18", "fad1b8af1405758888086de568f08650c2911ee97074cfe2e325b14854bc43dd", [:mix], [{:ash, ">= 3.5.13 and < 4.0.0-0", [hex: :ash, repo: "hexpm", optional: false]}, {:igniter, "~> 0.6", [hex: :igniter, repo: "hexpm", optional: true]}, {:inertia, "~> 2.3", [hex: :inertia, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.5.6 or ~> 1.6", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.20.3 or ~> 1.0-rc.1", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:spark, ">= 2.2.29 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}], "hexpm", "7ec28f9216221e83b90d9c3605e9d1cdd228984e09a1a86c9b9d393cebf25222"}, + "ash_postgres": {:hex, :ash_postgres, "2.6.26", "f995bac8762ae039d4fb94cf2b628430aa69b0b30bf4366b96b3543dbd679ae7", [:mix], [{:ash, "~> 3.9", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_sql, ">= 0.3.12 and < 1.0.0-0", [hex: :ash_sql, repo: "hexpm", optional: false]}, {:ecto, "~> 3.13", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.13", [hex: :ecto_sql, repo: "hexpm", optional: false]}, {:igniter, ">= 0.6.29 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:postgrex, ">= 0.0.0", [hex: :postgrex, repo: "hexpm", optional: false]}, {:spark, ">= 2.3.4 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}], "hexpm", "7050b3169d5a31d73f7e69a6564d1102cb2bc185e67ea428e78fda3da46a69fc"}, + "ash_sql": {:hex, :ash_sql, "0.3.15", "8b8daae1870ab37b4fb2f980e323194caf23cdb4218fef126c49cc11a01fa243", [:mix], [{:ash, "~> 3.7", [hex: :ash, repo: "hexpm", optional: false]}, {:ecto, ">= 3.13.4 and < 4.0.0-0", [hex: :ecto, repo: "hexpm", optional: false]}, {:ecto_sql, "~> 3.9", [hex: :ecto_sql, repo: "hexpm", optional: false]}], "hexpm", "97432507b6f406eb2461e5d0fbf2e5104a8c61a2570322d11de2f124d822d8ff"}, "assent": {:hex, :assent, "0.2.13", "11226365d2d8661d23e9a2cf94d3255e81054ff9d88ac877f28bfdf38fa4ef31", [:mix], [{:certifi, ">= 0.0.0", [hex: :certifi, repo: "hexpm", optional: true]}, {:finch, "~> 0.15", [hex: :finch, repo: "hexpm", optional: true]}, {:jose, "~> 1.8", [hex: :jose, repo: "hexpm", optional: true]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:req, "~> 0.4", [hex: :req, repo: "hexpm", optional: true]}, {:ssl_verify_fun, ">= 0.0.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: true]}], "hexpm", "bf9f351b01dd6bceea1d1f157f05438f6765ce606e6eb8d29296003d29bf6eab"}, "bandit": {:hex, :bandit, "1.8.0", "c2e93d7e3c5c794272fa4623124f827c6f24b643acc822be64c826f9447d92fb", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.18", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.0", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "8458ff4eed20ff2a2ea69d4854883a077c33ea42b51f6811b044ceee0fa15422"}, "bcrypt_elixir": {:hex, :bcrypt_elixir, "3.3.2", "d50091e3c9492d73e17fc1e1619a9b09d6a5ef99160eb4d736926fd475a16ca3", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "471be5151874ae7931911057d1467d908955f93554f7a6cd1b7d804cac8cef53"}, "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, - "castore": {:hex, :castore, "1.0.15", "8aa930c890fe18b6fe0a0cff27b27d0d4d231867897bd23ea772dee561f032a3", [:mix], [], "hexpm", "96ce4c69d7d5d7a0761420ef743e2f4096253931a3ba69e5ff8ef1844fe446d3"}, + "castore": {:hex, :castore, "1.0.16", "8a4f9a7c8b81cda88231a08fe69e3254f16833053b23fa63274b05cbc61d2a1e", [:mix], [], "hexpm", "33689203a0eaaf02fcd0e86eadfbcf1bd636100455350592e7e2628564022aaf"}, "cc_precompiler": {:hex, :cc_precompiler, "0.1.11", "8c844d0b9fb98a3edea067f94f616b3f6b29b959b6b3bf25fee94ffe34364768", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3427232caf0835f94680e5bcf082408a70b48ad68a5f5c0b02a3bea9f3a075b9"}, "circular_buffer": {:hex, :circular_buffer, "1.0.0", "25c004da0cba7bd8bc1bdabded4f9a902d095e20600fd15faf1f2ffbaea18a07", [:mix], [], "hexpm", "c829ec31c13c7bafd1f546677263dff5bfb006e929f25635878ac3cfba8749e5"}, "comeonin": {:hex, :comeonin, "5.5.1", "5113e5f3800799787de08a6e0db307133850e635d34e9fab23c70b6501669510", [:mix], [], "hexpm", "65aac8f19938145377cee73973f192c5645873dcf550a8a6b18187d17c13ccdb"}, - "credo": {:hex, :credo, "1.7.13", "126a0697df6b7b71cd18c81bc92335297839a806b6f62b61d417500d1070ff4e", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "47641e6d2bbff1e241e87695b29f617f1a8f912adea34296fb10ecc3d7e9e84f"}, - "crux": {:hex, :crux, "0.1.1", "94f2f97d2a6079ae3c57f356412bc3b307f9579a80e43f526447b1d508dd4a72", [:mix], [{:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:stream_data, "~> 1.0", [hex: :stream_data, repo: "hexpm", optional: true]}], "hexpm", "e59d498f038193cbe31e448f9199f5b4c53a4c67cece9922bb839595189dd2b6"}, + "credo": {:hex, :credo, "1.7.14", "c7e75216cea8d978ba8c60ed9dede4cc79a1c99a266c34b3600dd2c33b96bc92", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "12a97d6bb98c277e4fb1dff45aaf5c137287416009d214fb46e68147bd9e0203"}, + "crux": {:hex, :crux, "0.1.2", "4441c9e3a34f1e340954ce96b9ad5a2de13ceb4f97b3f910211227bb92e2ca90", [:mix], [{:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:stream_data, "~> 1.0", [hex: :stream_data, repo: "hexpm", optional: true]}], "hexpm", "563ea3748ebfba9cc078e6d198a1d6a06015a8fae503f0b721363139f0ddb350"}, "db_connection": {:hex, :db_connection, "2.8.1", "9abdc1e68c34c6163f6fb96a96532272d13ad7ca45262156ae8b7ec6d9dc4bec", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "a61a3d489b239d76f326e03b98794fb8e45168396c925ef25feb405ed09da8fd"}, "decimal": {:hex, :decimal, "2.3.0", "3ad6255aa77b4a3c4f818171b12d237500e63525c2fd056699967a3e7ea20f62", [:mix], [], "hexpm", "a4d66355cb29cb47c3cf30e71329e58361cfcb37c34235ef3bf1d7bf3773aeac"}, "dns_cluster": {:hex, :dns_cluster, "0.2.0", "aa8eb46e3bd0326bd67b84790c561733b25c5ba2fe3c7e36f28e88f384ebcb33", [:mix], [], "hexpm", "ba6f1893411c69c01b9e8e8f772062535a4cf70f3f35bcc964a324078d8c8240"}, - "ecto": {:hex, :ecto, "3.13.3", "6a983f0917f8bdc7a89e96f2bf013f220503a0da5d8623224ba987515b3f0d80", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "1927db768f53a88843ff25b6ba7946599a8ca8a055f69ad8058a1432a399af94"}, + "ecto": {:hex, :ecto, "3.13.5", "9d4a69700183f33bf97208294768e561f5c7f1ecf417e0fa1006e4a91713a834", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "df9efebf70cf94142739ba357499661ef5dbb559ef902b68ea1f3c1fabce36de"}, "ecto_commons": {:hex, :ecto_commons, "0.3.6", "7b1d9e59396cf8c8cbe5a26d50d03f9b6d0fe6c640210dd503622f276f1e59bb", [:mix], [{:burnex, "~> 3.0", [hex: :burnex, repo: "hexpm", optional: true]}, {:ecto, "~> 3.4", [hex: :ecto, repo: "hexpm", optional: false]}, {:ex_phone_number, "~> 0.2", [hex: :ex_phone_number, repo: "hexpm", optional: false]}, {:luhn, "~> 0.3.0", [hex: :luhn, repo: "hexpm", optional: false]}], "hexpm", "3f12981a1e398f206c5d2014e7b732b7ec91b110b9cb84875cb5b28fc75d7a0a"}, "ecto_sql": {:hex, :ecto_sql, "3.13.2", "a07d2461d84107b3d037097c822ffdd36ed69d1cf7c0f70e12a3d1decf04e2e1", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.13.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.7", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.19 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "539274ab0ecf1a0078a6a72ef3465629e4d6018a3028095dc90f60a19c371717"}, "elixir_make": {:hex, :elixir_make, "0.9.0", "6484b3cd8c0cee58f09f05ecaf1a140a8c97670671a6a0e7ab4dc326c3109726", [:mix], [], "hexpm", "db23d4fd8b757462ad02f8aa73431a426fe6671c80b200d9710caf3d1dd0ffdb"}, "esbuild": {:hex, :esbuild, "0.10.0", "b0aa3388a1c23e727c5a3e7427c932d89ee791746b0081bbe56103e9ef3d291f", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "468489cda427b974a7cc9f03ace55368a83e1a7be12fba7e30969af78e5f8c70"}, "ets": {:hex, :ets, "0.9.0", "79c6a6c205436780486f72d84230c6cba2f8a9920456750ddd1e47389107d5fd", [:mix], [], "hexpm", "2861fdfb04bcaeff370f1a5904eec864f0a56dcfebe5921ea9aadf2a481c822b"}, "ex_phone_number": {:hex, :ex_phone_number, "0.4.8", "c1c5e6f0673822a2a7b439b43af7d3eb1a5c19ae582b772b8b8d12625dd51ec1", [:mix], [{:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: false]}], "hexpm", "43e2357c6b8cfe556bcd417f4ce9aaef267a786e31a2938902daaa0d36f69757"}, - "expo": {:hex, :expo, "1.1.0", "f7b9ed7fb5745ebe1eeedf3d6f29226c5dd52897ac67c0f8af62a07e661e5c75", [:mix], [], "hexpm", "fbadf93f4700fb44c331362177bdca9eeb8097e8b0ef525c9cc501cb9917c960"}, + "expo": {:hex, :expo, "1.1.1", "4202e1d2ca6e2b3b63e02f69cfe0a404f77702b041d02b58597c00992b601db5", [], [], "hexpm", "5fb308b9cb359ae200b7e23d37c76978673aa1b06e2b3075d814ce12c5811640"}, "file_system": {:hex, :file_system, "1.1.1", "31864f4685b0148f25bd3fbef2b1228457c0c89024ad67f7a81a3ffbc0bbad3a", [:mix], [], "hexpm", "7a15ff97dfe526aeefb090a7a9d3d03aa907e100e262a0f8f7746b78f8f87a5d"}, "finch": {:hex, :finch, "0.20.0", "5330aefb6b010f424dcbbc4615d914e9e3deae40095e73ab0c1bb0968933cadf", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.6.2 or ~> 1.7", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "2658131a74d051aabfcba936093c903b8e89da9a1b63e430bee62045fa9b2ee2"}, "fine": {:hex, :fine, "0.1.4", "b19a89c1476c7c57afb5f9314aed5960b5bc95d5277de4cb5ee8e1d1616ce379", [:mix], [], "hexpm", "be3324cc454a42d80951cf6023b9954e9ff27c6daa255483b3e8d608670303f5"}, @@ -35,14 +35,14 @@ "heroicons": {:git, "https://github.com/tailwindlabs/heroicons.git", "0435d4ca364a608cc75e2f8683d374e55abbae26", [tag: "v2.2.0", sparse: "optimized", depth: 1]}, "hpax": {:hex, :hpax, "1.0.3", "ed67ef51ad4df91e75cc6a1494f851850c0bd98ebc0be6e81b026e765ee535aa", [:mix], [], "hexpm", "8eab6e1cfa8d5918c2ce4ba43588e894af35dbd8e91e6e55c817bca5847df34a"}, "idna": {:hex, :idna, "6.1.1", "8a63070e9f7d0c62eb9d9fcb360a7de382448200fbbd1b106cc96d3d8099df8d", [:rebar3], [{:unicode_util_compat, "~> 0.7.0", [hex: :unicode_util_compat, repo: "hexpm", optional: false]}], "hexpm", "92376eb7894412ed19ac475e4a86f7b413c1b9fbb5bd16dccd57934157944cea"}, - "igniter": {:hex, :igniter, "0.6.30", "83a466369ebb8fe009e0823c7bf04314dc545122c2d48f896172fc79df33e99d", [:mix], [{:glob_ex, "~> 0.1.7", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:owl, "~> 0.11", [hex: :owl, repo: "hexpm", optional: false]}, {:phx_new, "~> 1.7", [hex: :phx_new, repo: "hexpm", optional: true]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:rewrite, ">= 1.1.1 and < 2.0.0-0", [hex: :rewrite, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.4", [hex: :sourceror, repo: "hexpm", optional: false]}, {:spitfire, ">= 0.1.3 and < 1.0.0-0", [hex: :spitfire, repo: "hexpm", optional: false]}], "hexpm", "76a14d5b7f850bb03b5243088c3649d54a2e52e34a2aa1104dee23cf50a8bae0"}, + "igniter": {:hex, :igniter, "0.7.0", "6848714fa5afa14258c82924a57af9364745316241a409435cf39cbe11e3ae80", [:mix], [{:glob_ex, "~> 0.1.7", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:owl, "~> 0.11", [hex: :owl, repo: "hexpm", optional: false]}, {:phx_new, "~> 1.7", [hex: :phx_new, repo: "hexpm", optional: true]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}, {:rewrite, ">= 1.1.1 and < 2.0.0-0", [hex: :rewrite, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.4", [hex: :sourceror, repo: "hexpm", optional: false]}, {:spitfire, ">= 0.1.3 and < 1.0.0-0", [hex: :spitfire, repo: "hexpm", optional: false]}], "hexpm", "1e7254780dbf4b44c9eccd6d86d47aa961efc298d7f520c24acb0258c8e90ba9"}, "iterex": {:hex, :iterex, "0.1.2", "58f9b9b9a22a55cbfc7b5234a9c9c63eaac26d276b3db80936c0e1c60355a5a6", [:mix], [], "hexpm", "2e103b8bcc81757a9af121f6dc0df312c9a17220f302b1193ef720460d03029d"}, "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, "joken": {:hex, :joken, "2.6.2", "5daaf82259ca603af4f0b065475099ada1b2b849ff140ccd37f4b6828ca6892a", [:mix], [{:jose, "~> 1.11.10", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "5134b5b0a6e37494e46dbf9e4dad53808e5e787904b7c73972651b51cce3d72b"}, - "jose": {:hex, :jose, "1.11.10", "a903f5227417bd2a08c8a00a0cbcc458118be84480955e8d251297a425723f83", [:mix, :rebar3], [], "hexpm", "0d6cd36ff8ba174db29148fc112b5842186b68a90ce9fc2b3ec3afe76593e614"}, + "jose": {:hex, :jose, "1.11.12", "06e62b467b61d3726cbc19e9b5489f7549c37993de846dfb3ee8259f9ed208b3", [], [], "hexpm", "31e92b653e9210b696765cdd885437457de1add2a9011d92f8cf63e4641bab7b"}, "lazy_html": {:hex, :lazy_html, "0.1.8", "677a8642e644eef8de98f3040e2520d42d0f0f8bd6c5cd49db36504e34dffe91", [:make, :mix], [{:cc_precompiler, "~> 0.1", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.9.0", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:fine, "~> 0.1.0", [hex: :fine, repo: "hexpm", optional: false]}], "hexpm", "0d8167d930b704feb94b41414ca7f5779dff9bca7fcf619fcef18de138f08736"}, "libgraph": {:hex, :libgraph, "0.16.0", "3936f3eca6ef826e08880230f806bfea13193e49bf153f93edcf0239d4fd1d07", [:mix], [], "hexpm", "41ca92240e8a4138c30a7e06466acc709b0cbb795c643e9e17174a178982d6bf"}, - "live_debugger": {:hex, :live_debugger, "0.4.2", "775c3a570ef3c44d27d261b3c1aae23ef35cac949a57f67b3e7b1aa1fb2707bc", [:mix], [{:igniter, ">= 0.5.40 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.20.8 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "5b24e37985f0424056a322a18dab4a5fb0f4e8ee4e55975985364e0b45d683b9"}, + "live_debugger": {:hex, :live_debugger, "0.5.0", "95e0f7727d61010f7e9053923fb2a9416904a7533c2dfb36120e7684cba4c0af", [:mix], [{:igniter, ">= 0.5.40 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.20.8 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "73ebe95118d22aa402675f677abd731cb16b136d1b6ae5f4010441fb50753b14"}, "luhn": {:hex, :luhn, "0.3.3", "5aa0c6a32c2db4b9db9f9b883ba8301c1ae169d57199b9e6cb1ba2707bc51d96", [:mix], [], "hexpm", "3e823a913a25aab51352c727f135278d22954874d5f0835be81ed4fec3daf78d"}, "mime": {:hex, :mime, "2.0.7", "b8d739037be7cd402aee1ba0306edfdef982687ee7e9859bee6198c1e7e2f128", [:mix], [], "hexpm", "6171188e399ee16023ffc5b76ce445eb6d9672e2e241d2df6050f3c771e80ccd"}, "mint": {:hex, :mint, "1.7.1", "113fdb2b2f3b59e47c7955971854641c61f378549d73e829e1768de90fc1abf1", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1 or ~> 0.2.0 or ~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "fceba0a4d0f24301ddee3024ae116df1c3f4bb7a563a731f45fdfeb9d39a231b"}, @@ -50,26 +50,26 @@ "nimble_options": {:hex, :nimble_options, "1.1.1", "e3a492d54d85fc3fd7c5baf411d9d2852922f66e69476317787a7b2bb000a61b", [:mix], [], "hexpm", "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"}, "nimble_pool": {:hex, :nimble_pool, "1.1.0", "bf9c29fbdcba3564a8b800d1eeb5a3c58f36e1e11d7b7fb2e084a643f645f06b", [:mix], [], "hexpm", "af2e4e6b34197db81f7aad230c1118eac993acc0dae6bc83bac0126d4ae0813a"}, "owl": {:hex, :owl, "0.13.0", "26010e066d5992774268f3163506972ddac0a7e77bfe57fa42a250f24d6b876e", [:mix], [{:ucwidth, "~> 0.2", [hex: :ucwidth, repo: "hexpm", optional: true]}], "hexpm", "59bf9d11ce37a4db98f57cb68fbfd61593bf419ec4ed302852b6683d3d2f7475"}, - "phoenix": {:hex, :phoenix, "1.8.1", "865473a60a979551a4879db79fbfb4503e41cd809e77c85af79716578b6a456d", [:mix], [{:bandit, "~> 1.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "84d77d2b2e77c3c7e7527099bd01ef5c8560cd149c036d6b3a40745f11cd2fb2"}, - "phoenix_ecto": {:hex, :phoenix_ecto, "4.6.5", "c4ef322acd15a574a8b1a08eff0ee0a85e73096b53ce1403b6563709f15e1cea", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "26ec3208eef407f31b748cadd044045c6fd485fbff168e35963d2f9dfff28d4b"}, + "phoenix": {:hex, :phoenix, "1.8.2", "75aba5b90081d88a54f2fc6a26453d4e76762ab095ff89be5a3e7cb28bff9300", [:mix], [{:bandit, "~> 1.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "19ea65b4064f17b1ab0515595e4d0ea65742ab068259608d5d7b139a73f47611"}, + "phoenix_ecto": {:hex, :phoenix_ecto, "4.7.0", "75c4b9dfb3efdc42aec2bd5f8bccd978aca0651dbcbc7a3f362ea5d9d43153c6", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.1", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}, {:postgrex, "~> 0.16 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}], "hexpm", "1d75011e4254cb4ddf823e81823a9629559a1be93b4321a6a5f11a5306fbf4cc"}, "phoenix_html": {:hex, :phoenix_html, "4.3.0", "d3577a5df4b6954cd7890c84d955c470b5310bb49647f0a114a6eeecc850f7ad", [:mix], [], "hexpm", "3eaa290a78bab0f075f791a46a981bbe769d94bc776869f4f3063a14f30497ad"}, "phoenix_html_helpers": {:hex, :phoenix_html_helpers, "1.0.1", "7eed85c52eff80a179391036931791ee5d2f713d76a81d0d2c6ebafe1e11e5ec", [:mix], [{:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "cffd2385d1fa4f78b04432df69ab8da63dc5cf63e07b713a4dcf36a3740e3090"}, "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.7", "405880012cb4b706f26dd1c6349125bfc903fb9e44d1ea668adaf4e04d4884b7", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "3a8625cab39ec261d48a13b7468dc619c0ede099601b084e343968309bd4d7d7"}, "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.6.1", "05df733a09887a005ed0d69a7fc619d376aea2730bf64ce52ac51ce716cc1ef0", [:mix], [{:file_system, "~> 0.2.10 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "74273843d5a6e4fef0bbc17599f33e3ec63f08e69215623a0cd91eea4288e5a0"}, - "phoenix_live_view": {:hex, :phoenix_live_view, "1.1.14", "cae84abc4cd00dde4bb200b8516db556704c585c267aff9cd4955ff83cceb86c", [:mix], [{:igniter, ">= 0.6.16 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:lazy_html, "~> 0.1.0", [hex: :lazy_html, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0 or ~> 1.8.0-rc", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b827980e2bc00fddd8674e3b567519a4e855b5de04bf8607140414f1101e2627"}, - "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.1.3", "3168d78ba41835aecad272d5e8cd51aa87a7ac9eb836eabc42f6e57538e3731d", [:mix], [], "hexpm", "bba06bc1dcfd8cb086759f0edc94a8ba2bc8896d5331a1e2c2902bf8e36ee502"}, + "phoenix_live_view": {:hex, :phoenix_live_view, "1.1.18", "b5410017b3d4edf261d9c98ebc334e0637d7189457c730720cfc13e206443d43", [:mix], [{:igniter, ">= 0.6.16 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:lazy_html, "~> 0.1.0", [hex: :lazy_html, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0 or ~> 1.8.0-rc", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f189b759595feff0420e9a1d544396397f9cf9e2d5a8cb98ba5b6cab01927da0"}, + "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.2.0", "ff3a5616e1bed6804de7773b92cbccfc0b0f473faf1f63d7daf1206c7aeaaa6f", [:mix], [], "hexpm", "adc313a5bf7136039f63cfd9668fde73bba0765e0614cba80c06ac9460ff3e96"}, "phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"}, "phoenix_view": {:hex, :phoenix_view, "2.0.4", "b45c9d9cf15b3a1af5fb555c674b525391b6a1fe975f040fb4d913397b31abf4", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}], "hexpm", "4e992022ce14f31fe57335db27a28154afcc94e9983266835bb3040243eb620b"}, "plug": {:hex, :plug, "1.18.1", "5067f26f7745b7e31bc3368bc1a2b818b9779faa959b49c934c17730efc911cf", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "57a57db70df2b422b564437d2d33cf8d33cd16339c1edb190cd11b1a3a546cc2"}, "plug_crypto": {:hex, :plug_crypto, "2.1.1", "19bda8184399cb24afa10be734f84a16ea0a2bc65054e23a62bb10f06bc89491", [:mix], [], "hexpm", "6470bce6ffe41c8bd497612ffde1a7e4af67f36a15eea5f921af71cf3e11247c"}, "postgrex": {:hex, :postgrex, "0.21.1", "2c5cc830ec11e7a0067dd4d623c049b3ef807e9507a424985b8dcf921224cd88", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "27d8d21c103c3cc68851b533ff99eef353e6a0ff98dc444ea751de43eb48bdac"}, "reactor": {:hex, :reactor, "0.17.0", "eb8bdb530dbae824e2d36a8538f8ec4f3aa7c2d1b61b04959fa787c634f88b49", [:mix], [{:igniter, "~> 0.4", [hex: :igniter, repo: "hexpm", optional: true]}, {:iterex, "~> 0.1", [hex: :iterex, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:libgraph, "~> 0.16", [hex: :libgraph, repo: "hexpm", optional: false]}, {:spark, ">= 2.3.3 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.2", [hex: :telemetry, repo: "hexpm", optional: false]}, {:yaml_elixir, "~> 2.11", [hex: :yaml_elixir, repo: "hexpm", optional: false]}, {:ymlr, "~> 5.0", [hex: :ymlr, repo: "hexpm", optional: false]}], "hexpm", "3c3bf71693adbad9117b11ec83cfed7d5851b916ade508ed9718de7ae165bf25"}, - "req": {:hex, :req, "0.5.15", "662020efb6ea60b9f0e0fac9be88cd7558b53fe51155a2d9899de594f9906ba9", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "a6513a35fad65467893ced9785457e91693352c70b58bbc045b47e5eb2ef0c53"}, + "req": {:hex, :req, "0.5.16", "99ba6a36b014458e52a8b9a0543bfa752cb0344b2a9d756651db1281d4ba4450", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "974a7a27982b9b791df84e8f6687d21483795882a7840e8309abdbe08bb06f09"}, "rewrite": {:hex, :rewrite, "1.2.0", "80220eb14010e175b67c939397e1a8cdaa2c32db6e2e0a9d5e23e45c0414ce21", [:mix], [{:glob_ex, "~> 0.1", [hex: :glob_ex, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.0", [hex: :sourceror, repo: "hexpm", optional: false]}, {:text_diff, "~> 0.1", [hex: :text_diff, repo: "hexpm", optional: false]}], "hexpm", "a1cd702bbb9d51613ab21091f04a386d750fc6f4516b81900df082d78b2d8c50"}, "slugify": {:hex, :slugify, "1.3.1", "0d3b8b7e5c1eeaa960e44dce94382bee34a39b3ea239293e457a9c5b47cc6fd3", [:mix], [], "hexpm", "cb090bbeb056b312da3125e681d98933a360a70d327820e4b7f91645c4d8be76"}, "sobelow": {:hex, :sobelow, "0.14.1", "2f81e8632f15574cba2402bcddff5497b413c01e6f094bc0ab94e83c2f74db81", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8fac9a2bd90fdc4b15d6fca6e1608efb7f7c600fa75800813b794ee9364c87f2"}, "sourceror": {:hex, :sourceror, "1.10.0", "38397dedbbc286966ec48c7af13e228b171332be1ad731974438c77791945ce9", [:mix], [], "hexpm", "29dbdfc92e04569c9d8e6efdc422fc1d815f4bd0055dc7c51b8800fb75c4b3f1"}, - "spark": {:hex, :spark, "2.3.5", "f30d30ecc3b4ab9b932d9aada66af7677fc1f297a2c349b0bcec3eafb9f996e8", [:mix], [{:igniter, ">= 0.3.64 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: true]}, {:sourceror, "~> 1.2", [hex: :sourceror, repo: "hexpm", optional: true]}], "hexpm", "0e9d339704d5d148f77f2b2fef3bcfc873a9e9bb4224fcf289c545d65827202f"}, + "spark": {:hex, :spark, "2.3.14", "a08420d08e6e0e49d740aed3e160f1cb894ba8f6b3f5e6c63253e9df1995265c", [:mix], [{:igniter, ">= 0.3.64 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: true]}, {:sourceror, "~> 1.2", [hex: :sourceror, repo: "hexpm", optional: true]}], "hexpm", "af50c4ea5dd67eba822247f1c98e1d4e598cb7f6c28ccf5d002f0e0718096f4f"}, "spitfire": {:hex, :spitfire, "0.2.1", "29e154873f05444669c7453d3d931820822cbca5170e88f0f8faa1de74a79b47", [:mix], [], "hexpm", "6eeed75054a38341b2e1814d41bb0a250564092358de2669fdb57ff88141d91b"}, "splode": {:hex, :splode, "0.2.9", "3a2776e187c82f42f5226b33b1220ccbff74f4bcc523dd4039c804caaa3ffdc7", [:mix], [], "hexpm", "8002b00c6e24f8bd1bcced3fbaa5c33346048047bb7e13d2f3ad428babbd95c3"}, "stream_data": {:hex, :stream_data, "1.2.0", "58dd3f9e88afe27dc38bef26fce0c84a9e7a96772b2925c7b32cd2435697a52b", [:mix], [], "hexpm", "eb5c546ee3466920314643edf68943a5b14b32d1da9fe01698dc92b73f89a9ed"}, @@ -80,11 +80,11 @@ "telemetry_metrics": {:hex, :telemetry_metrics, "1.1.0", "5bd5f3b5637e0abea0426b947e3ce5dd304f8b3bc6617039e2b5a008adc02f8f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e7b79e8ddfde70adb6db8a6623d1778ec66401f366e9a8f5dd0955c56bc8ce67"}, "telemetry_poller": {:hex, :telemetry_poller, "1.3.0", "d5c46420126b5ac2d72bc6580fb4f537d35e851cc0f8dbd571acf6d6e10f5ec7", [:rebar3], [{:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "51f18bed7128544a50f75897db9974436ea9bfba560420b646af27a9a9b35211"}, "text_diff": {:hex, :text_diff, "0.1.0", "1caf3175e11a53a9a139bc9339bd607c47b9e376b073d4571c031913317fecaa", [:mix], [], "hexpm", "d1ffaaecab338e49357b6daa82e435f877e0649041ace7755583a0ea3362dbd7"}, - "thousand_island": {:hex, :thousand_island, "1.4.1", "8df065e627407e281f7935da5ad0f3842d10eb721afa92e760b720d71e2e37aa", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "204a8640e5d2818589b87286ae66160978628d7edf6095181cbe0440765fb6c1"}, - "tidewave": {:hex, :tidewave, "0.5.0", "8f278d7eb2d0af36ae6d4f73a5872bd066815bd57b57401125187ba901f095a4", [:mix], [{:circular_buffer, "~> 0.4 or ~> 1.0", [hex: :circular_buffer, repo: "hexpm", optional: false]}, {:igniter, "~> 0.6", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix_live_reload, ">= 1.6.1", [hex: :phoenix_live_reload, repo: "hexpm", optional: true]}, {:plug, "~> 1.17", [hex: :plug, repo: "hexpm", optional: false]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}], "hexpm", "9a1eb5d2f12ff4912328dfbfe652c27fded462c6ed6fd11814ee28d3e9d016b4"}, + "thousand_island": {:hex, :thousand_island, "1.4.2", "735fa783005d1703359bbd2d3a5a3a398075ba4456e5afe3c5b7cf4666303d36", [], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "1c7637f16558fc1c35746d5ee0e83b18b8e59e18d28affd1f2fa1645f8bc7473"}, + "tidewave": {:hex, :tidewave, "0.5.2", "f549acffe9daeed8b6b547c232c60de987770da7f827f9b3300140dfc465b102", [:mix], [{:circular_buffer, "~> 0.4 or ~> 1.0", [hex: :circular_buffer, repo: "hexpm", optional: false]}, {:igniter, "~> 0.6", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix_live_reload, ">= 1.6.1", [hex: :phoenix_live_reload, repo: "hexpm", optional: true]}, {:plug, "~> 1.17", [hex: :plug, repo: "hexpm", optional: false]}, {:req, "~> 0.5", [hex: :req, repo: "hexpm", optional: false]}], "hexpm", "34ab3ffee7e402f05cd1eae68d0e77ed0e0d1925677971ef83634247553e8afd"}, "unicode_util_compat": {:hex, :unicode_util_compat, "0.7.1", "a48703a25c170eedadca83b11e88985af08d35f37c6f664d6dcfb106a97782fc", [:rebar3], [], "hexpm", "b3a917854ce3ae233619744ad1e0102e05673136776fb2fa76234f3e03b23642"}, "websock": {:hex, :websock, "0.5.3", "2f69a6ebe810328555b6fe5c831a851f485e303a7c8ce6c5f675abeb20ebdadc", [:mix], [], "hexpm", "6105453d7fac22c712ad66fab1d45abdf049868f253cf719b625151460b8b453"}, - "websock_adapter": {:hex, :websock_adapter, "0.5.8", "3b97dc94e407e2d1fc666b2fb9acf6be81a1798a2602294aac000260a7c4a47d", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "315b9a1865552212b5f35140ad194e67ce31af45bcee443d4ecb96b5fd3f3782"}, + "websock_adapter": {:hex, :websock_adapter, "0.5.9", "43dc3ba6d89ef5dec5b1d0a39698436a1e856d000d84bf31a3149862b01a287f", [:mix], [{:bandit, ">= 0.6.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "5534d5c9adad3c18a0f58a9371220d75a803bf0b9a3d87e6fe072faaeed76a08"}, "yamerl": {:hex, :yamerl, "0.10.0", "4ff81fee2f1f6a46f1700c0d880b24d193ddb74bd14ef42cb0bcf46e81ef2f8e", [:rebar3], [], "hexpm", "346adb2963f1051dc837a2364e4acf6eb7d80097c0f53cbdc3046ec8ec4b4e6e"}, "yaml_elixir": {:hex, :yaml_elixir, "2.12.0", "30343ff5018637a64b1b7de1ed2a3ca03bc641410c1f311a4dbdc1ffbbf449c7", [:mix], [{:yamerl, "~> 0.10", [hex: :yamerl, repo: "hexpm", optional: false]}], "hexpm", "ca6bacae7bac917a7155dca0ab6149088aa7bc800c94d0fe18c5238f53b313c6"}, "ymlr": {:hex, :ymlr, "5.1.4", "b924d61e1fc1ec371cde6ab3ccd9311110b1e052fc5c2460fb322e8380e7712a", [:mix], [], "hexpm", "75f16cf0709fbd911b30311a0359a7aa4b5476346c01882addefd5f2b1cfaa51"}, diff --git a/priv/gettext/auth.pot b/priv/gettext/auth.pot index ebb8d3c..1cc60cb 100644 --- a/priv/gettext/auth.pot +++ b/priv/gettext/auth.pot @@ -36,7 +36,7 @@ msgstr "" msgid "Need an account?" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:268 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen msgid "Password" msgstr "" @@ -65,78 +65,77 @@ msgstr "" msgid "Your password has successfully been reset" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:254 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "An account with email %{email} already exists. Please enter your password to link your OIDC account." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:289 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:163 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Incorrect password. Please try again." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:37 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Invalid session. Please try again." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:281 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Link Account" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:252 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Link OIDC Account" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:280 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Linking..." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:40 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Session expired. Please try again." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:209 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Your OIDC account has been successfully linked! Redirecting to complete sign-in..." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:76 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Account activated! Redirecting to complete sign-in..." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:119 -#: lib/mv_web/live/auth/link_oidc_account_live.ex:123 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Failed to link account. Please try again or contact support." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:108 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "The email address from your OIDC provider is already registered to another account. Please change your email in the identity provider or contact support." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:98 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "This OIDC account is already linked to another user. Please contact support." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:235 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Language selection" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:242 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Select language" msgstr "" diff --git a/priv/gettext/de/LC_MESSAGES/auth.po b/priv/gettext/de/LC_MESSAGES/auth.po index f0cbdf3..cdcc9ff 100644 --- a/priv/gettext/de/LC_MESSAGES/auth.po +++ b/priv/gettext/de/LC_MESSAGES/auth.po @@ -35,7 +35,7 @@ msgstr "Falls diese*r Benutzer*in bekannt ist, wird jetzt eine Email mit einer A msgid "Need an account?" msgstr "Konto anlegen?" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:268 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen msgid "Password" msgstr "Passwort" @@ -64,78 +64,77 @@ msgstr "Anmelden..." msgid "Your password has successfully been reset" msgstr "Das Passwort wurde erfolgreich zurückgesetzt" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:254 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "An account with email %{email} already exists. Please enter your password to link your OIDC account." msgstr "Ein Konto mit der E-Mail %{email} existiert bereits. Bitte geben Sie Ihr Passwort ein, um Ihr OIDC-Konto zu verknüpfen." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:289 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Cancel" msgstr "Abbrechen" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:163 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Incorrect password. Please try again." msgstr "Falsches Passwort. Bitte versuchen Sie es erneut." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:37 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Invalid session. Please try again." msgstr "Ungültige Sitzung. Bitte versuchen Sie es erneut." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:281 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Link Account" msgstr "Konto verknüpfen" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:252 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Link OIDC Account" msgstr "OIDC-Konto verknüpfen" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:280 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Linking..." msgstr "Verknüpfen..." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:40 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Session expired. Please try again." msgstr "Sitzung abgelaufen. Bitte versuchen Sie es erneut." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:209 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Your OIDC account has been successfully linked! Redirecting to complete sign-in..." msgstr "Ihr OIDC-Konto wurde erfolgreich verknüpft! Sie werden zur Anmeldung weitergeleitet..." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:76 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Account activated! Redirecting to complete sign-in..." msgstr "Konto aktiviert! Sie werden zur Anmeldung weitergeleitet..." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:119 -#: lib/mv_web/live/auth/link_oidc_account_live.ex:123 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Failed to link account. Please try again or contact support." msgstr "Verknüpfung des Kontos fehlgeschlagen. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:108 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "The email address from your OIDC provider is already registered to another account. Please change your email in the identity provider or contact support." msgstr "Die E-Mail-Adresse aus Ihrem OIDC-Provider ist bereits für ein anderes Konto registriert. Bitte ändern Sie Ihre E-Mail-Adresse im Identity-Provider oder kontaktieren Sie den Support." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:98 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "This OIDC account is already linked to another user. Please contact support." msgstr "Dieses OIDC-Konto ist bereits mit einem anderen Benutzer verknüpft. Bitte kontaktieren Sie den Support." -#: lib/mv_web/live/auth/link_oidc_account_live.ex:235 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Language selection" msgstr "Sprachauswahl" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:242 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Select language" msgstr "Sprache auswählen" diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index 607ad9e..b5c69e8 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -10,1288 +10,834 @@ msgid "" msgstr "" "Language: en\n" -#: lib/mv_web/components/core_components.ex:387 -#: lib/mv_web/live/contribution_period_live/show.ex:141 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "Aktionen" -#: lib/mv_web/live/member_live/index.html.heex:248 -#: lib/mv_web/live/user_live/index.html.heex:71 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "Bist du sicher?" -#: lib/mv_web/components/layouts.ex:82 -#: lib/mv_web/components/layouts.ex:94 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "Attempting to reconnect" msgstr "Verbindung wird wiederhergestellt" -#: lib/mv_web/live/member_live/form.ex:53 -#: lib/mv_web/live/member_live/index.html.heex:184 -#: lib/mv_web/live/member_live/show.ex:59 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "Stadt" -#: lib/mv_web/live/contribution_type_live/index.ex:78 -#: lib/mv_web/live/member_live/index.html.heex:250 -#: lib/mv_web/live/user_live/index.html.heex:73 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Delete" msgstr "Löschen" -#: lib/mv_web/live/contribution_type_live/index.ex:66 -#: lib/mv_web/live/member_live/index.html.heex:242 -#: lib/mv_web/live/user_live/form.ex:267 -#: lib/mv_web/live/user_live/index.html.heex:65 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Edit" -msgstr "Bearbeiten" +msgstr "Bearbeite" -#: lib/mv_web/live/member_live/show.ex:42 -#: lib/mv_web/live/member_live/show.ex:114 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Edit Member" msgstr "Mitglied bearbeiten" -#: lib/mv_web/live/contribution_period_live/show.ex:58 -#: lib/mv_web/live/member_live/form.ex:47 -#: lib/mv_web/live/member_live/index.html.heex:112 -#: lib/mv_web/live/member_live/show.ex:51 -#: lib/mv_web/live/user_live/form.ex:46 -#: lib/mv_web/live/user_live/index.html.heex:44 -#: lib/mv_web/live/user_live/show.ex:49 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Email" msgstr "E-Mail" -#: lib/mv_web/live/member_live/form.ex:45 -#: lib/mv_web/live/member_live/show.ex:49 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "First Name" msgstr "Vorname" -#: lib/mv_web/live/member_live/form.ex:50 -#: lib/mv_web/live/member_live/index.html.heex:220 -#: lib/mv_web/live/member_live/show.ex:56 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Join Date" msgstr "Beitrittsdatum" -#: lib/mv_web/live/member_live/form.ex:46 -#: lib/mv_web/live/member_live/show.ex:50 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Last Name" msgstr "Nachname" -#: lib/mv_web/live/member_live/index.html.heex:29 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" msgstr "Neues Mitglied" -#: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:62 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Show" msgstr "Anzeigen" -#: lib/mv_web/components/layouts.ex:89 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "Something went wrong!" msgstr "Etwas ist schiefgelaufen!" -#: lib/mv_web/components/layouts.ex:77 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "We can't find the internet" msgstr "Keine Internetverbindung gefunden" -#: lib/mv_web/components/core_components.ex:82 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "close" msgstr "schließen" -#: lib/mv_web/live/member_live/form.ex:51 -#: lib/mv_web/live/member_live/show.ex:57 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Exit Date" msgstr "Austrittsdatum" -#: lib/mv_web/live/member_live/form.ex:55 -#: lib/mv_web/live/member_live/index.html.heex:148 -#: lib/mv_web/live/member_live/show.ex:61 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "Hausnummer" -#: lib/mv_web/live/contribution_period_live/show.ex:140 -#: lib/mv_web/live/member_live/form.ex:52 -#: lib/mv_web/live/member_live/show.ex:58 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Notes" msgstr "Notizen" -#: lib/mv_web/live/components/payment_filter_component.ex:94 -#: lib/mv_web/live/components/payment_filter_component.ex:144 -#: lib/mv_web/live/contribution_period_live/show.ex:186 -#: lib/mv_web/live/contribution_period_live/show.ex:241 -#: lib/mv_web/live/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:52 +#: lib/mv_web/live/components/payment_filter_component.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Paid" msgstr "Bezahlt" -#: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:202 -#: lib/mv_web/live/member_live/show.ex:55 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "Telefonnummer" -#: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:62 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Postal Code" msgstr "Postleitzahl" -#: lib/mv_web/live/member_live/form.ex:79 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Save Member" msgstr "Mitglied speichern" -#: lib/mv_web/live/custom_field_live/form.ex:66 -#: lib/mv_web/live/custom_field_value_live/form.ex:74 -#: lib/mv_web/live/global_settings_live.ex:55 -#: lib/mv_web/live/member_live/form.ex:78 -#: lib/mv_web/live/user_live/form.ex:249 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/global_settings_live.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Speichern..." -#: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:130 -#: lib/mv_web/live/member_live/show.ex:60 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "Straße" -#: lib/mv_web/live/member_live/show.ex:48 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Id" msgstr "ID" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:62 -#: lib/mv_web/live/member_live/show.ex:53 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/index/formatter.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "No" msgstr "Nein" -#: lib/mv_web/live/member_live/show.ex:113 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format, fuzzy msgid "Show Member" msgstr "Mitglied anzeigen" -#: lib/mv_web/live/member_live/show.ex:34 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "This is a member record from your database." msgstr "Dies ist ein Mitglied aus deiner Datenbank." -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:61 -#: lib/mv_web/live/member_live/show.ex:53 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/index/formatter.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Yes" msgstr "Ja" -#: lib/mv_web/live/custom_field_live/form.ex:110 -#: lib/mv_web/live/custom_field_value_live/form.ex:233 -#: lib/mv_web/live/member_live/form.ex:137 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "create" msgstr "erstellt" -#: lib/mv_web/live/custom_field_live/form.ex:111 -#: lib/mv_web/live/custom_field_value_live/form.ex:234 -#: lib/mv_web/live/member_live/form.ex:138 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "update" msgstr "aktualisiert" -#: lib/mv_web/controllers/auth_controller.ex:60 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Incorrect email or password" msgstr "Falsche E-Mail oder Passwort" -#: lib/mv_web/live/member_live/form.ex:144 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Member %{action} successfully" msgstr "Mitglied %{action} erfolgreich" -#: lib/mv_web/controllers/auth_controller.ex:26 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You are now signed in" msgstr "Sie sind jetzt angemeldet" -#: lib/mv_web/controllers/auth_controller.ex:186 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You are now signed out" msgstr "Sie sind jetzt abgemeldet" -#: lib/mv_web/controllers/auth_controller.ex:85 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n" msgstr "Sie haben sich bereits auf andere Weise angemeldet, aber Ihr Konto noch nicht bestätigt.\nSie können Ihr Konto über den Link bestätigen, den wir Ihnen gesendet haben, oder durch Zurücksetzen Ihres Passworts.\n" -#: lib/mv_web/controllers/auth_controller.ex:24 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Your email address has now been confirmed" msgstr "Ihre E-Mail-Adresse wurde bestätigt" -#: lib/mv_web/controllers/auth_controller.ex:25 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Your password has successfully been reset" msgstr "Ihr Passwort wurde erfolgreich zurückgesetzt" -#: lib/mv_web/live/custom_field_live/form.ex:69 -#: lib/mv_web/live/custom_field_live/index.ex:120 -#: lib/mv_web/live/custom_field_value_live/form.ex:77 -#: lib/mv_web/live/member_live/form.ex:81 -#: lib/mv_web/live/user_live/form.ex:252 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_live/index.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Cancel" msgstr "Abbrechen" -#: lib/mv_web/live/custom_field_value_live/form.ex:62 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Choose a member" msgstr "Mitglied auswählen" -#: lib/mv_web/live/custom_field_live/form.ex:61 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Description" msgstr "Beschreibung" -#: lib/mv_web/live/user_live/show.ex:43 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Edit User" msgstr "Benutzer*in bearbeiten" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Enabled" msgstr "Aktiviert" -#: lib/mv_web/live/custom_field_live/form.ex:62 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Immutable" msgstr "Unveränderlich" -#: lib/mv_web/components/layouts/navbar.ex:113 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Logout" msgstr "Abmelden" -#: lib/mv_web/live/user_live/index.ex:33 -#: lib/mv_web/live/user_live/index.html.heex:3 +#: lib/mv_web/live/user_live/index.ex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Listing Users" msgstr "Benutzer*innen auflisten" -#: lib/mv_web/live/custom_field_value_live/form.ex:60 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Member" msgstr "Mitglied" -#: lib/mv_web/components/layouts/navbar.ex:25 -#: lib/mv_web/live/contribution_type_live/index.ex:61 -#: lib/mv_web/live/member_live/index.ex:74 -#: lib/mv_web/live/member_live/index.html.heex:3 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/member_live/index.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Members" msgstr "Mitglieder" -#: lib/mv_web/live/contribution_type_live/index.ex:48 -#: lib/mv_web/live/custom_field_live/form.ex:51 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" msgstr "Name" -#: lib/mv_web/live/user_live/index.html.heex:6 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "New User" msgstr "Neue*r Benutzer*in" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "Nicht aktiviert" -#: lib/mv_web/live/contribution_period_live/show.ex:207 -#: lib/mv_web/live/user_live/form.ex:107 -#: lib/mv_web/live/user_live/form.ex:115 -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Note" msgstr "Hinweis" -#: lib/mv_web/live/user_live/show.ex:50 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "Passwort-Authentifizierung" -#: lib/mv_web/components/layouts/navbar.ex:106 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Profil" msgstr "Profil" -#: lib/mv_web/live/custom_field_live/form.ex:63 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Required" msgstr "Erforderlich" -#: lib/mv_web/live/member_live/index.html.heex:68 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select all members" msgstr "Alle Mitglieder auswählen" -#: lib/mv_web/live/member_live/index.html.heex:82 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select member" msgstr "Mitglied auswählen" -#: lib/mv_web/components/layouts/navbar.ex:110 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Settings" msgstr "Einstellungen" -#: lib/mv_web/live/user_live/form.ex:250 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Save User" msgstr "Benutzer*in speichern" -#: lib/mv_web/live/user_live/show.ex:77 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Show User" msgstr "Benutzer*in anzeigen" -#: lib/mv_web/live/user_live/show.ex:35 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "This is a user record from your database." msgstr "Dies ist ein Benutzer*innen-Datensatz aus Ihrer Datenbank." -#: lib/mv_web/live/custom_field_value_live/form.ex:128 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Unsupported value type: %{type}" msgstr "Nicht unterstützter Wertetyp: %{type}" -#: lib/mv_web/live/user_live/form.ex:42 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage user records in your database." msgstr "Verwenden Sie dieses Formular, um Benutzer*innen-Datensätze zu verwalten." -#: lib/mv_web/live/user_live/form.ex:268 -#: lib/mv_web/live/user_live/show.ex:34 +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "User" msgstr "Benutzer*in" -#: lib/mv_web/live/custom_field_value_live/form.ex:92 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Value" msgstr "Wert" -#: lib/mv_web/live/custom_field_live/form.ex:56 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Value type" msgstr "Wertetyp" -#: lib/mv_web/components/table_components.ex:30 -#: lib/mv_web/live/components/sort_header_component.ex:57 +#: lib/mv_web/components/table_components.ex +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "ascending" msgstr "aufsteigend" -#: lib/mv_web/components/table_components.ex:30 -#: lib/mv_web/live/components/sort_header_component.ex:58 +#: lib/mv_web/components/table_components.ex +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "descending" msgstr "absteigend" -#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "New" msgstr "Neue*r" -#: lib/mv_web/live/user_live/form.ex:96 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Admin Note" msgstr "Administrator*innen-Hinweis" -#: lib/mv_web/live/user_live/form.ex:96 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "As an administrator, you can directly set a new password for this user using the same secure Ash Authentication system." msgstr "Als Administrator*in können Sie direkt ein neues Passwort für diese*n Benutzer*in setzen, wobei das gleiche sichere Ash Authentication System verwendet wird." -#: lib/mv_web/live/user_live/form.ex:87 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "At least 8 characters" msgstr "Mindestens 8 Zeichen" -#: lib/mv_web/live/user_live/form.ex:59 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Change Password" msgstr "Passwort ändern" -#: lib/mv_web/live/user_live/form.ex:107 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Check 'Change Password' above to set a new password for this user." msgstr "Aktivieren Sie 'Passwort ändern' oben, um ein neues Passwort für diese*n Benutzer*in zu setzen." -#: lib/mv_web/live/user_live/form.ex:77 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Confirm Password" msgstr "Passwort bestätigen" -#: lib/mv_web/live/user_live/form.ex:89 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Consider using special characters" msgstr "Sonderzeichen empfohlen" -#: lib/mv_web/live/user_live/form.ex:88 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Include both letters and numbers" msgstr "Buchstaben und Zahlen verwenden" -#: lib/mv_web/live/user_live/form.ex:67 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Password" msgstr "Passwort" -#: lib/mv_web/live/user_live/form.ex:85 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Password requirements" msgstr "Passwort-Anforderungen" -#: lib/mv_web/live/user_live/index.html.heex:21 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select all users" msgstr "Alle Benutzer*innen auswählen" -#: lib/mv_web/live/user_live/index.html.heex:35 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select user" msgstr "Benutzer*in auswählen" -#: lib/mv_web/live/user_live/form.ex:59 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Set Password" msgstr "Passwort setzen" -#: lib/mv_web/live/user_live/form.ex:115 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "User will be created without a password. Check 'Set Password' to add one." msgstr "Benutzer*in wird ohne Passwort erstellt. Aktivieren Sie 'Passwort setzen', um eines hinzuzufügen." -#: lib/mv_web/live/user_live/form.ex:126 -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Linked Member" msgstr "Verknüpftes Mitglied" -#: lib/mv_web/live/member_live/show.ex:63 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Linked User" msgstr "Verknüpfte*r Benutzer*in" -#: lib/mv_web/live/user_live/index.html.heex:56 -#: lib/mv_web/live/user_live/show.ex:63 +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "No member linked" msgstr "Kein Mitglied verknüpft" -#: lib/mv_web/live/member_live/show.ex:73 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "No user linked" msgstr "Keine*r Benutzer*in verknüpft" -#: lib/mv_web/live/member_live/show.ex:37 -#: lib/mv_web/live/member_live/show.ex:39 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Back to members list" msgstr "Zurück zur Mitgliederliste" -#: lib/mv_web/live/user_live/show.ex:38 -#: lib/mv_web/live/user_live/show.ex:40 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Back to users list" msgstr "Zurück zur Benutzer*innen-Liste" -#: lib/mv_web/components/layouts/navbar.ex:44 -#: lib/mv_web/components/layouts/navbar.ex:50 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Select language" msgstr "Sprache auswählen" -#: lib/mv_web/components/layouts/navbar.ex:57 -#: lib/mv_web/components/layouts/navbar.ex:77 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "Dunklen Modus umschalten" -#: lib/mv_web/live/components/search_bar_component.ex:15 -#: lib/mv_web/live/member_live/index.html.heex:39 +#: lib/mv_web/live/components/search_bar_component.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Search..." msgstr "Suchen..." -#: lib/mv_web/components/layouts/navbar.ex:27 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Users" msgstr "Benutzer*innen" -#: lib/mv_web/live/components/sort_header_component.ex:59 -#: lib/mv_web/live/components/sort_header_component.ex:63 +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "Click to sort" msgstr "Klicke um zu sortieren" -#: lib/mv_web/live/member_live/index.html.heex:94 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "First name" msgstr "Vorname" -#: lib/mv_web/controllers/auth_controller.ex:167 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "An account with this email already exists. Please verify your password to link your OIDC account." msgstr "Ein Konto mit dieser E-Mail existiert bereits. Bitte verifizieren Sie Ihr Passwort, um Ihr OIDC-Konto zu verknüpfen." -#: lib/mv_web/controllers/auth_controller.ex:77 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Unable to authenticate with OIDC. Please try again." msgstr "OIDC-Authentifizierung fehlgeschlagen. Bitte versuchen Sie es erneut." -#: lib/mv_web/controllers/auth_controller.ex:152 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Unable to sign in. Please try again." msgstr "Anmeldung fehlgeschlagen. Bitte versuchen Sie es erneut." -#: lib/mv_web/controllers/auth_controller.ex:92 -#: lib/mv_web/controllers/auth_controller.ex:97 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Authentication failed. Please try again." msgstr "Authentifizierung fehlgeschlagen. Bitte versuchen Sie es erneut." -#: lib/mv_web/controllers/auth_controller.ex:124 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Cannot update email: This email is already registered to another account. Please change your email in the identity provider." msgstr "E-Mail kann nicht aktualisiert werden: Diese E-Mail-Adresse ist bereits für ein anderes Konto registriert. Bitte ändern Sie Ihre E-Mail-Adresse im Identity-Provider." -#: lib/mv_web/controllers/auth_controller.ex:130 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "This email is already linked to a different OIDC account. Cannot link multiple OIDC providers to the same account." msgstr "Diese E-Mail-Adresse ist bereits mit einem anderen OIDC-Konto verknüpft. Es können nicht mehrere OIDC-Provider mit demselben Konto verknüpft werden." -#: lib/mv_web/live/custom_field_value_live/form.ex:53 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Choose a custom field" msgstr "Wähle ein Benutzerdefiniertes Feld" -#: lib/mv_web/live/member_live/form.ex:58 -#: lib/mv_web/live/member_live/show.ex:78 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Custom Field Values" msgstr "Benutzerdefinierte Feldwerte" -#: lib/mv_web/live/custom_field_value_live/form.ex:51 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" msgstr "Benutzerdefiniertes Feld" -#: lib/mv_web/live/custom_field_live/form.ex:117 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "Benutzerdefiniertes Feld erfolgreich %{action}" -#: lib/mv_web/live/custom_field_value_live/form.ex:242 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field value %{action} successfully" msgstr "Benutzerdefinierter Feldwert erfolgreich %{action}" -#: lib/mv_web/live/custom_field_value_live/form.ex:70 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Please select a custom field first" msgstr "Bitte wähle zuerst ein Benutzerdefiniertes Feld" -#: lib/mv_web/live/custom_field_live/form.ex:67 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field" msgstr "Benutzerdefiniertes Feld speichern" -#: lib/mv_web/live/custom_field_value_live/form.ex:75 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field value" msgstr "Benutzerdefinierten Feldwert speichern" -#: lib/mv_web/live/custom_field_live/form.ex:46 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage custom_field records in your database." msgstr "Verwende dieses Formular, um Benutzerdefinierte Felder in deiner Datenbank zu verwalten." -#: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Custom Fields" msgstr "Benutzerdefinierte Felder" -#: lib/mv_web/live/custom_field_value_live/form.ex:42 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Use this form to manage Custom Field Value records in your database." msgstr "Verwende dieses Formular, um Benutzerdefinierte Feldwerte in deiner Datenbank zu verwalten." -#: lib/mv_web/live/custom_field_live/show.ex:56 +#: lib/mv_web/live/custom_field_live/show.ex #, elixir-autogen, elixir-format msgid "Auto-generated identifier (immutable)" msgstr "Automatisch generierter Bezeichner (unveränderlich)" -#: lib/mv_web/live/custom_field_live/index.ex:79 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "%{count} member has a value assigned for this custom field." msgid_plural "%{count} members have values assigned for this custom field." msgstr[0] "%{count} Mitglied hat einen Wert für dieses benutzerdefinierte Feld zugewiesen." msgstr[1] "%{count} Mitglieder haben Werte für dieses benutzerdefinierte Feld zugewiesen." -#: lib/mv_web/live/custom_field_live/index.ex:87 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "All custom field values will be permanently deleted when you delete this custom field." msgstr "Alle benutzerdefinierten Feldwerte werden beim Löschen dieses benutzerdefinierten Feldes dauerhaft gelöscht." -#: lib/mv_web/live/custom_field_live/index.ex:72 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field" msgstr "Benutzerdefiniertes Feld löschen" -#: lib/mv_web/live/custom_field_live/index.ex:127 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field and All Values" msgstr "Benutzerdefiniertes Feld und alle Werte löschen" -#: lib/mv_web/live/custom_field_live/index.ex:109 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Enter the text above to confirm" msgstr "Obigen Text zur Bestätigung eingeben" -#: lib/mv_web/live/custom_field_live/index.ex:97 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format, fuzzy msgid "To confirm deletion, please enter this text:" msgstr "Um die Löschung zu bestätigen, gib bitte folgenden Text ein:" -#: lib/mv_web/live/custom_field_live/form.ex:64 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Show in overview" msgstr "In der Mitglieder-Übersicht anzeigen" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Association Name" msgstr "Vereinsname" -#: lib/mv_web/live/global_settings_live.ex:31 -#: lib/mv_web/live/global_settings_live.ex:41 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "Vereinsdaten" -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "Passe übergreifende Einstellungen für den Verein an." -#: lib/mv_web/live/contribution_settings_live.ex:102 -#: lib/mv_web/live/global_settings_live.ex:56 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "Einstellungen speichern" -#: lib/mv_web/live/global_settings_live.ex:75 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "Einstellungen erfolgreich gespeichert" -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "A member with this email already exists. To link with a different member, please change one of the email addresses first." msgstr "Ein Mitglied mit dieser E-Mail-Adresse existiert bereits. Um mit einem anderen Mitglied zu verknüpfen, ändern Sie bitte zuerst eine der E-Mail-Adressen." -#: lib/mv_web/live/user_live/form.ex:192 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Available members" msgstr "Verfügbare Mitglieder" -#: lib/mv_web/live/user_live/form.ex:359 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "Fehler beim Verlinken des Mitglieds: %{error}" -#: lib/mv_web/live/user_live/form.ex:152 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Member will be unlinked when you save. Cannot select new member until saved." msgstr "Mitglied wird beim Speichern entverknüpft. Neues Mitglied kann erst nach dem Speichern ausgewählt werden." -#: lib/mv_web/live/user_live/form.ex:240 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Save to confirm linking." msgstr "Speichern, um die Verknüpfung zu bestätigen." -#: lib/mv_web/live/user_live/form.ex:171 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Search for a member to link..." msgstr "Nach einem Mitglied zum Verknüpfen suchen..." -#: lib/mv_web/live/user_live/form.ex:175 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Search for member to link" msgstr "Nach Mitglied zum Verknüpfen suchen" -#: lib/mv_web/live/user_live/form.ex:237 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Selected" msgstr "Ausgewählt" -#: lib/mv_web/live/user_live/form.ex:143 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Unlink Member" msgstr "Mitglied entverknüpfen" -#: lib/mv_web/live/user_live/form.ex:152 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Unlinking scheduled" msgstr "Entverknüpfung geplant" -#: lib/mv_web/live/member_live/index.ex:160 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" msgstr[0] "%{count} E-Mail-Adresse in die Zwischenablage kopiert" msgstr[1] "%{count} E-Mail-Adressen in die Zwischenablage kopiert" -#: lib/mv_web/live/member_live/index.html.heex:10 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Copy email addresses of selected members" msgstr "E-Mail-Adressen der ausgewählten Mitglieder kopieren" -#: lib/mv_web/live/member_live/index.html.heex:13 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Copy emails" msgstr "E-Mails kopieren" -#: lib/mv_web/live/member_live/index.ex:149 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "Keine E-Mail-Adressen gefunden" -#: lib/mv_web/live/member_live/index.ex:146 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "No members selected" msgstr "Keine Mitglieder ausgewählt" -#: lib/mv_web/live/member_live/index.html.heex:23 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "E-Mail-Programm mit BCC-Empfänger*innen öffnen" -#: lib/mv_web/live/member_live/index.html.heex:26 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "Im E-Mail-Programm öffnen" -#: lib/mv_web/live/member_live/index.ex:169 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "Tipp: E-Mail-Adressen ins BCC-Feld einfügen für Datenschutzkonformität" -#: lib/mv_web/live/member_live/form.ex:40 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Fields marked with an asterisk (*) cannot be empty." msgstr "Felder, die mit einem Sternchen (*) markiert sind, dürfen nicht leer bleiben." -#: lib/mv_web/components/core_components.ex:206 -#: lib/mv_web/components/core_components.ex:223 -#: lib/mv_web/components/core_components.ex:250 -#: lib/mv_web/components/core_components.ex:277 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format, fuzzy msgid "This field cannot be empty" msgstr "Dieses Feld darf nicht leer bleiben" -#: lib/mv_web/live/components/payment_filter_component.ex:80 -#: lib/mv_web/live/components/payment_filter_component.ex:143 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "All" msgstr "Alle" -#: lib/mv_web/live/components/payment_filter_component.ex:54 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Filter by payment status" msgstr "Nach Zahlungsstatus filtern" -#: lib/mv_web/live/components/payment_filter_component.ex:108 -#: lib/mv_web/live/components/payment_filter_component.ex:145 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Not paid" msgstr "Nicht bezahlt" -#: lib/mv_web/live/components/payment_filter_component.ex:65 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Payment filter" msgstr "Zahlungsfilter" -#: lib/mv_web/live/contribution_period_live/show.ex:107 -#, elixir-autogen, elixir-format -msgid "%{count} period selected" -msgid_plural "%{count} periods selected" -msgstr[0] "%{count} Beiträge ausgewählt" -msgstr[1] "%{count} Beiträge ausgewählt" - -#: lib/mv_web/live/contribution_type_live/index.ex:113 -#, elixir-autogen, elixir-format -msgid "About Contribution Types" -msgstr "Über Beitragsarten" - -#: lib/mv_web/live/contribution_period_live/show.ex:138 -#: lib/mv_web/live/contribution_type_live/index.ex:53 -#, elixir-autogen, elixir-format -msgid "Amount" -msgstr "Betrag" - -#: lib/mv_web/live/contribution_period_live/show.ex:48 -#, elixir-autogen, elixir-format -msgid "Back to Settings" -msgstr "Zurück zu Einstellungen" - -#: lib/mv_web/live/contribution_type_live/index.ex:124 -#, elixir-autogen, elixir-format -msgid "Can be changed at any time. Amount changes affect future periods only." -msgstr "Kann jederzeit geändert werden. Betragsänderungen wirken sich nur auf zukünftige Beiträge aus." - -#: lib/mv_web/live/contribution_type_live/index.ex:77 -#, elixir-autogen, elixir-format -msgid "Cannot delete - members assigned" -msgstr "Löschen nicht möglich - Mitglieder zugewiesen" - -#: lib/mv_web/live/contribution_period_live/show.ex:83 -#, elixir-autogen, elixir-format -msgid "Change Contribution Type" -msgstr "Beitragsart ändern" - -#: lib/mv_web/live/contribution_settings_live.ex:42 -#, elixir-autogen, elixir-format -msgid "Configure global settings for membership contributions." -msgstr "Globale Einstellungen für Mitgliedsbeiträge konfigurieren." - -#: lib/mv_web/components/layouts/navbar.ex:34 -#: lib/mv_web/live/contribution_settings_live.ex:27 -#: lib/mv_web/live/contribution_settings_live.ex:40 -#, elixir-autogen, elixir-format -msgid "Contribution Settings" -msgstr "Beitragseinstellungen" - -#: lib/mv_web/live/contribution_period_live/show.ex:62 -#, elixir-autogen, elixir-format -msgid "Contribution Start" -msgstr "Beitragsbeginn" - -#: lib/mv_web/components/layouts/navbar.ex:32 -#: lib/mv_web/live/contribution_type_live/index.ex:25 -#: lib/mv_web/live/contribution_type_live/index.ex:36 -#, elixir-autogen, elixir-format -msgid "Contribution Types" -msgstr "Beitragsarten" - -#: lib/mv_web/live/contribution_settings_live.ex:224 -#, elixir-autogen, elixir-format -msgid "Contribution start" -msgstr "Beitragsbeginn" - -#: lib/mv_web/live/contribution_period_live/show.ex:41 -#, elixir-autogen, elixir-format -msgid "Contribution type" -msgstr "Beitragsart" - -#: lib/mv_web/live/contribution_type_live/index.ex:117 -#, elixir-autogen, elixir-format -msgid "Contribution types define different membership fee structures. Each type has a fixed interval (monthly, quarterly, half-yearly, yearly) that cannot be changed after creation." -msgstr "Beitragsarten definieren verschiedene Mitgliedsbeitragsstrukturen. Jede Art hat ein festes Intervall (monatlich, quartalsweise, halbjährlich, jährlich), das nach der Erstellung nicht mehr geändert werden kann." - -#: lib/mv_web/components/layouts/navbar.ex:30 -#, elixir-autogen, elixir-format -msgid "Contributions" -msgstr "Beiträge" - -#: lib/mv_web/live/contribution_period_live/show.ex:39 -#, elixir-autogen, elixir-format -msgid "Contributions for %{name}" -msgstr "Beiträge für %{name}" - -#: lib/mv_web/live/contribution_period_live/show.ex:159 -#, elixir-autogen, elixir-format -msgid "Current" -msgstr "Aktuell" - -#: lib/mv_web/live/contribution_settings_live.ex:60 -#, elixir-autogen, elixir-format -msgid "Default Contribution Type" -msgstr "Standard-Beitragsart" - -#: lib/mv_web/live/contribution_type_live/index.ex:133 -#, elixir-autogen, elixir-format -msgid "Deletion" -msgstr "Löschung" - -#: lib/mv_web/live/contribution_settings_live.ex:173 -#, elixir-autogen, elixir-format -msgid "Example: Member Contribution View" -msgstr "Beispiel: Mitglieder-Beitragsansicht" - -#: lib/mv_web/live/contribution_settings_live.ex:113 -#, elixir-autogen, elixir-format -msgid "Examples" -msgstr "Beispiele" - -#: lib/mv_web/live/contribution_settings_live.ex:262 -#: lib/mv_web/live/contribution_type_live/index.ex:172 -#, elixir-autogen, elixir-format -msgid "Family" -msgstr "Familie" - -#: lib/mv_web/live/contribution_type_live/index.ex:128 -#, elixir-autogen, elixir-format -msgid "Fixed after creation. Members can only switch between types with the same interval." -msgstr "Nach der Erstellung unveränderlich. Mitglieder können nur zwischen Arten mit demselben Intervall wechseln." - -#: lib/mv_web/live/contribution_settings_live.ex:228 -#, elixir-autogen, elixir-format -msgid "Generated periods" -msgstr "Generierte Beiträge" - -#: lib/mv_web/live/contribution_settings_live.ex:52 -#, elixir-autogen, elixir-format -msgid "Global Settings" -msgstr "Globale Einstellungen" - -#: lib/mv_web/live/contribution_period_live/show.ex:343 -#: lib/mv_web/live/contribution_settings_live.ex:275 -#: lib/mv_web/live/contribution_type_live/index.ex:203 -#, elixir-autogen, elixir-format -msgid "Half-yearly" -msgstr "Halbjährlich" - -#: lib/mv_web/live/contribution_type_live/index.ex:181 -#, elixir-autogen, elixir-format -msgid "Half-yearly contribution for supporting members" -msgstr "Halbjährlicher Beitrag für Fördermitglieder" - -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_type_live/index.ex:188 -#, elixir-autogen, elixir-format -msgid "Honorary" -msgstr "Ehrenmitglied" - -#: lib/mv_web/live/contribution_settings_live.ex:85 -#, elixir-autogen, elixir-format -msgid "Include joining period" -msgstr "Zahlt ab Zeitpunkt des Eintritts" - -#: lib/mv_web/live/contribution_period_live/show.ex:137 -#: lib/mv_web/live/contribution_type_live/index.ex:57 -#: lib/mv_web/live/contribution_type_live/index.ex:127 -#, elixir-autogen, elixir-format -msgid "Interval" -msgstr "Intervall" - -#: lib/mv_web/live/contribution_settings_live.ex:220 -#, elixir-autogen, elixir-format -msgid "Joining date" -msgstr "Eintrittsdatum" - -#: lib/mv_web/live/contribution_period_live/show.ex:331 -#, elixir-autogen, elixir-format -msgid "Joining year - reduced to 0" -msgstr "Eintrittsjahr - auf 0 reduziert" - -#: lib/mv_web/live/contribution_type_live/index.ex:38 -#, elixir-autogen, elixir-format -msgid "Manage contribution types for membership fees." -msgstr "Beitragsarten für Mitgliedsbeiträge verwalten." - -#: lib/mv_web/live/contribution_period_live/show.ex:116 -#, elixir-autogen, elixir-format -msgid "Mark as Paid" -msgstr "Als bezahlt markieren" - -#: lib/mv_web/live/contribution_period_live/show.ex:120 -#, elixir-autogen, elixir-format -msgid "Mark as Suspended" -msgstr "Als ausgesetzt markieren" - -#: lib/mv_web/live/contribution_period_live/show.ex:124 -#, elixir-autogen, elixir-format -msgid "Mark as Unpaid" -msgstr "Als unbezahlt markieren" - -#: lib/mv_web/live/contribution_period_live/show.ex:26 -#, elixir-autogen, elixir-format -msgid "Member Contributions" -msgstr "Mitgliedsbeiträge" - -#: lib/mv_web/live/contribution_settings_live.ex:122 -#, elixir-autogen, elixir-format -msgid "Member pays for the year they joined" -msgstr "Mitglied zahlt für das Eintrittsjahr" - -#: lib/mv_web/live/contribution_settings_live.ex:155 -#, elixir-autogen, elixir-format -msgid "Member pays from the joining month" -msgstr "Mitglied zahlt ab dem Eintrittsmonat" - -#: lib/mv_web/live/contribution_settings_live.ex:144 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full quarter" -msgstr "Mitglied zahlt ab dem nächsten vollen Quartal" - -#: lib/mv_web/live/contribution_settings_live.ex:133 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full year" -msgstr "Mitglied zahlt ab dem nächsten vollen Jahr" - -#: lib/mv_web/live/contribution_period_live/show.ex:43 -#, elixir-autogen, elixir-format -msgid "Member since" -msgstr "Mitglied seit" - -#: lib/mv_web/live/contribution_period_live/show.ex:92 -#, elixir-autogen, elixir-format -msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps." -msgstr "Mitglieder können nur zwischen Beitragsarten mit demselben Zahlungsintervall wechseln (z.B. jährlich zu jährlich). Dies verhindert komplexe Periodenüberschneidungen." - -#: lib/mv_web/live/contribution_period_live/show.ex:341 -#: lib/mv_web/live/contribution_settings_live.ex:273 -#: lib/mv_web/live/contribution_type_live/index.ex:201 -#, elixir-autogen, elixir-format -msgid "Monthly" -msgstr "Monatlich" - -#: lib/mv_web/live/contribution_settings_live.ex:150 -#, elixir-autogen, elixir-format -msgid "Monthly Interval - Joining Period Included" -msgstr "Monatliches Intervall - Eintrittsperiode eingeschlossen" - -#: lib/mv_web/live/contribution_type_live/index.ex:165 -#, elixir-autogen, elixir-format -msgid "Monthly fee for students and trainees" -msgstr "Monatlicher Beitrag für Studierende und Auszubildende" - -#: lib/mv_web/live/contribution_type_live/index.ex:123 -#, elixir-autogen, elixir-format -msgid "Name & Amount" -msgstr "Name & Betrag" - -#: lib/mv_web/live/contribution_type_live/index.ex:42 -#, elixir-autogen, elixir-format -msgid "New Contribution Type" -msgstr "Neue Beitragsart" - -#: lib/mv_web/live/contribution_type_live/index.ex:189 -#, elixir-autogen, elixir-format -msgid "No fee for honorary members" -msgstr "Kein Beitrag für Ehrenmitglieder" - -#: lib/mv_web/live/contribution_type_live/index.ex:134 -#, elixir-autogen, elixir-format -msgid "Only possible if no members are assigned to this type." -msgstr "Nur möglich, wenn keine Mitglieder dieser Art zugewiesen sind." - -#: lib/mv_web/live/contribution_period_live/show.ex:70 -#, elixir-autogen, elixir-format -msgid "Open Contributions" -msgstr "Offene Beiträge" - -#: lib/mv_web/live/contribution_period_live/show.ex:301 -#, elixir-autogen, elixir-format -msgid "Paid via bank transfer" -msgstr "Per Überweisung bezahlt" - -#: lib/mv_web/live/contribution_period_live/show.ex:225 -#: lib/mv_web/live/contribution_settings_live.ex:197 -#: lib/mv_web/live/contribution_type_live/index.ex:97 -#, elixir-autogen, elixir-format -msgid "Preview Mockup" -msgstr "Vorschau" - -#: lib/mv_web/live/contribution_period_live/show.ex:342 -#: lib/mv_web/live/contribution_settings_live.ex:274 -#: lib/mv_web/live/contribution_type_live/index.ex:202 -#, elixir-autogen, elixir-format -msgid "Quarterly" -msgstr "Quartalsweise" - -#: lib/mv_web/live/contribution_settings_live.ex:139 -#, elixir-autogen, elixir-format -msgid "Quarterly Interval - Joining Period Excluded" -msgstr "Quartalsintervall - Eintrittsperiode ausgeschlossen" - -#: lib/mv_web/live/contribution_type_live/index.ex:173 -#, elixir-autogen, elixir-format -msgid "Quarterly fee for family memberships" -msgstr "Quartalsbeitrag für Familienmitgliedschaften" - -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_settings_live.ex:250 -#: lib/mv_web/live/contribution_type_live/index.ex:156 -#, elixir-autogen, elixir-format -msgid "Reduced" -msgstr "Ermäßigt" - -#: lib/mv_web/live/contribution_type_live/index.ex:157 -#, elixir-autogen, elixir-format -msgid "Reduced fee for unemployed, pensioners, or low income" -msgstr "Ermäßigter Beitrag für Arbeitslose, Rentner*innen oder Geringverdienende" - -#: lib/mv_web/live/contribution_period_live/show.ex:275 -#: lib/mv_web/live/contribution_settings_live.ex:244 -#: lib/mv_web/live/contribution_type_live/index.ex:148 -#, elixir-autogen, elixir-format -msgid "Regular" -msgstr "Regulär" - -#: lib/mv_web/live/contribution_period_live/show.ex:204 -#, elixir-autogen, elixir-format -msgid "Reopen" -msgstr "Wieder öffnen" - -#: lib/mv_web/live/contribution_settings_live.ex:176 -#, elixir-autogen, elixir-format -msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." -msgstr "Sehen Sie, wie die Beitragsperioden für ein einzelnes Mitglied angezeigt werden. Dieses Beispiel zeigt Maria Weber mit mehreren Beitragsperioden." - -#: lib/mv_web/live/contribution_type_live/index.ex:149 -#, elixir-autogen, elixir-format -msgid "Standard membership fee for regular members" -msgstr "Standard-Mitgliedsbeitrag für reguläre Mitglieder" - -#: lib/mv_web/live/contribution_period_live/show.ex:139 -#, elixir-autogen, elixir-format -msgid "Status" -msgstr "Status" - -#: lib/mv_web/live/contribution_settings_live.ex:256 -#: lib/mv_web/live/contribution_type_live/index.ex:164 -#, elixir-autogen, elixir-format -msgid "Student" -msgstr "Student*in" - -#: lib/mv_web/live/contribution_type_live/index.ex:180 -#, elixir-autogen, elixir-format -msgid "Supporting Member" -msgstr "Fördermitglied" - -#: lib/mv_web/live/contribution_period_live/show.ex:195 -#, elixir-autogen, elixir-format -msgid "Suspend" -msgstr "Aussetzen" - -#: lib/mv_web/live/contribution_period_live/show.ex:259 -#, elixir-autogen, elixir-format -msgid "Suspended" -msgstr "Ausgesetzt" - -#: lib/mv_web/live/contribution_settings_live.ex:69 -#, elixir-autogen, elixir-format -msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." -msgstr "Diese Beitragsart wird automatisch allen neuen Mitgliedern zugewiesen. Kann pro Mitglied individuell geändert werden." - -#: lib/mv_web/live/contribution_period_live/show.ex:227 -#: lib/mv_web/live/contribution_settings_live.ex:199 -#: lib/mv_web/live/contribution_type_live/index.ex:99 -#, elixir-autogen, elixir-format -msgid "This page is not functional and only displays the planned features." -msgstr "Diese Seite ist nicht funktional und zeigt nur die geplanten Funktionen." - -#: lib/mv_web/live/contribution_period_live/show.ex:136 -#, elixir-autogen, elixir-format -msgid "Time Period" -msgstr "Zeitraum" - -#: lib/mv_web/live/contribution_period_live/show.ex:66 -#, elixir-autogen, elixir-format -msgid "Total Contributions" -msgstr "Beiträge gesamt" - -#: lib/mv_web/live/contribution_period_live/show.ex:250 -#, elixir-autogen, elixir-format -msgid "Unpaid" -msgstr "Unbezahlt" - -#: lib/mv_web/live/contribution_settings_live.ex:183 -#, elixir-autogen, elixir-format -msgid "View Example Member" -msgstr "Beispielmitglied ansehen" - -#: lib/mv_web/live/contribution_settings_live.ex:90 -#, elixir-autogen, elixir-format -msgid "When active: Members pay from the period of their joining." -msgstr "Wenn aktiv: Mitglieder zahlen ab der Periode ihres Eintritts." - -#: lib/mv_web/live/contribution_settings_live.ex:93 -#, elixir-autogen, elixir-format -msgid "When inactive: Members pay from the next full period after joining." -msgstr "Wenn inaktiv: Mitglieder zahlen ab der nächsten vollen Periode nach dem Eintritt." - -#: lib/mv_web/live/contribution_period_live/show.ex:98 -#, elixir-autogen, elixir-format -msgid "Why are not all contribution types shown?" -msgstr "Warum werden nicht alle Beitragsarten angezeigt?" - -#: lib/mv_web/live/contribution_period_live/show.ex:85 -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_period_live/show.ex:344 -#: lib/mv_web/live/contribution_settings_live.ex:276 -#: lib/mv_web/live/contribution_type_live/index.ex:204 -#, elixir-autogen, elixir-format -msgid "Yearly" -msgstr "Jährlich" - -#: lib/mv_web/live/contribution_settings_live.ex:128 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Excluded" -msgstr "Jährliches Intervall - Eintrittsperiode ausgeschlossen" - -#: lib/mv_web/live/contribution_settings_live.ex:117 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Included" -msgstr "Jährliches Intervall - Eintrittsperiode eingeschlossen" - -#~ #: lib/mv_web/live/member_live/form.ex:48 -#~ #: lib/mv_web/live/member_live/show.ex:51 +#~ #: lib/mv_web/live/member_live/form.ex +#~ #: lib/mv_web/live/member_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "Birth Date" #~ msgstr "Geburtsdatum" -#~ #: lib/mv_web/live/user_live/show.ex:49 +#~ #: lib/mv_web/live/user_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "ID" #~ msgstr "ID" -#~ #: lib/mv_web/live/user_live/show.ex:51 +#~ #: lib/mv_web/live/user_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "Not set" #~ msgstr "Nicht gesetzt" -#~ #: lib/mv_web/live/user_live/index.html.heex:52 -#~ #: lib/mv_web/live/user_live/show.ex:51 +#~ #: lib/mv_web/live/user_live/index.html.heex +#~ #: lib/mv_web/live/user_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "OIDC ID" #~ msgstr "OIDC ID" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index b66c5ed..877d62b 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -11,844 +11,912 @@ msgid "" msgstr "" -#: lib/mv_web/components/core_components.ex:387 -#: lib/mv_web/live/contribution_period_live/show.ex:141 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:248 -#: lib/mv_web/live/user_live/index.html.heex:71 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" -#: lib/mv_web/components/layouts.ex:82 -#: lib/mv_web/components/layouts.ex:94 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "Attempting to reconnect" msgstr "" -#: lib/mv_web/live/member_live/form.ex:53 -#: lib/mv_web/live/member_live/index.html.heex:184 -#: lib/mv_web/live/member_live/show.ex:59 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:78 -#: lib/mv_web/live/member_live/index.html.heex:250 -#: lib/mv_web/live/user_live/index.html.heex:73 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:66 -#: lib/mv_web/live/member_live/index.html.heex:242 -#: lib/mv_web/live/user_live/form.ex:267 -#: lib/mv_web/live/user_live/index.html.heex:65 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Edit" msgstr "" -#: lib/mv_web/live/member_live/show.ex:42 -#: lib/mv_web/live/member_live/show.ex:114 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Edit Member" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:58 -#: lib/mv_web/live/member_live/form.ex:47 -#: lib/mv_web/live/member_live/index.html.heex:112 -#: lib/mv_web/live/member_live/show.ex:51 -#: lib/mv_web/live/user_live/form.ex:46 -#: lib/mv_web/live/user_live/index.html.heex:44 -#: lib/mv_web/live/user_live/show.ex:49 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Email" msgstr "" -#: lib/mv_web/live/member_live/form.ex:45 -#: lib/mv_web/live/member_live/show.ex:49 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "First Name" msgstr "" -#: lib/mv_web/live/member_live/form.ex:50 -#: lib/mv_web/live/member_live/index.html.heex:220 -#: lib/mv_web/live/member_live/show.ex:56 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Join Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex:46 -#: lib/mv_web/live/member_live/show.ex:50 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:29 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:62 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Show" msgstr "" -#: lib/mv_web/components/layouts.ex:89 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "Something went wrong!" msgstr "" -#: lib/mv_web/components/layouts.ex:77 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "We can't find the internet" msgstr "" -#: lib/mv_web/components/core_components.ex:82 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "close" msgstr "" -#: lib/mv_web/live/member_live/form.ex:51 -#: lib/mv_web/live/member_live/show.ex:57 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Exit Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex:55 -#: lib/mv_web/live/member_live/index.html.heex:148 -#: lib/mv_web/live/member_live/show.ex:61 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:140 -#: lib/mv_web/live/member_live/form.ex:52 -#: lib/mv_web/live/member_live/show.ex:58 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Notes" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:94 -#: lib/mv_web/live/components/payment_filter_component.ex:144 -#: lib/mv_web/live/contribution_period_live/show.ex:186 -#: lib/mv_web/live/contribution_period_live/show.ex:241 -#: lib/mv_web/live/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:52 +#: lib/mv_web/live/components/payment_filter_component.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Paid" msgstr "" -#: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:202 -#: lib/mv_web/live/member_live/show.ex:55 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:62 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Postal Code" msgstr "" -#: lib/mv_web/live/member_live/form.ex:79 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Save Member" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:66 -#: lib/mv_web/live/custom_field_value_live/form.ex:74 -#: lib/mv_web/live/global_settings_live.ex:55 -#: lib/mv_web/live/member_live/form.ex:78 -#: lib/mv_web/live/user_live/form.ex:249 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/global_settings_live.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" -#: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:130 -#: lib/mv_web/live/member_live/show.ex:60 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex:48 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Id" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:62 -#: lib/mv_web/live/member_live/show.ex:53 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/index/formatter.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "No" msgstr "" -#: lib/mv_web/live/member_live/show.ex:113 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Show Member" msgstr "" -#: lib/mv_web/live/member_live/show.ex:34 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "This is a member record from your database." msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:61 -#: lib/mv_web/live/member_live/show.ex:53 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/index/formatter.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Yes" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:110 -#: lib/mv_web/live/custom_field_value_live/form.ex:233 -#: lib/mv_web/live/member_live/form.ex:137 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "create" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:111 -#: lib/mv_web/live/custom_field_value_live/form.ex:234 -#: lib/mv_web/live/member_live/form.ex:138 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "update" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:60 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Incorrect email or password" msgstr "" -#: lib/mv_web/live/member_live/form.ex:144 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Member %{action} successfully" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:26 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You are now signed in" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:186 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You are now signed out" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:85 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:24 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Your email address has now been confirmed" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:25 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Your password has successfully been reset" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:69 -#: lib/mv_web/live/custom_field_live/index.ex:120 -#: lib/mv_web/live/custom_field_value_live/form.ex:77 -#: lib/mv_web/live/member_live/form.ex:81 -#: lib/mv_web/live/user_live/form.ex:252 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_live/index.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:62 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Choose a member" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:61 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Description" msgstr "" -#: lib/mv_web/live/user_live/show.ex:43 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Edit User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:62 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Immutable" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:113 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Logout" msgstr "" -#: lib/mv_web/live/user_live/index.ex:33 -#: lib/mv_web/live/user_live/index.html.heex:3 +#: lib/mv_web/live/user_live/index.ex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Listing Users" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:60 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:25 -#: lib/mv_web/live/contribution_type_live/index.ex:61 -#: lib/mv_web/live/member_live/index.ex:74 -#: lib/mv_web/live/member_live/index.html.heex:3 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/member_live/index.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Members" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:48 -#: lib/mv_web/live/custom_field_live/form.ex:51 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:6 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:207 -#: lib/mv_web/live/user_live/form.ex:107 -#: lib/mv_web/live/user_live/form.ex:115 -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/show.ex:50 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:106 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Profil" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:63 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Required" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:68 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:82 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:110 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:250 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Save User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:77 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Show User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:35 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "This is a user record from your database." msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:128 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Unsupported value type: %{type}" msgstr "" -#: lib/mv_web/live/user_live/form.ex:42 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage user records in your database." msgstr "" -#: lib/mv_web/live/user_live/form.ex:268 -#: lib/mv_web/live/user_live/show.ex:34 +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "User" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:92 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Value" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:56 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Value type" msgstr "" -#: lib/mv_web/components/table_components.ex:30 -#: lib/mv_web/live/components/sort_header_component.ex:57 +#: lib/mv_web/components/table_components.ex +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "ascending" msgstr "" -#: lib/mv_web/components/table_components.ex:30 -#: lib/mv_web/live/components/sort_header_component.ex:58 +#: lib/mv_web/components/table_components.ex +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "descending" msgstr "" -#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "New" msgstr "" -#: lib/mv_web/live/user_live/form.ex:96 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Admin Note" msgstr "" -#: lib/mv_web/live/user_live/form.ex:96 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "As an administrator, you can directly set a new password for this user using the same secure Ash Authentication system." msgstr "" -#: lib/mv_web/live/user_live/form.ex:87 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "At least 8 characters" msgstr "" -#: lib/mv_web/live/user_live/form.ex:59 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Change Password" msgstr "" -#: lib/mv_web/live/user_live/form.ex:107 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Check 'Change Password' above to set a new password for this user." msgstr "" -#: lib/mv_web/live/user_live/form.ex:77 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Confirm Password" msgstr "" -#: lib/mv_web/live/user_live/form.ex:89 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Consider using special characters" msgstr "" -#: lib/mv_web/live/user_live/form.ex:88 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Include both letters and numbers" msgstr "" -#: lib/mv_web/live/user_live/form.ex:67 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Password" msgstr "" -#: lib/mv_web/live/user_live/form.ex:85 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Password requirements" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:21 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select all users" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:35 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select user" msgstr "" -#: lib/mv_web/live/user_live/form.ex:59 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Set Password" msgstr "" -#: lib/mv_web/live/user_live/form.ex:115 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "User will be created without a password. Check 'Set Password' to add one." msgstr "" -#: lib/mv_web/live/user_live/form.ex:126 -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Linked Member" msgstr "" -#: lib/mv_web/live/member_live/show.ex:63 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Linked User" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:56 -#: lib/mv_web/live/user_live/show.ex:63 +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "No member linked" msgstr "" -#: lib/mv_web/live/member_live/show.ex:73 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "No user linked" msgstr "" -#: lib/mv_web/live/member_live/show.ex:37 -#: lib/mv_web/live/member_live/show.ex:39 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Back to members list" msgstr "" -#: lib/mv_web/live/user_live/show.ex:38 -#: lib/mv_web/live/user_live/show.ex:40 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Back to users list" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:44 -#: lib/mv_web/components/layouts/navbar.ex:50 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Select language" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:57 -#: lib/mv_web/components/layouts/navbar.ex:77 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "" -#: lib/mv_web/live/components/search_bar_component.ex:15 -#: lib/mv_web/live/member_live/index.html.heex:39 +#: lib/mv_web/live/components/search_bar_component.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Search..." msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:27 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Users" msgstr "" -#: lib/mv_web/live/components/sort_header_component.ex:59 -#: lib/mv_web/live/components/sort_header_component.ex:63 +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "Click to sort" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:94 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "First name" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:167 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "An account with this email already exists. Please verify your password to link your OIDC account." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:77 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Unable to authenticate with OIDC. Please try again." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:152 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Unable to sign in. Please try again." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:92 -#: lib/mv_web/controllers/auth_controller.ex:97 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Authentication failed. Please try again." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:124 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Cannot update email: This email is already registered to another account. Please change your email in the identity provider." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:130 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "This email is already linked to a different OIDC account. Cannot link multiple OIDC providers to the same account." msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:53 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Choose a custom field" msgstr "" -#: lib/mv_web/live/member_live/form.ex:58 -#: lib/mv_web/live/member_live/show.ex:78 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Custom Field Values" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:51 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:117 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:242 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field value %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:70 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Please select a custom field first" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:67 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:75 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field value" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:46 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage custom_field records in your database." msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Custom Fields" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:42 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage Custom Field Value records in your database." msgstr "" -#: lib/mv_web/live/custom_field_live/show.ex:56 +#: lib/mv_web/live/custom_field_live/show.ex #, elixir-autogen, elixir-format msgid "Auto-generated identifier (immutable)" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:79 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "%{count} member has a value assigned for this custom field." msgid_plural "%{count} members have values assigned for this custom field." msgstr[0] "" msgstr[1] "" -#: lib/mv_web/live/custom_field_live/index.ex:87 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "All custom field values will be permanently deleted when you delete this custom field." msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:72 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:127 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field and All Values" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:109 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Enter the text above to confirm" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:97 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "To confirm deletion, please enter this text:" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:64 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Show in overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:31 -#: lib/mv_web/live/global_settings_live.ex:41 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:102 -#: lib/mv_web/live/global_settings_live.ex:56 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:75 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "" -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "A member with this email already exists. To link with a different member, please change one of the email addresses first." msgstr "" -#: lib/mv_web/live/user_live/form.ex:192 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:359 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "" -#: lib/mv_web/live/user_live/form.ex:152 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Member will be unlinked when you save. Cannot select new member until saved." msgstr "" -#: lib/mv_web/live/user_live/form.ex:240 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Save to confirm linking." msgstr "" -#: lib/mv_web/live/user_live/form.ex:171 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Search for a member to link..." msgstr "" -#: lib/mv_web/live/user_live/form.ex:175 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Search for member to link" msgstr "" -#: lib/mv_web/live/user_live/form.ex:237 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Selected" msgstr "" -#: lib/mv_web/live/user_live/form.ex:143 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Unlink Member" msgstr "" -#: lib/mv_web/live/user_live/form.ex:152 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:160 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" msgstr[0] "" msgstr[1] "" -#: lib/mv_web/live/member_live/index.html.heex:10 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Copy email addresses of selected members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:13 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:149 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:146 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "No members selected" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:23 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:26 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:169 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" -#: lib/mv_web/live/member_live/form.ex:40 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Fields marked with an asterisk (*) cannot be empty." msgstr "" -#: lib/mv_web/components/core_components.ex:206 -#: lib/mv_web/components/core_components.ex:223 -#: lib/mv_web/components/core_components.ex:250 -#: lib/mv_web/components/core_components.ex:277 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "This field cannot be empty" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:80 -#: lib/mv_web/live/components/payment_filter_component.ex:143 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "All" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:54 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Filter by payment status" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:108 -#: lib/mv_web/live/components/payment_filter_component.ex:145 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Not paid" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:65 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Payment filter" msgstr "" +#: lib/mv_web/live/member_live/show.ex:70 +#, elixir-autogen, elixir-format +msgid "Address" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:37 +#: lib/mv_web/live/member_live/show.ex:32 +#, elixir-autogen, elixir-format +msgid "Back" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:65 +#: lib/mv_web/live/member_live/show.ex:50 +#, elixir-autogen, elixir-format +msgid "Coming soon" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:57 +#: lib/mv_web/live/member_live/show.ex:48 +#, elixir-autogen, elixir-format +msgid "Contact Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:175 +#: lib/mv_web/live/member_live/show.ex:160 +#, elixir-autogen, elixir-format +msgid "Contribution" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:94 +#, elixir-autogen, elixir-format +msgid "Nr." +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:186 +#: lib/mv_web/live/member_live/show.ex:161 +#, elixir-autogen, elixir-format +msgid "Payment Cycle" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:166 +#: lib/mv_web/live/member_live/show.ex:153 +#, elixir-autogen, elixir-format +msgid "Payment Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:68 +#: lib/mv_web/live/member_live/show.ex:52 +#, elixir-autogen, elixir-format +msgid "Payments" +msgstr "" + +#: lib/mv_web/live/member_live/show.ex:166 +#, elixir-autogen, elixir-format +msgid "Pending" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:76 +#: lib/mv_web/live/member_live/show.ex:60 +#, elixir-autogen, elixir-format +msgid "Personal Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:111 +#: lib/mv_web/live/member_live/show.ex:87 +#, elixir-autogen, elixir-format +msgid "Phone" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:49 +#, elixir-autogen, elixir-format +msgid "Save" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:169 +#: lib/mv_web/live/member_live/show.ex:156 +#, elixir-autogen, elixir-format +msgid "This data is for demonstration purposes only (mockup)." +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:190 +#: lib/mv_web/live/member_live/show.ex:161 +#, elixir-autogen, elixir-format +msgid "monthly" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:194 +#, elixir-autogen, elixir-format +msgid "yearly" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex:242 +#, elixir-autogen, elixir-format +msgid "Create Member" +msgstr "" + #: lib/mv_web/live/contribution_period_live/show.ex:107 #, elixir-autogen, elixir-format msgid "%{count} period selected" diff --git a/priv/gettext/en/LC_MESSAGES/auth.po b/priv/gettext/en/LC_MESSAGES/auth.po index 921d76b..561ead8 100644 --- a/priv/gettext/en/LC_MESSAGES/auth.po +++ b/priv/gettext/en/LC_MESSAGES/auth.po @@ -32,7 +32,7 @@ msgstr "" msgid "Need an account?" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:268 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen msgid "Password" msgstr "" @@ -61,78 +61,77 @@ msgstr "" msgid "Your password has successfully been reset" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:254 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "An account with email %{email} already exists. Please enter your password to link your OIDC account." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:289 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:163 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Incorrect password. Please try again." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:37 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Invalid session. Please try again." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:281 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Link Account" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:252 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Link OIDC Account" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:280 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Linking..." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:40 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Session expired. Please try again." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:209 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Your OIDC account has been successfully linked! Redirecting to complete sign-in..." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:76 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Account activated! Redirecting to complete sign-in..." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:119 -#: lib/mv_web/live/auth/link_oidc_account_live.ex:123 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Failed to link account. Please try again or contact support." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:108 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "The email address from your OIDC provider is already registered to another account. Please change your email in the identity provider or contact support." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:98 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "This OIDC account is already linked to another user. Please contact support." msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:235 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Language selection" msgstr "" -#: lib/mv_web/live/auth/link_oidc_account_live.ex:242 +#: lib/mv_web/live/auth/link_oidc_account_live.ex #, elixir-autogen, elixir-format msgid "Select language" msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index ceee74a..74eded2 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -11,1294 +11,834 @@ msgstr "" "Language: en\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/mv_web/components/core_components.ex:387 -#: lib/mv_web/live/contribution_period_live/show.ex:141 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:248 -#: lib/mv_web/live/user_live/index.html.heex:71 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" -#: lib/mv_web/components/layouts.ex:82 -#: lib/mv_web/components/layouts.ex:94 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "Attempting to reconnect" msgstr "" -#: lib/mv_web/live/member_live/form.ex:53 -#: lib/mv_web/live/member_live/index.html.heex:184 -#: lib/mv_web/live/member_live/show.ex:59 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:78 -#: lib/mv_web/live/member_live/index.html.heex:250 -#: lib/mv_web/live/user_live/index.html.heex:73 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:66 -#: lib/mv_web/live/member_live/index.html.heex:242 -#: lib/mv_web/live/user_live/form.ex:267 -#: lib/mv_web/live/user_live/index.html.heex:65 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Edit" msgstr "" -#: lib/mv_web/live/member_live/show.ex:42 -#: lib/mv_web/live/member_live/show.ex:114 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Edit Member" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:58 -#: lib/mv_web/live/member_live/form.ex:47 -#: lib/mv_web/live/member_live/index.html.heex:112 -#: lib/mv_web/live/member_live/show.ex:51 -#: lib/mv_web/live/user_live/form.ex:46 -#: lib/mv_web/live/user_live/index.html.heex:44 -#: lib/mv_web/live/user_live/show.ex:49 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Email" msgstr "" -#: lib/mv_web/live/member_live/form.ex:45 -#: lib/mv_web/live/member_live/show.ex:49 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "First Name" msgstr "" -#: lib/mv_web/live/member_live/form.ex:50 -#: lib/mv_web/live/member_live/index.html.heex:220 -#: lib/mv_web/live/member_live/show.ex:56 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Join Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex:46 -#: lib/mv_web/live/member_live/show.ex:50 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:29 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:62 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "Show" msgstr "" -#: lib/mv_web/components/layouts.ex:89 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "Something went wrong!" msgstr "" -#: lib/mv_web/components/layouts.ex:77 +#: lib/mv_web/components/layouts.ex #, elixir-autogen, elixir-format msgid "We can't find the internet" msgstr "" -#: lib/mv_web/components/core_components.ex:82 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "close" msgstr "" -#: lib/mv_web/live/member_live/form.ex:51 -#: lib/mv_web/live/member_live/show.ex:57 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Exit Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex:55 -#: lib/mv_web/live/member_live/index.html.heex:148 -#: lib/mv_web/live/member_live/show.ex:61 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:140 -#: lib/mv_web/live/member_live/form.ex:52 -#: lib/mv_web/live/member_live/show.ex:58 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Notes" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:94 -#: lib/mv_web/live/components/payment_filter_component.ex:144 -#: lib/mv_web/live/contribution_period_live/show.ex:186 -#: lib/mv_web/live/contribution_period_live/show.ex:241 -#: lib/mv_web/live/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:52 +#: lib/mv_web/live/components/payment_filter_component.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Paid" msgstr "" -#: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:202 -#: lib/mv_web/live/member_live/show.ex:55 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:62 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Postal Code" msgstr "" -#: lib/mv_web/live/member_live/form.ex:79 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save Member" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:66 -#: lib/mv_web/live/custom_field_value_live/form.ex:74 -#: lib/mv_web/live/global_settings_live.ex:55 -#: lib/mv_web/live/member_live/form.ex:78 -#: lib/mv_web/live/user_live/form.ex:249 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/global_settings_live.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" -#: lib/mv_web/live/member_live/form.ex:54 -#: lib/mv_web/live/member_live/index.html.heex:130 -#: lib/mv_web/live/member_live/show.ex:60 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex:48 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Id" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:62 -#: lib/mv_web/live/member_live/show.ex:53 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/index/formatter.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "No" msgstr "" -#: lib/mv_web/live/member_live/show.ex:113 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format, fuzzy msgid "Show Member" msgstr "" -#: lib/mv_web/live/member_live/show.ex:34 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "This is a member record from your database." msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:61 -#: lib/mv_web/live/member_live/show.ex:53 +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/index/formatter.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Yes" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:110 -#: lib/mv_web/live/custom_field_value_live/form.ex:233 -#: lib/mv_web/live/member_live/form.ex:137 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "create" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:111 -#: lib/mv_web/live/custom_field_value_live/form.ex:234 -#: lib/mv_web/live/member_live/form.ex:138 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "update" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:60 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Incorrect email or password" msgstr "" -#: lib/mv_web/live/member_live/form.ex:144 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Member %{action} successfully" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:26 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You are now signed in" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:186 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You are now signed out" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:85 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "You have already signed in another way, but have not confirmed your account.\nYou can confirm your account using the link we sent to you, or by resetting your password.\n" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:24 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Your email address has now been confirmed" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:25 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Your password has successfully been reset" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:69 -#: lib/mv_web/live/custom_field_live/index.ex:120 -#: lib/mv_web/live/custom_field_value_live/form.ex:77 -#: lib/mv_web/live/member_live/form.ex:81 -#: lib/mv_web/live/user_live/form.ex:252 +#: lib/mv_web/live/custom_field_live/form.ex +#: lib/mv_web/live/custom_field_live/index.ex +#: lib/mv_web/live/custom_field_value_live/form.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:62 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Choose a member" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:61 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Description" msgstr "" -#: lib/mv_web/live/user_live/show.ex:43 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format, fuzzy msgid "Edit User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:62 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Immutable" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:113 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Logout" msgstr "" -#: lib/mv_web/live/user_live/index.ex:33 -#: lib/mv_web/live/user_live/index.html.heex:3 +#: lib/mv_web/live/user_live/index.ex +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format, fuzzy msgid "Listing Users" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:60 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:25 -#: lib/mv_web/live/contribution_type_live/index.ex:61 -#: lib/mv_web/live/member_live/index.ex:74 -#: lib/mv_web/live/member_live/index.html.heex:3 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/member_live/index.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Members" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:48 -#: lib/mv_web/live/custom_field_live/form.ex:51 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:6 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:207 -#: lib/mv_web/live/user_live/form.ex:107 -#: lib/mv_web/live/user_live/form.ex:115 -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/show.ex:50 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:106 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Profil" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:63 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Required" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:68 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select all members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:82 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:110 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:250 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:77 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format, fuzzy msgid "Show User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:35 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format, fuzzy msgid "This is a user record from your database." msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:128 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Unsupported value type: %{type}" msgstr "" -#: lib/mv_web/live/user_live/form.ex:42 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Use this form to manage user records in your database." msgstr "" -#: lib/mv_web/live/user_live/form.ex:268 -#: lib/mv_web/live/user_live/show.ex:34 +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "User" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:92 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Value" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:56 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Value type" msgstr "" -#: lib/mv_web/components/table_components.ex:30 -#: lib/mv_web/live/components/sort_header_component.ex:57 +#: lib/mv_web/components/table_components.ex +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "ascending" msgstr "" -#: lib/mv_web/components/table_components.ex:30 -#: lib/mv_web/live/components/sort_header_component.ex:58 +#: lib/mv_web/components/table_components.ex +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "descending" msgstr "" -#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "New" msgstr "" -#: lib/mv_web/live/user_live/form.ex:96 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Admin Note" msgstr "" -#: lib/mv_web/live/user_live/form.ex:96 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "As an administrator, you can directly set a new password for this user using the same secure Ash Authentication system." msgstr "As an administrator, you can directly set a new password for this user using the same secure Ash Authentication system." -#: lib/mv_web/live/user_live/form.ex:87 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "At least 8 characters" msgstr "At least 8 characters" -#: lib/mv_web/live/user_live/form.ex:59 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Change Password" msgstr "" -#: lib/mv_web/live/user_live/form.ex:107 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Check 'Change Password' above to set a new password for this user." msgstr "Check 'Change Password' above to set a new password for this user." -#: lib/mv_web/live/user_live/form.ex:77 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Confirm Password" msgstr "Confirm Password" -#: lib/mv_web/live/user_live/form.ex:89 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Consider using special characters" msgstr "Consider using special characters" -#: lib/mv_web/live/user_live/form.ex:88 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Include both letters and numbers" msgstr "Include both letters and numbers" -#: lib/mv_web/live/user_live/form.ex:67 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Password" msgstr "Password" -#: lib/mv_web/live/user_live/form.ex:85 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Password requirements" msgstr "Password requirements" -#: lib/mv_web/live/user_live/index.html.heex:21 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format, fuzzy msgid "Select all users" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:35 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format, fuzzy msgid "Select user" msgstr "" -#: lib/mv_web/live/user_live/form.ex:59 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Set Password" msgstr "Set Password" -#: lib/mv_web/live/user_live/form.ex:115 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "User will be created without a password. Check 'Set Password' to add one." msgstr "User will be created without a password. Check 'Set Password' to add one." -#: lib/mv_web/live/user_live/form.ex:126 -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/form.ex +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format, fuzzy msgid "Linked Member" msgstr "" -#: lib/mv_web/live/member_live/show.ex:63 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Linked User" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:56 -#: lib/mv_web/live/user_live/show.ex:63 +#: lib/mv_web/live/user_live/index.html.heex +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "No member linked" msgstr "" -#: lib/mv_web/live/member_live/show.ex:73 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "No user linked" msgstr "" -#: lib/mv_web/live/member_live/show.ex:37 -#: lib/mv_web/live/member_live/show.ex:39 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Back to members list" msgstr "" -#: lib/mv_web/live/user_live/show.ex:38 -#: lib/mv_web/live/user_live/show.ex:40 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Back to users list" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:44 -#: lib/mv_web/components/layouts/navbar.ex:50 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format, fuzzy msgid "Select language" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:57 -#: lib/mv_web/components/layouts/navbar.ex:77 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "" -#: lib/mv_web/live/components/search_bar_component.ex:15 -#: lib/mv_web/live/member_live/index.html.heex:39 +#: lib/mv_web/live/components/search_bar_component.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Search..." msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:27 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format, fuzzy msgid "Users" msgstr "" -#: lib/mv_web/live/components/sort_header_component.ex:59 -#: lib/mv_web/live/components/sort_header_component.ex:63 +#: lib/mv_web/live/components/sort_header_component.ex #, elixir-autogen, elixir-format msgid "Click to sort" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:94 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format, fuzzy msgid "First name" msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:167 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "An account with this email already exists. Please verify your password to link your OIDC account." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:77 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Unable to authenticate with OIDC. Please try again." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:152 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Unable to sign in. Please try again." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:92 -#: lib/mv_web/controllers/auth_controller.ex:97 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Authentication failed. Please try again." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:124 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "Cannot update email: This email is already registered to another account. Please change your email in the identity provider." msgstr "" -#: lib/mv_web/controllers/auth_controller.ex:130 +#: lib/mv_web/controllers/auth_controller.ex #, elixir-autogen, elixir-format msgid "This email is already linked to a different OIDC account. Cannot link multiple OIDC providers to the same account." msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:53 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Choose a custom field" msgstr "" -#: lib/mv_web/live/member_live/form.ex:58 -#: lib/mv_web/live/member_live/show.ex:78 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Custom Field Values" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:51 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:117 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:242 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field value %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:70 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Please select a custom field first" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:67 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:75 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field value" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:46 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Use this form to manage custom_field records in your database." msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format, fuzzy msgid "Custom Fields" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:42 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Use this form to manage Custom Field Value records in your database." msgstr "" -#: lib/mv_web/live/custom_field_live/show.ex:56 +#: lib/mv_web/live/custom_field_live/show.ex #, elixir-autogen, elixir-format msgid "Auto-generated identifier (immutable)" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:79 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "%{count} member has a value assigned for this custom field." msgid_plural "%{count} members have values assigned for this custom field." msgstr[0] "" msgstr[1] "" -#: lib/mv_web/live/custom_field_live/index.ex:87 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "All custom field values will be permanently deleted when you delete this custom field." msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:72 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:127 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field and All Values" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:109 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Enter the text above to confirm" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:97 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format, fuzzy msgid "To confirm deletion, please enter this text:" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:64 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Show in overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:31 -#: lib/mv_web/live/global_settings_live.ex:41 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:102 -#: lib/mv_web/live/global_settings_live.ex:56 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:75 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "" -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "A member with this email already exists. To link with a different member, please change one of the email addresses first." msgstr "" -#: lib/mv_web/live/user_live/form.ex:192 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:359 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "" -#: lib/mv_web/live/user_live/form.ex:152 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Member will be unlinked when you save. Cannot select new member until saved." msgstr "" -#: lib/mv_web/live/user_live/form.ex:240 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Save to confirm linking." msgstr "" -#: lib/mv_web/live/user_live/form.ex:171 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Search for a member to link..." msgstr "" -#: lib/mv_web/live/user_live/form.ex:175 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Search for member to link" msgstr "" -#: lib/mv_web/live/user_live/form.ex:237 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Selected" msgstr "" -#: lib/mv_web/live/user_live/form.ex:143 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Unlink Member" msgstr "" -#: lib/mv_web/live/user_live/form.ex:152 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:160 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" msgstr[0] "" msgstr[1] "" -#: lib/mv_web/live/member_live/index.html.heex:10 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Copy email addresses of selected members" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:13 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:149 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:146 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format, fuzzy msgid "No members selected" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:23 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Open email program with BCC recipients" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:26 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:169 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" -#: lib/mv_web/live/member_live/form.ex:40 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Fields marked with an asterisk (*) cannot be empty." msgstr "" -#: lib/mv_web/components/core_components.ex:206 -#: lib/mv_web/components/core_components.ex:223 -#: lib/mv_web/components/core_components.ex:250 -#: lib/mv_web/components/core_components.ex:277 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format, fuzzy msgid "This field cannot be empty" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:80 -#: lib/mv_web/live/components/payment_filter_component.ex:143 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "All" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:54 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Filter by payment status" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:108 -#: lib/mv_web/live/components/payment_filter_component.ex:145 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Not paid" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:65 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Payment filter" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:107 -#, elixir-autogen, elixir-format -msgid "%{count} period selected" -msgid_plural "%{count} periods selected" -msgstr[0] "" -msgstr[1] "" - -#: lib/mv_web/live/contribution_type_live/index.ex:113 -#, elixir-autogen, elixir-format -msgid "About Contribution Types" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:138 -#: lib/mv_web/live/contribution_type_live/index.ex:53 -#, elixir-autogen, elixir-format -msgid "Amount" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:48 -#, elixir-autogen, elixir-format -msgid "Back to Settings" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:124 -#, elixir-autogen, elixir-format -msgid "Can be changed at any time. Amount changes affect future periods only." -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:77 -#, elixir-autogen, elixir-format -msgid "Cannot delete - members assigned" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:83 -#, elixir-autogen, elixir-format -msgid "Change Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:42 -#, elixir-autogen, elixir-format -msgid "Configure global settings for membership contributions." -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:34 -#: lib/mv_web/live/contribution_settings_live.ex:27 -#: lib/mv_web/live/contribution_settings_live.ex:40 -#, elixir-autogen, elixir-format -msgid "Contribution Settings" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:62 -#, elixir-autogen, elixir-format -msgid "Contribution Start" -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:32 -#: lib/mv_web/live/contribution_type_live/index.ex:25 -#: lib/mv_web/live/contribution_type_live/index.ex:36 -#, elixir-autogen, elixir-format -msgid "Contribution Types" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:224 -#, elixir-autogen, elixir-format -msgid "Contribution start" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:41 -#, elixir-autogen, elixir-format -msgid "Contribution type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:117 -#, elixir-autogen, elixir-format -msgid "Contribution types define different membership fee structures. Each type has a fixed interval (monthly, quarterly, half-yearly, yearly) that cannot be changed after creation." -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:30 -#, elixir-autogen, elixir-format -msgid "Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:39 -#, elixir-autogen, elixir-format -msgid "Contributions for %{name}" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:159 -#, elixir-autogen, elixir-format -msgid "Current" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:60 -#, elixir-autogen, elixir-format -msgid "Default Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:133 -#, elixir-autogen, elixir-format, fuzzy -msgid "Deletion" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:173 -#, elixir-autogen, elixir-format -msgid "Example: Member Contribution View" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:113 -#, elixir-autogen, elixir-format -msgid "Examples" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:262 -#: lib/mv_web/live/contribution_type_live/index.ex:172 -#, elixir-autogen, elixir-format -msgid "Family" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:128 -#, elixir-autogen, elixir-format -msgid "Fixed after creation. Members can only switch between types with the same interval." -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:228 -#, elixir-autogen, elixir-format -msgid "Generated periods" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:52 -#, elixir-autogen, elixir-format, fuzzy -msgid "Global Settings" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:343 -#: lib/mv_web/live/contribution_settings_live.ex:275 -#: lib/mv_web/live/contribution_type_live/index.ex:203 -#, elixir-autogen, elixir-format -msgid "Half-yearly" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:181 -#, elixir-autogen, elixir-format -msgid "Half-yearly contribution for supporting members" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_type_live/index.ex:188 -#, elixir-autogen, elixir-format -msgid "Honorary" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:85 -#, elixir-autogen, elixir-format -msgid "Include joining period" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:137 -#: lib/mv_web/live/contribution_type_live/index.ex:57 -#: lib/mv_web/live/contribution_type_live/index.ex:127 -#, elixir-autogen, elixir-format -msgid "Interval" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:220 -#, elixir-autogen, elixir-format, fuzzy -msgid "Joining date" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:331 -#, elixir-autogen, elixir-format -msgid "Joining year - reduced to 0" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:38 -#, elixir-autogen, elixir-format -msgid "Manage contribution types for membership fees." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:116 -#, elixir-autogen, elixir-format -msgid "Mark as Paid" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:120 -#, elixir-autogen, elixir-format -msgid "Mark as Suspended" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:124 -#, elixir-autogen, elixir-format -msgid "Mark as Unpaid" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:26 -#, elixir-autogen, elixir-format -msgid "Member Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:122 -#, elixir-autogen, elixir-format -msgid "Member pays for the year they joined" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:155 -#, elixir-autogen, elixir-format -msgid "Member pays from the joining month" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:144 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full quarter" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:133 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full year" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:43 -#, elixir-autogen, elixir-format, fuzzy -msgid "Member since" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:92 -#, elixir-autogen, elixir-format -msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:341 -#: lib/mv_web/live/contribution_settings_live.ex:273 -#: lib/mv_web/live/contribution_type_live/index.ex:201 -#, elixir-autogen, elixir-format -msgid "Monthly" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:150 -#, elixir-autogen, elixir-format -msgid "Monthly Interval - Joining Period Included" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:165 -#, elixir-autogen, elixir-format -msgid "Monthly fee for students and trainees" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:123 -#, elixir-autogen, elixir-format -msgid "Name & Amount" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:42 -#, elixir-autogen, elixir-format -msgid "New Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:189 -#, elixir-autogen, elixir-format -msgid "No fee for honorary members" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:134 -#, elixir-autogen, elixir-format -msgid "Only possible if no members are assigned to this type." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:70 -#, elixir-autogen, elixir-format -msgid "Open Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:301 -#, elixir-autogen, elixir-format -msgid "Paid via bank transfer" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:225 -#: lib/mv_web/live/contribution_settings_live.ex:197 -#: lib/mv_web/live/contribution_type_live/index.ex:97 -#, elixir-autogen, elixir-format -msgid "Preview Mockup" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:342 -#: lib/mv_web/live/contribution_settings_live.ex:274 -#: lib/mv_web/live/contribution_type_live/index.ex:202 -#, elixir-autogen, elixir-format -msgid "Quarterly" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:139 -#, elixir-autogen, elixir-format -msgid "Quarterly Interval - Joining Period Excluded" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:173 -#, elixir-autogen, elixir-format -msgid "Quarterly fee for family memberships" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_settings_live.ex:250 -#: lib/mv_web/live/contribution_type_live/index.ex:156 -#, elixir-autogen, elixir-format -msgid "Reduced" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:157 -#, elixir-autogen, elixir-format -msgid "Reduced fee for unemployed, pensioners, or low income" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:275 -#: lib/mv_web/live/contribution_settings_live.ex:244 -#: lib/mv_web/live/contribution_type_live/index.ex:148 -#, elixir-autogen, elixir-format -msgid "Regular" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:204 -#, elixir-autogen, elixir-format -msgid "Reopen" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:176 -#, elixir-autogen, elixir-format -msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:149 -#, elixir-autogen, elixir-format -msgid "Standard membership fee for regular members" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:139 -#, elixir-autogen, elixir-format -msgid "Status" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:256 -#: lib/mv_web/live/contribution_type_live/index.ex:164 -#, elixir-autogen, elixir-format -msgid "Student" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:180 -#, elixir-autogen, elixir-format -msgid "Supporting Member" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:195 -#, elixir-autogen, elixir-format -msgid "Suspend" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:259 -#, elixir-autogen, elixir-format -msgid "Suspended" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:69 -#, elixir-autogen, elixir-format -msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:227 -#: lib/mv_web/live/contribution_settings_live.ex:199 -#: lib/mv_web/live/contribution_type_live/index.ex:99 -#, elixir-autogen, elixir-format -msgid "This page is not functional and only displays the planned features." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:136 -#, elixir-autogen, elixir-format -msgid "Time Period" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:66 -#, elixir-autogen, elixir-format -msgid "Total Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:250 -#, elixir-autogen, elixir-format -msgid "Unpaid" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:183 -#, elixir-autogen, elixir-format -msgid "View Example Member" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:90 -#, elixir-autogen, elixir-format -msgid "When active: Members pay from the period of their joining." -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:93 -#, elixir-autogen, elixir-format -msgid "When inactive: Members pay from the next full period after joining." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:98 -#, elixir-autogen, elixir-format -msgid "Why are not all contribution types shown?" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:85 -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_period_live/show.ex:344 -#: lib/mv_web/live/contribution_settings_live.ex:276 -#: lib/mv_web/live/contribution_type_live/index.ex:204 -#, elixir-autogen, elixir-format -msgid "Yearly" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:128 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Excluded" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:117 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Included" -msgstr "" - -#~ #: lib/mv_web/live/member_live/form.ex:48 -#~ #: lib/mv_web/live/member_live/show.ex:51 +#~ #: lib/mv_web/live/member_live/form.ex +#~ #: lib/mv_web/live/member_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "Birth Date" #~ msgstr "" -#~ #: lib/mv_web/live/user_live/show.ex:49 +#~ #: lib/mv_web/live/user_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "ID" #~ msgstr "" -#~ #: lib/mv_web/live/user_live/show.ex:51 +#~ #: lib/mv_web/live/user_live/show.ex #~ #, elixir-autogen, elixir-format, fuzzy #~ msgid "Not set" #~ msgstr "" -#~ #: lib/mv_web/live/user_live/index.html.heex:52 -#~ #: lib/mv_web/live/user_live/show.ex:51 +#~ #: lib/mv_web/live/user_live/index.html.heex +#~ #: lib/mv_web/live/user_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "OIDC ID" #~ msgstr "" - -#~ #: lib/mv_web/live/contribution_period_live/show.ex:273 -#~ #: lib/mv_web/live/contribution_settings_live.ex:248 -#~ #, elixir-autogen, elixir-format -#~ msgid "Related Pages" -#~ msgstr ""