diff --git a/.drone.yml b/.drone.yml index 427ecfc..483a08a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -166,7 +166,7 @@ environment: steps: - name: renovate - image: renovate/renovate:41.151 + image: renovate/renovate:41.173 environment: RENOVATE_CONFIG_FILE: "renovate_backend_config.js" RENOVATE_TOKEN: diff --git a/.tool-versions b/.tool-versions index 60315fc..98239f3 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,3 +1,3 @@ elixir 1.18.3-otp-27 erlang 27.3.4 -just 1.43.0 +just 1.43.1 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..7a13ab0 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 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..9cc264a 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -10,1288 +10,1395 @@ 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 +#: lib/mv_web/live/contribution_period_live/show.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 #, 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/contribution_type_live/index.ex +#: 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/contribution_type_live/index.ex +#: 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/form.ex +#: 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/contribution_period_live/show.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 +#: 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/form.ex +#: 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/index.html.heex #, 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/contribution_period_live/show.ex +#: 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/contribution_period_live/show.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/index.html.heex #, 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 #, 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 #, elixir-autogen, elixir-format msgid "Street" msgstr "Straße" -#: lib/mv_web/live/member_live/show.ex:48 -#, 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 -#, 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/contribution_type_live/index.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/contribution_type_live/index.ex +#: 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/contribution_period_live/show.ex +#: 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 -#, elixir-autogen, elixir-format -msgid "Custom Field Values" -msgstr "Benutzerdefinierte Feldwerte" - -#: lib/mv_web/live/custom_field_value_live/form.ex:51 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/custom_field_value_live/form.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Custom field" -msgstr "Benutzerdefiniertes Feld" +msgstr "Benutzerdefinierte Felder" -#: 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 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.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/contribution_settings_live.ex +#: 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 -#, 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/components/core_components.ex +#: 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 +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Address" +msgstr "Adresse" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Back" +msgstr "Zurück" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Coming soon" +msgstr "Demnächst verfügbar" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Contact Data" +msgstr "Kontaktdaten" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Contribution" +msgstr "Beitrag" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Nr." +msgstr "Nr." + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payment Cycle" +msgstr "Zahlungszyklus" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payment Data" +msgstr "Beitragsdaten" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payments" +msgstr "Zahlungen" + +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Pending" +msgstr "Ausstehend" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Personal Data" +msgstr "Persönliche Daten" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Phone" +msgstr "Telefon" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Save" +msgstr "Speichern" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "This data is for demonstration purposes only (mockup)." +msgstr "Diese Daten dienen nur zu Demonstrationszwecken (Mockup)." + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "monthly" +msgstr "monatlich" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "yearly" +msgstr "jährlich" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Create Member" +msgstr "Mitglied erstellen" + +#: lib/mv_web/live/contribution_period_live/show.ex #, 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" +msgstr[0] "" +msgstr[1] "" -#: lib/mv_web/live/contribution_type_live/index.ex:113 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "About Contribution Types" -msgstr "Über Beitragsarten" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:138 -#: lib/mv_web/live/contribution_type_live/index.ex:53 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Amount" -msgstr "Betrag" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:48 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Back to Settings" -msgstr "Zurück zu Einstellungen" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:124 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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." +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:77 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Cannot delete - members assigned" -msgstr "Löschen nicht möglich - Mitglieder zugewiesen" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:83 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Change Contribution Type" -msgstr "Beitragsart ändern" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:42 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Configure global settings for membership contributions." -msgstr "Globale Einstellungen für Mitgliedsbeiträge konfigurieren." +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 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/contribution_settings_live.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Contribution Settings" -msgstr "Beitragseinstellungen" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_period_live/show.ex:62 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Contribution Start" -msgstr "Beitragsbeginn" +msgstr "Beitrag" -#: 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 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/contribution_type_live/index.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Contribution Types" -msgstr "Beitragsarten" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_settings_live.ex:224 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_settings_live.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Contribution start" -msgstr "Beitragsbeginn" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_period_live/show.ex:41 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Contribution type" -msgstr "Beitragsart" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_type_live/index.ex:117 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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." +msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:30 -#, elixir-autogen, elixir-format +#: lib/mv_web/components/layouts/navbar.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Contributions" -msgstr "Beiträge" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_period_live/show.ex:39 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Contributions for %{name}" -msgstr "Beiträge für %{name}" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_period_live/show.ex:159 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Current" -msgstr "Aktuell" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:60 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Default Contribution Type" -msgstr "Standard-Beitragsart" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:133 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_type_live/index.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Deletion" -msgstr "Löschung" +msgstr "Löschen" -#: lib/mv_web/live/contribution_settings_live.ex:173 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Example: Member Contribution View" -msgstr "Beispiel: Mitglieder-Beitragsansicht" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:113 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Examples" -msgstr "Beispiele" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:262 -#: lib/mv_web/live/contribution_type_live/index.ex:172 +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Family" -msgstr "Familie" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:128 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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." +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:228 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Generated periods" -msgstr "Generierte Beiträge" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:52 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_settings_live.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Global Settings" -msgstr "Globale Einstellungen" +msgstr "Vereinsdaten" -#: 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Half-yearly" -msgstr "Halbjährlich" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:181 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Half-yearly contribution for supporting members" -msgstr "Halbjährlicher Beitrag für Fördermitglieder" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_type_live/index.ex:188 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Honorary" -msgstr "Ehrenmitglied" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:85 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Include joining period" -msgstr "Zahlt ab Zeitpunkt des Eintritts" +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Interval" -msgstr "Intervall" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:220 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_settings_live.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Joining date" -msgstr "Eintrittsdatum" +msgstr "Beitrittsdatum" -#: lib/mv_web/live/contribution_period_live/show.ex:331 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Joining year - reduced to 0" -msgstr "Eintrittsjahr - auf 0 reduziert" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:38 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Manage contribution types for membership fees." -msgstr "Beitragsarten für Mitgliedsbeiträge verwalten." +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:116 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Paid" -msgstr "Als bezahlt markieren" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:120 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Suspended" -msgstr "Als ausgesetzt markieren" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:124 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Unpaid" -msgstr "Als unbezahlt markieren" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:26 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Member Contributions" -msgstr "Mitgliedsbeiträge" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:122 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays for the year they joined" -msgstr "Mitglied zahlt für das Eintrittsjahr" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:155 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the joining month" -msgstr "Mitglied zahlt ab dem Eintrittsmonat" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:144 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the next full quarter" -msgstr "Mitglied zahlt ab dem nächsten vollen Quartal" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:133 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the next full year" -msgstr "Mitglied zahlt ab dem nächsten vollen Jahr" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:43 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Member since" -msgstr "Mitglied seit" +msgstr "Mitglieder" -#: lib/mv_web/live/contribution_period_live/show.ex:92 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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." +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Monthly" -msgstr "Monatlich" +msgstr "monatlich" -#: lib/mv_web/live/contribution_settings_live.ex:150 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Monthly Interval - Joining Period Included" -msgstr "Monatliches Intervall - Eintrittsperiode eingeschlossen" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:165 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Monthly fee for students and trainees" -msgstr "Monatlicher Beitrag für Studierende und Auszubildende" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:123 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Name & Amount" -msgstr "Name & Betrag" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:42 -#, elixir-autogen, elixir-format +#: lib/mv_web/live/contribution_type_live/index.ex +#, elixir-autogen, elixir-format, fuzzy msgid "New Contribution Type" -msgstr "Neue Beitragsart" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_type_live/index.ex:189 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "No fee for honorary members" -msgstr "Kein Beitrag für Ehrenmitglieder" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:134 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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." +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:70 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Open Contributions" -msgstr "Offene Beiträge" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:301 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Paid via bank transfer" -msgstr "Per Überweisung bezahlt" +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Preview Mockup" -msgstr "Vorschau" +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Quarterly" -msgstr "Quartalsweise" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:139 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Quarterly Interval - Joining Period Excluded" -msgstr "Quartalsintervall - Eintrittsperiode ausgeschlossen" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:173 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Quarterly fee for family memberships" -msgstr "Quartalsbeitrag für Familienmitgliedschaften" +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Reduced" -msgstr "Ermäßigt" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:157 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Reduced fee for unemployed, pensioners, or low income" -msgstr "Ermäßigter Beitrag für Arbeitslose, Rentner*innen oder Geringverdienende" +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Regular" -msgstr "Regulär" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:204 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Reopen" -msgstr "Wieder öffnen" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:176 +#: lib/mv_web/live/contribution_settings_live.ex #, 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." +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:149 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Standard membership fee for regular members" -msgstr "Standard-Mitgliedsbeitrag für reguläre Mitglieder" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:139 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Status" -msgstr "Status" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:256 -#: lib/mv_web/live/contribution_type_live/index.ex:164 +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Student" -msgstr "Student*in" +msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:180 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Supporting Member" -msgstr "Fördermitglied" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:195 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Suspend" -msgstr "Aussetzen" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:259 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Suspended" -msgstr "Ausgesetzt" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:69 +#: lib/mv_web/live/contribution_settings_live.ex #, 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." +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, 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." +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:136 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Time Period" -msgstr "Zeitraum" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:66 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Total Contributions" -msgstr "Beiträge gesamt" +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:250 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Unpaid" -msgstr "Unbezahlt" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:183 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "View Example Member" -msgstr "Beispielmitglied ansehen" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:90 +#: lib/mv_web/live/contribution_settings_live.ex #, 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." +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:93 +#: lib/mv_web/live/contribution_settings_live.ex #, 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." +msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:98 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Why are not all contribution types shown?" -msgstr "Warum werden nicht alle Beitragsarten angezeigt?" +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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex +#, elixir-autogen, elixir-format, fuzzy msgid "Yearly" -msgstr "Jährlich" +msgstr "jährlich" -#: lib/mv_web/live/contribution_settings_live.ex:128 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Yearly Interval - Joining Period Excluded" -msgstr "Jährliches Intervall - Eintrittsperiode ausgeschlossen" +msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:117 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Yearly Interval - Joining Period Included" -msgstr "Jährliches Intervall - Eintrittsperiode eingeschlossen" +msgstr "" -#~ #: lib/mv_web/live/member_live/form.ex:48 -#~ #: lib/mv_web/live/member_live/show.ex:51 +#: lib/mv_web/live/components/field_visibility_dropdown_component.ex +#, elixir-autogen, elixir-format +msgid "Columns" +msgstr "" + +#: lib/mv_web/live/components/field_visibility_dropdown_component.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Custom Field %{id}" +msgstr "Benutzerdefinierte Felder" + +#: lib/mv_web/live/member_live/index.html.heex +#, elixir-autogen, elixir-format, fuzzy +msgid "Last name" +msgstr "Nachname" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "None" +msgstr "Hinweis" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Options" +msgstr "Aktionen" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Select all" +msgstr "Alle Benutzer*innen auswählen" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Select none" +msgstr "Ausgewählt" + +#~ #: 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/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/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/live/custom_field_live/form.ex +#~ #: 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/member_live/show.ex +#~ #, elixir-autogen, elixir-format +#~ msgid "Id" +#~ msgstr "ID" + +#~ #: lib/mv_web/live/user_live/form.ex +#~ #: 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" + +#~ #: 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." diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index b66c5ed..d746b38 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -11,1266 +11,1350 @@ 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 +#: lib/mv_web/live/contribution_period_live/show.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 #, 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/contribution_type_live/index.ex +#: 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/contribution_type_live/index.ex +#: 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/form.ex +#: 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/contribution_period_live/show.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 +#: 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/form.ex +#: 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/index.html.heex #, 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/contribution_period_live/show.ex +#: 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/contribution_period_live/show.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/index.html.heex #, 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 #, 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 #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex:48 -#, 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 -#, 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/contribution_type_live/index.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/contribution_type_live/index.ex +#: 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/contribution_period_live/show.ex +#: 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 -#, 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 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.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/contribution_settings_live.ex +#: 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 -#, 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/components/core_components.ex +#: 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 +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Address" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Back" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Coming soon" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Contact Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Contribution" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Nr." +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payment Cycle" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payment Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payments" +msgstr "" + +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Pending" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Personal Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Phone" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Save" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "This data is for demonstration purposes only (mockup)." +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "monthly" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "yearly" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Create Member" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Amount" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:48 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Back to Settings" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:124 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Cannot delete - members assigned" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:83 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Change Contribution Type" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:42 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Contribution Settings" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:62 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Contribution Types" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:224 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Contribution start" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:41 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Contribution type" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:117 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Contributions" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:39 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Contributions for %{name}" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:159 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Current" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:60 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Default Contribution Type" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:133 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Deletion" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:173 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Example: Member Contribution View" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:113 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Family" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:128 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Generated periods" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:52 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Half-yearly" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:181 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Honorary" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:85 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Interval" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:220 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Joining date" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:331 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Joining year - reduced to 0" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:38 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Manage contribution types for membership fees." msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:116 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Paid" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:120 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Suspended" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:124 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Unpaid" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:26 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Member Contributions" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:122 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays for the year they joined" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:155 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the joining month" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:144 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the next full quarter" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:133 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the next full year" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:43 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Member since" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:92 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Monthly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:150 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Monthly Interval - Joining Period Included" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:165 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Monthly fee for students and trainees" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:123 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Name & Amount" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:42 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "New Contribution Type" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:189 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "No fee for honorary members" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:134 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Open Contributions" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:301 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Quarterly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:139 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Quarterly Interval - Joining Period Excluded" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:173 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Reduced" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:157 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Regular" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:204 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Reopen" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:176 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Standard membership fee for regular members" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:139 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Student" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:180 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Supporting Member" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:195 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Suspend" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:259 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Suspended" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:69 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Time Period" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:66 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Total Contributions" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:250 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Unpaid" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:183 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "View Example Member" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:90 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Yearly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:128 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Yearly Interval - Joining Period Excluded" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:117 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Yearly Interval - Joining Period Included" msgstr "" + +#: lib/mv_web/live/components/field_visibility_dropdown_component.ex +#, elixir-autogen, elixir-format +msgid "Columns" +msgstr "" + +#: lib/mv_web/live/components/field_visibility_dropdown_component.ex +#, elixir-autogen, elixir-format +msgid "Custom Field %{id}" +msgstr "" + +#: lib/mv_web/live/member_live/index.html.heex +#, elixir-autogen, elixir-format +msgid "Last name" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format +msgid "None" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format +msgid "Options" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format +msgid "Select all" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format +msgid "Select none" +msgstr "" 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..5c7a3a3 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -11,1294 +11,1393 @@ 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 +#: lib/mv_web/live/contribution_period_live/show.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 #, 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/contribution_type_live/index.ex +#: 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/contribution_type_live/index.ex +#: 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/form.ex +#: 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/contribution_period_live/show.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 +#: 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/form.ex +#: 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/index.html.heex #, 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/contribution_period_live/show.ex +#: 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/contribution_period_live/show.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/index.html.heex #, 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 #, 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 #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex:48 -#, 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 -#, 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/contribution_type_live/index.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/contribution_type_live/index.ex +#: 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/contribution_period_live/show.ex +#: 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 -#, 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 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.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/contribution_settings_live.ex +#: 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 -#, 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/components/core_components.ex +#: 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 +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Address" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Back" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Coming soon" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Contact Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Contribution" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Nr." +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Payment Cycle" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payment Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Payments" +msgstr "" + +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Pending" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "Personal Data" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Phone" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Save" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "This data is for demonstration purposes only (mockup)." +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex +#, elixir-autogen, elixir-format +msgid "monthly" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "yearly" +msgstr "" + +#: lib/mv_web/live/member_live/form.ex +#, elixir-autogen, elixir-format +msgid "Create Member" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Amount" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:48 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Back to Settings" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:124 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Cannot delete - members assigned" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:83 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Change Contribution Type" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:42 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Contribution Settings" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:62 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Contribution Types" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:224 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Contribution start" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:41 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Contribution type" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:117 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Contributions" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:39 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Contributions for %{name}" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:159 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Current" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:60 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Default Contribution Type" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:133 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format, fuzzy msgid "Deletion" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:173 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Example: Member Contribution View" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:113 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Family" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:128 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Generated periods" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:52 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Half-yearly" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:181 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Honorary" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:85 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Interval" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:220 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Joining date" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:331 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Joining year - reduced to 0" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:38 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Manage contribution types for membership fees." msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:116 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Paid" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:120 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Suspended" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:124 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Mark as Unpaid" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:26 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Member Contributions" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:122 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays for the year they joined" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:155 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the joining month" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:144 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the next full quarter" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:133 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Member pays from the next full year" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:43 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format, fuzzy msgid "Member since" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:92 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Monthly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:150 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Monthly Interval - Joining Period Included" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:165 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Monthly fee for students and trainees" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:123 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Name & Amount" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:42 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "New Contribution Type" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:189 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "No fee for honorary members" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:134 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Open Contributions" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:301 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Quarterly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:139 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Quarterly Interval - Joining Period Excluded" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:173 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Reduced" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:157 +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Regular" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:204 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Reopen" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:176 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Standard membership fee for regular members" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:139 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Student" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:180 +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Supporting Member" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:195 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Suspend" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:259 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Suspended" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:69 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Time Period" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:66 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Total Contributions" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:250 +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Unpaid" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:183 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "View Example Member" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:90 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_settings_live.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex #, 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 +#: lib/mv_web/live/contribution_period_live/show.ex +#: lib/mv_web/live/contribution_settings_live.ex +#: lib/mv_web/live/contribution_type_live/index.ex #, elixir-autogen, elixir-format msgid "Yearly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:128 +#: lib/mv_web/live/contribution_settings_live.ex #, elixir-autogen, elixir-format msgid "Yearly Interval - Joining Period Excluded" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:117 +#: lib/mv_web/live/contribution_settings_live.ex #, 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/components/field_visibility_dropdown_component.ex +#, elixir-autogen, elixir-format +msgid "Columns" +msgstr "" + +#: lib/mv_web/live/components/field_visibility_dropdown_component.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Custom Field %{id}" +msgstr "" + +#: lib/mv_web/live/member_live/index.html.heex +#, elixir-autogen, elixir-format, fuzzy +msgid "Last name" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "None" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Options" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Select all" +msgstr "" + +#: lib/mv_web/components/core_components.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Select none" +msgstr "" + +#~ #: 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/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/member_live/form.ex +#~ #, elixir-autogen, elixir-format +#~ msgid "Fields marked with an asterisk (*) cannot be empty." +#~ msgstr "" + +#~ #: 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/member_live/show.ex +#~ #, elixir-autogen, elixir-format +#~ msgid "Id" +#~ msgstr "" + +#~ #: 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 +#~ #: lib/mv_web/live/member_live/show.ex #~ #, elixir-autogen, elixir-format -#~ msgid "Related Pages" +#~ msgid "This is a member record from your database." #~ msgstr "" diff --git a/test/mv_web/components/field_visibility_dropdown_component_test.exs b/test/mv_web/components/field_visibility_dropdown_component_test.exs index eb7b0f2..6e01afa 100644 --- a/test/mv_web/components/field_visibility_dropdown_component_test.exs +++ b/test/mv_web/components/field_visibility_dropdown_component_test.exs @@ -16,8 +16,6 @@ defmodule MvWeb.Components.FieldVisibilityDropdownComponentTest do assert has_element?(view, "button[phx-click='select_item'][phx-value-item='email']") assert has_element?(view, "button[phx-click='select_all']") assert has_element?(view, "button[phx-click='select_none']") - - end end end