From 26a46d966a9a633c92a21b13cb69ad2db42b75b2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 3 Dec 2025 13:15:33 +0000 Subject: [PATCH 1/6] chore(deps): update dependency just to v1.43.1 --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 94245cbc0fa8f8f425570c8da252dd5873cd0344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Eppl=C3=A9e?= Date: Wed, 3 Dec 2025 14:52:13 +0100 Subject: [PATCH 2/6] Skip writing line numbers in gettext file comments --- mix.exs | 3 +- priv/gettext/auth.pot | 33 +- priv/gettext/de/LC_MESSAGES/auth.po | 33 +- priv/gettext/de/LC_MESSAGES/default.po | 465 ++++++++++++------------- priv/gettext/default.pot | 445 +++++++++++------------ priv/gettext/en/LC_MESSAGES/auth.po | 33 +- priv/gettext/en/LC_MESSAGES/default.po | 465 ++++++++++++------------- 7 files changed, 704 insertions(+), 773 deletions(-) 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 66bcec1..9c4a4fb 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -10,851 +10,834 @@ msgid "" msgstr "" "Language: en\n" -#: lib/mv_web/components/core_components.ex:386 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "Aktionen" -#: lib/mv_web/live/member_live/index.html.heex:248 -#: lib/mv_web/live/user_live/index.html.heex:72 +#: 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:58 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "Stadt" -#: lib/mv_web/live/member_live/index.html.heex:250 -#: lib/mv_web/live/user_live/index.html.heex:74 +#: 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/member_live/index.html.heex:242 -#: lib/mv_web/live/user_live/form.ex:265 -#: lib/mv_web/live/user_live/index.html.heex:66 +#: 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" -#: lib/mv_web/live/member_live/show.ex:41 -#: lib/mv_web/live/member_live/show.ex:116 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Edit Member" msgstr "Mitglied bearbeiten" -#: 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:50 -#: 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:50 +#: 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:48 +#: 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:55 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Join Date" msgstr "Beitrittsdatum" -#: lib/mv_web/live/member_live/form.ex:46 -#: 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 "Last Name" msgstr "Nachname" -#: lib/mv_web/live/member_live/index.html.heex:29 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" msgstr "Neues Mitglied" -#: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:63 +#: 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:56 +#: 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:60 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "Hausnummer" -#: lib/mv_web/live/member_live/form.ex:52 -#: 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 "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/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:51 +#: lib/mv_web/live/components/payment_filter_component.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Paid" msgstr "Bezahlt" -#: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:202 -#: lib/mv_web/live/member_live/show.ex:54 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "Telefonnummer" -#: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:61 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "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:248 +#: 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:59 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "Straße" -#: lib/mv_web/live/member_live/show.ex:47 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Id" msgstr "ID" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:61 -#: lib/mv_web/live/member_live/show.ex:52 +#: 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:115 +#: 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:33 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "This is a member record from your database." msgstr "Dies ist ein Mitglied aus deiner Datenbank." -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:60 -#: lib/mv_web/live/member_live/show.ex:52 +#: 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:251 +#: 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:53 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Enabled" msgstr "Aktiviert" -#: lib/mv_web/live/user_live/show.ex:49 -#, elixir-autogen, elixir-format -msgid "ID" -msgstr "ID" - -#: 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:102 +#: 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/member_live/index.ex:73 -#: lib/mv_web/live/member_live/index.html.heex:3 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/member_live/index.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Members" msgstr "Mitglieder" -#: lib/mv_web/live/custom_field_live/form.ex:51 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" msgstr "Name" -#: lib/mv_web/live/user_live/index.html.heex:6 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "New User" msgstr "Neue*r Benutzer*in" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "Nicht aktiviert" -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "Not set" -msgstr "Nicht gesetzt" - -#: lib/mv_web/live/user_live/form.ex:107 -#: lib/mv_web/live/user_live/form.ex:115 -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Note" msgstr "Hinweis" -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "OIDC ID" -msgstr "OIDC ID" - -#: lib/mv_web/live/user_live/show.ex:52 +#: 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:95 +#: 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:99 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Settings" msgstr "Einstellungen" -#: lib/mv_web/live/user_live/form.ex:249 +#: 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:79 +#: 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:266 -#: 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:265 +#: 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:53 -#: lib/mv_web/live/user_live/show.ex:55 +#: 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:62 +#: 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:57 -#: lib/mv_web/live/user_live/show.ex:65 +#: 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:72 +#: 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:36 -#: lib/mv_web/live/member_live/show.ex:38 +#: 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:33 -#: lib/mv_web/components/layouts/navbar.ex:39 +#: 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:46 -#: lib/mv_web/components/layouts/navbar.ex:66 +#: 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:77 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Custom Field Values" msgstr "Benutzerdefinierte Feldwerte" -#: lib/mv_web/live/custom_field_value_live/form.ex:51 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" msgstr "Benutzerdefiniertes Feld" -#: lib/mv_web/live/custom_field_live/form.ex:117 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "Benutzerdefiniertes Feld erfolgreich %{action}" -#: lib/mv_web/live/custom_field_value_live/form.ex:242 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field value %{action} successfully" msgstr "Benutzerdefinierter Feldwert erfolgreich %{action}" -#: lib/mv_web/live/custom_field_value_live/form.ex:70 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Please select a custom field first" msgstr "Bitte wähle zuerst ein Benutzerdefiniertes Feld" -#: lib/mv_web/live/custom_field_live/form.ex:67 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field" msgstr "Benutzerdefiniertes Feld speichern" -#: lib/mv_web/live/custom_field_value_live/form.ex:75 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field value" msgstr "Benutzerdefinierten Feldwert speichern" -#: lib/mv_web/live/custom_field_live/form.ex:46 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage custom_field records in your database." msgstr "Verwende dieses Formular, um Benutzerdefinierte Felder in deiner Datenbank zu verwalten." -#: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Custom Fields" msgstr "Benutzerdefinierte Felder" -#: lib/mv_web/live/custom_field_value_live/form.ex:42 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Use this form to manage Custom Field Value records in your database." msgstr "Verwende dieses Formular, um Benutzerdefinierte Feldwerte in deiner Datenbank zu verwalten." -#: lib/mv_web/live/custom_field_live/show.ex:56 +#: lib/mv_web/live/custom_field_live/show.ex #, elixir-autogen, elixir-format msgid "Auto-generated identifier (immutable)" msgstr "Automatisch generierter Bezeichner (unveränderlich)" -#: lib/mv_web/live/custom_field_live/index.ex:79 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "%{count} member has a value assigned for this custom field." msgid_plural "%{count} members have values assigned for this custom field." msgstr[0] "%{count} Mitglied hat einen Wert für dieses benutzerdefinierte Feld zugewiesen." msgstr[1] "%{count} Mitglieder haben Werte für dieses benutzerdefinierte Feld zugewiesen." -#: lib/mv_web/live/custom_field_live/index.ex:87 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "All custom field values will be permanently deleted when you delete this custom field." msgstr "Alle benutzerdefinierten Feldwerte werden beim Löschen dieses benutzerdefinierten Feldes dauerhaft gelöscht." -#: lib/mv_web/live/custom_field_live/index.ex:72 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field" msgstr "Benutzerdefiniertes Feld löschen" -#: lib/mv_web/live/custom_field_live/index.ex:127 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field and All Values" msgstr "Benutzerdefiniertes Feld und alle Werte löschen" -#: lib/mv_web/live/custom_field_live/index.ex:109 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Enter the text above to confirm" msgstr "Obigen Text zur Bestätigung eingeben" -#: lib/mv_web/live/custom_field_live/index.ex:97 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format, fuzzy msgid "To confirm deletion, please enter this text:" msgstr "Um die Löschung zu bestätigen, gib bitte folgenden Text ein:" -#: lib/mv_web/live/custom_field_live/form.ex:64 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Show in overview" msgstr "In der Mitglieder-Übersicht anzeigen" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Association Name" msgstr "Vereinsname" -#: lib/mv_web/live/global_settings_live.ex:31 -#: lib/mv_web/live/global_settings_live.ex:41 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "Vereinsdaten" -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "Passe übergreifende Einstellungen für den Verein an." -#: lib/mv_web/live/global_settings_live.ex:56 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "Einstellungen speichern" -#: lib/mv_web/live/global_settings_live.ex:75 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "Einstellungen erfolgreich gespeichert" -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "A member with this email already exists. To link with a different member, please change one of the email addresses first." msgstr "Ein Mitglied mit dieser E-Mail-Adresse existiert bereits. Um mit einem anderen Mitglied zu verknüpfen, ändern Sie bitte zuerst eine der E-Mail-Adressen." -#: lib/mv_web/live/user_live/form.ex:192 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Available members" msgstr "Verfügbare Mitglieder" -#: lib/mv_web/live/user_live/form.ex:357 +#: 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:159 +#: 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:148 +#: 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:145 +#: 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:168 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "Tipp: E-Mail-Adressen ins BCC-Feld einfügen für Datenschutzkonformität" -#: lib/mv_web/live/member_live/form.ex:40 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Fields marked with an asterisk (*) cannot be empty." msgstr "Felder, die mit einem Sternchen (*) markiert sind, dürfen nicht leer bleiben." -#: lib/mv_web/components/core_components.ex:206 -#: lib/mv_web/components/core_components.ex:223 -#: lib/mv_web/components/core_components.ex:250 -#: lib/mv_web/components/core_components.ex:277 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format, fuzzy msgid "This field cannot be empty" msgstr "Dieses Feld darf nicht leer bleiben" -#: lib/mv_web/live/components/payment_filter_component.ex:80 -#: lib/mv_web/live/components/payment_filter_component.ex:143 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "All" msgstr "Alle" -#: lib/mv_web/live/components/payment_filter_component.ex:54 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Filter by payment status" msgstr "Nach Zahlungsstatus filtern" -#: lib/mv_web/live/components/payment_filter_component.ex:108 -#: lib/mv_web/live/components/payment_filter_component.ex:145 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Not paid" msgstr "Nicht bezahlt" -#: lib/mv_web/live/components/payment_filter_component.ex:65 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Payment filter" msgstr "Zahlungsfilter" -#~ #: lib/mv_web/live/member_live/form.ex:48 -#~ #: lib/mv_web/live/member_live/show.ex:51 +#~ #: lib/mv_web/live/member_live/form.ex +#~ #: lib/mv_web/live/member_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "Birth Date" #~ msgstr "Geburtsdatum" + +#~ #: lib/mv_web/live/user_live/show.ex +#~ #, elixir-autogen, elixir-format +#~ msgid "ID" +#~ msgstr "ID" + +#~ #: 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 +#~ #: lib/mv_web/live/user_live/show.ex +#~ #, elixir-autogen, elixir-format +#~ msgid "OIDC ID" +#~ msgstr "OIDC ID" diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 1e0e954..e865136 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -11,845 +11,812 @@ msgid "" msgstr "" -#: lib/mv_web/components/core_components.ex:386 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:248 -#: lib/mv_web/live/user_live/index.html.heex:72 +#: 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:58 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:250 -#: lib/mv_web/live/user_live/index.html.heex:74 +#: 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/member_live/index.html.heex:242 -#: lib/mv_web/live/user_live/form.ex:265 -#: lib/mv_web/live/user_live/index.html.heex:66 +#: 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:41 -#: lib/mv_web/live/member_live/show.ex:116 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Edit Member" msgstr "" -#: 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:50 -#: 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:50 +#: 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:48 +#: 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:55 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Join Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex:46 -#: 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 "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:29 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:63 +#: 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:56 +#: 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:60 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:52 -#: 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 "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/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:51 +#: lib/mv_web/live/components/payment_filter_component.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Paid" msgstr "" -#: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:202 -#: lib/mv_web/live/member_live/show.ex:54 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:61 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "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:248 +#: 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:59 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex:47 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Id" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:61 -#: lib/mv_web/live/member_live/show.ex:52 +#: 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:115 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Show Member" msgstr "" -#: lib/mv_web/live/member_live/show.ex:33 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "This is a member record from your database." msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:60 -#: lib/mv_web/live/member_live/show.ex:52 +#: 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:251 +#: 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:53 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:49 -#, elixir-autogen, elixir-format -msgid "ID" -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:102 +#: 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/member_live/index.ex:73 -#: lib/mv_web/live/member_live/index.html.heex:3 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/member_live/index.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Members" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:51 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:6 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "Not set" -msgstr "" - -#: lib/mv_web/live/user_live/form.ex:107 -#: lib/mv_web/live/user_live/form.ex:115 -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "OIDC ID" -msgstr "" - -#: lib/mv_web/live/user_live/show.ex:52 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:95 +#: 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:99 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:249 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Save User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:79 +#: 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:266 -#: 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:265 +#: 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:53 -#: lib/mv_web/live/user_live/show.ex:55 +#: 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:62 +#: 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:57 -#: lib/mv_web/live/user_live/show.ex:65 +#: 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:72 +#: 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:36 -#: lib/mv_web/live/member_live/show.ex:38 +#: 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:33 -#: lib/mv_web/components/layouts/navbar.ex:39 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Select language" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:46 -#: lib/mv_web/components/layouts/navbar.ex:66 +#: 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:77 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Custom Field Values" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:51 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:117 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:242 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field value %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:70 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Please select a custom field first" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:67 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:75 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field value" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:46 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage custom_field records in your database." msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Custom Fields" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:42 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Use this form to manage Custom Field Value records in your database." msgstr "" -#: lib/mv_web/live/custom_field_live/show.ex:56 +#: lib/mv_web/live/custom_field_live/show.ex #, elixir-autogen, elixir-format msgid "Auto-generated identifier (immutable)" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:79 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "%{count} member has a value assigned for this custom field." msgid_plural "%{count} members have values assigned for this custom field." msgstr[0] "" msgstr[1] "" -#: lib/mv_web/live/custom_field_live/index.ex:87 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "All custom field values will be permanently deleted when you delete this custom field." msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:72 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:127 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field and All Values" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:109 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Enter the text above to confirm" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:97 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "To confirm deletion, please enter this text:" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:64 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Show in overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:31 -#: lib/mv_web/live/global_settings_live.ex:41 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/global_settings_live.ex:56 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:75 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "" -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "A member with this email already exists. To link with a different member, please change one of the email addresses first." msgstr "" -#: lib/mv_web/live/user_live/form.ex:192 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:357 +#: 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:159 +#: 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:148 +#: 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:145 +#: 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:168 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" -#: lib/mv_web/live/member_live/form.ex:40 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Fields marked with an asterisk (*) cannot be empty." msgstr "" -#: lib/mv_web/components/core_components.ex:206 -#: lib/mv_web/components/core_components.ex:223 -#: lib/mv_web/components/core_components.ex:250 -#: lib/mv_web/components/core_components.ex:277 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "This field cannot be empty" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:80 -#: lib/mv_web/live/components/payment_filter_component.ex:143 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "All" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:54 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Filter by payment status" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:108 -#: lib/mv_web/live/components/payment_filter_component.ex:145 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Not paid" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:65 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Payment filter" msgstr "" 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 319bcc3..74eded2 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -11,851 +11,834 @@ msgstr "" "Language: en\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/mv_web/components/core_components.ex:386 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:248 -#: lib/mv_web/live/user_live/index.html.heex:72 +#: 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:58 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:250 -#: lib/mv_web/live/user_live/index.html.heex:74 +#: 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/member_live/index.html.heex:242 -#: lib/mv_web/live/user_live/form.ex:265 -#: lib/mv_web/live/user_live/index.html.heex:66 +#: 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:41 -#: lib/mv_web/live/member_live/show.ex:116 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Edit Member" msgstr "" -#: 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:50 -#: 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:50 +#: 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:48 +#: 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:55 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Join Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex:46 -#: 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 "Last Name" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:29 +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:63 +#: 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:56 +#: 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:60 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:52 -#: 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 "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/member_live/form.ex:48 -#: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:51 +#: lib/mv_web/live/components/payment_filter_component.ex +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Paid" msgstr "" -#: lib/mv_web/live/member_live/form.ex:49 -#: lib/mv_web/live/member_live/index.html.heex:202 -#: lib/mv_web/live/member_live/show.ex:54 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:56 -#: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:61 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "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:248 +#: 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:59 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/index.html.heex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex:47 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Id" msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:61 -#: lib/mv_web/live/member_live/show.ex:52 +#: 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:115 +#: 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:33 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "This is a member record from your database." msgstr "" -#: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:60 -#: lib/mv_web/live/member_live/show.ex:52 +#: 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:251 +#: 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:53 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:49 -#, elixir-autogen, elixir-format -msgid "ID" -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:102 +#: 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/member_live/index.ex:73 -#: lib/mv_web/live/member_live/index.html.heex:3 +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/member_live/index.ex +#: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "Members" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:51 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:6 +#: lib/mv_web/live/user_live/index.html.heex #, elixir-autogen, elixir-format msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format, fuzzy -msgid "Not set" -msgstr "" - -#: lib/mv_web/live/user_live/form.ex:107 -#: lib/mv_web/live/user_live/form.ex:115 -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "OIDC ID" -msgstr "" - -#: lib/mv_web/live/user_live/show.ex:52 +#: lib/mv_web/live/user_live/show.ex #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:95 +#: 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:99 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:249 +#: 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:79 +#: 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:266 -#: 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:265 +#: 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:53 -#: lib/mv_web/live/user_live/show.ex:55 +#: 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:62 +#: 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:57 -#: lib/mv_web/live/user_live/show.ex:65 +#: 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:72 +#: 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:36 -#: lib/mv_web/live/member_live/show.ex:38 +#: 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:33 -#: lib/mv_web/components/layouts/navbar.ex:39 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format, fuzzy msgid "Select language" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:46 -#: lib/mv_web/components/layouts/navbar.ex:66 +#: 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:77 +#: lib/mv_web/live/member_live/form.ex +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Custom Field Values" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:51 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:117 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:242 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field value %{action} successfully" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:70 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Please select a custom field first" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:67 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:75 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Save Custom field value" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:46 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Use this form to manage custom_field records in your database." msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/components/layouts/navbar.ex #, elixir-autogen, elixir-format, fuzzy msgid "Custom Fields" msgstr "" -#: lib/mv_web/live/custom_field_value_live/form.ex:42 +#: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Use this form to manage Custom Field Value records in your database." msgstr "" -#: lib/mv_web/live/custom_field_live/show.ex:56 +#: lib/mv_web/live/custom_field_live/show.ex #, elixir-autogen, elixir-format msgid "Auto-generated identifier (immutable)" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:79 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "%{count} member has a value assigned for this custom field." msgid_plural "%{count} members have values assigned for this custom field." msgstr[0] "" msgstr[1] "" -#: lib/mv_web/live/custom_field_live/index.ex:87 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "All custom field values will be permanently deleted when you delete this custom field." msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:72 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:127 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Delete Custom Field and All Values" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:109 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format msgid "Enter the text above to confirm" msgstr "" -#: lib/mv_web/live/custom_field_live/index.ex:97 +#: lib/mv_web/live/custom_field_live/index.ex #, elixir-autogen, elixir-format, fuzzy msgid "To confirm deletion, please enter this text:" msgstr "" -#: lib/mv_web/live/custom_field_live/form.ex:64 +#: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Show in overview" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:51 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Association Name" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:31 -#: lib/mv_web/live/global_settings_live.ex:41 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Club Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:43 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Manage global settings for the association." msgstr "" -#: lib/mv_web/live/global_settings_live.ex:56 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" msgstr "" -#: lib/mv_web/live/global_settings_live.ex:75 +#: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Settings updated successfully" msgstr "" -#: lib/mv_web/live/user_live/form.ex:224 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "A member with this email already exists. To link with a different member, please change one of the email addresses first." msgstr "" -#: lib/mv_web/live/user_live/form.ex:192 +#: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:357 +#: 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:159 +#: 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:148 +#: 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:145 +#: 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:168 +#: lib/mv_web/live/member_live/index.ex #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" -#: lib/mv_web/live/member_live/form.ex:40 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Fields marked with an asterisk (*) cannot be empty." msgstr "" -#: lib/mv_web/components/core_components.ex:206 -#: lib/mv_web/components/core_components.ex:223 -#: lib/mv_web/components/core_components.ex:250 -#: lib/mv_web/components/core_components.ex:277 +#: lib/mv_web/components/core_components.ex #, elixir-autogen, elixir-format, fuzzy msgid "This field cannot be empty" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:80 -#: lib/mv_web/live/components/payment_filter_component.ex:143 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "All" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:54 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Filter by payment status" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:108 -#: lib/mv_web/live/components/payment_filter_component.ex:145 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Not paid" msgstr "" -#: lib/mv_web/live/components/payment_filter_component.ex:65 +#: lib/mv_web/live/components/payment_filter_component.ex #, elixir-autogen, elixir-format msgid "Payment filter" msgstr "" -#~ #: lib/mv_web/live/member_live/form.ex:48 -#~ #: lib/mv_web/live/member_live/show.ex:51 +#~ #: lib/mv_web/live/member_live/form.ex +#~ #: lib/mv_web/live/member_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "Birth Date" #~ msgstr "" + +#~ #: lib/mv_web/live/user_live/show.ex +#~ #, 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 +#~ #: lib/mv_web/live/user_live/show.ex +#~ #, elixir-autogen, elixir-format +#~ msgid "OIDC ID" +#~ msgstr "" From ed961f7585984d4f891d11bf4595e79a7322c5e3 Mon Sep 17 00:00:00 2001 From: Moritz Date: Wed, 3 Dec 2025 13:34:44 +0100 Subject: [PATCH 3/6] Redesign member view/edit UI with improved accessibility - Group fields into Personal Data, Custom Fields, and Payment Data sections - Fix WCAG AA contrast issues and semantic HTML (dt/dd in dl) - Format mailto links with member name in href attribute --- lib/mv_web/live/member_live/form.ex | 284 ++++++++--- lib/mv_web/live/member_live/show.ex | 347 ++++++++++--- priv/gettext/de/LC_MESSAGES/default.po | 673 ++++++------------------- priv/gettext/default.pot | 617 +++++------------------ priv/gettext/en/LC_MESSAGES/default.po | 643 +++++------------------ 5 files changed, 922 insertions(+), 1642 deletions(-) diff --git a/lib/mv_web/live/member_live/form.ex b/lib/mv_web/live/member_live/form.ex index 5370154..4781cd5 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" + action = if is_nil(member), do: gettext("New"), else: gettext("Edit") + page_title = "#{action} #{gettext("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..55d8991 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,132 @@ 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_email_mailto(first_name, last_name, email) do + name = + [first_name, last_name] + |> Enum.filter(&(&1 && &1 != "")) + |> Enum.join(" ") + + if name != "" do + "#{name} <#{email}>" + else + email end end + + 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/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index 607ad9e..c6f2028 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -10,14 +10,13 @@ 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:386 #, 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/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "Bist du sicher?" @@ -28,71 +27,69 @@ msgstr "Bist du sicher?" msgid "Attempting to reconnect" msgstr "Verbindung wird wiederhergestellt" -#: lib/mv_web/live/member_live/form.ex:53 +#: lib/mv_web/live/member_live/form.ex:100 #: lib/mv_web/live/member_live/index.html.heex:184 -#: lib/mv_web/live/member_live/show.ex:59 #, 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/user_live/index.html.heex:74 #, 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/form.ex:241 #: 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/user_live/form.ex:265 +#: lib/mv_web/live/user_live/index.html.heex:66 #, elixir-autogen, elixir-format msgid "Edit" -msgstr "Bearbeiten" +msgstr "Bearbeite" -#: lib/mv_web/live/member_live/show.ex:42 -#: lib/mv_web/live/member_live/show.ex:114 +#: lib/mv_web/live/member_live/show.ex:40 +#: lib/mv_web/live/member_live/show.ex:197 #, 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/form.ex:106 #: lib/mv_web/live/member_live/index.html.heex:112 -#: lib/mv_web/live/member_live/show.ex:51 +#: lib/mv_web/live/member_live/show.ex:75 #: 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/user_live/show.ex:50 #, 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:81 +#: lib/mv_web/live/member_live/show.ex:64 #, elixir-autogen, elixir-format msgid "First Name" msgstr "Vorname" -#: lib/mv_web/live/member_live/form.ex:50 +#: lib/mv_web/live/member_live/form.ex:117 #: 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/show.ex:93 #, 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:84 +#: lib/mv_web/live/member_live/show.ex:65 #, elixir-autogen, elixir-format msgid "Last Name" msgstr "Nachname" +#: lib/mv_web/live/member_live/form.ex:44 #: lib/mv_web/live/member_live/index.html.heex:29 #, 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/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" msgstr "Anzeigen" @@ -112,52 +109,45 @@ msgstr "Keine Internetverbindung gefunden" 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:120 +#: lib/mv_web/live/member_live/show.ex:98 #, 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 #, elixir-autogen, elixir-format msgid "House Number" msgstr "Hausnummer" -#: lib/mv_web/live/contribution_period_live/show.ex:140 -#: lib/mv_web/live/member_live/form.ex:52 -#: lib/mv_web/live/member_live/show.ex:58 +#: lib/mv_web/live/member_live/form.ex:126 +#: lib/mv_web/live/member_live/show.ex:124 #, 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/form.ex:199 #: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:52 +#: lib/mv_web/live/member_live/show.ex:162 +#: lib/mv_web/live/member_live/show.ex:164 #, 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 #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "Telefonnummer" -#: lib/mv_web/live/member_live/form.ex:56 +#: lib/mv_web/live/member_live/form.ex:97 #: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:62 #, 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:211 #, elixir-autogen, elixir-format msgid "Save Member" msgstr "Mitglied speichern" @@ -165,58 +155,48 @@ 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/member_live/form.ex:48 +#: lib/mv_web/live/member_live/form.ex:210 +#: lib/mv_web/live/user_live/form.ex:248 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Speichern..." -#: lib/mv_web/live/member_live/form.ex:54 +#: lib/mv_web/live/member_live/form.ex:91 #: lib/mv_web/live/member_live/index.html.heex:130 -#: lib/mv_web/live/member_live/show.ex:60 #, 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/formatter.ex:61 +#: lib/mv_web/live/member_live/show.ex:303 #, 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:196 #, 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/formatter.ex:60 +#: lib/mv_web/live/member_live/show.ex:303 #, 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/member_live/form.ex:269 #, 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/member_live/form.ex:270 #, elixir-autogen, elixir-format msgid "update" msgstr "aktualisiert" @@ -226,7 +206,7 @@ msgstr "aktualisiert" 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:276 #, elixir-autogen, elixir-format msgid "Member %{action} successfully" msgstr "Mitglied %{action} erfolgreich" @@ -259,8 +239,8 @@ 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/member_live/form.ex:208 +#: lib/mv_web/live/user_live/form.ex:251 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "Abbrechen" @@ -280,17 +260,22 @@ msgstr "Beschreibung" msgid "Edit User" msgstr "Benutzer*in bearbeiten" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format msgid "Enabled" msgstr "Aktiviert" +#: lib/mv_web/live/user_live/show.ex:49 +#, elixir-autogen, elixir-format +msgid "ID" +msgstr "ID" + #: lib/mv_web/live/custom_field_live/form.ex:62 #, elixir-autogen, elixir-format msgid "Immutable" msgstr "Unveränderlich" -#: lib/mv_web/components/layouts/navbar.ex:113 +#: lib/mv_web/components/layouts/navbar.ex:102 #, elixir-autogen, elixir-format msgid "Logout" msgstr "Abmelden" @@ -302,19 +287,18 @@ msgid "Listing Users" msgstr "Benutzer*innen auflisten" #: lib/mv_web/live/custom_field_value_live/form.ex:60 +#: lib/mv_web/live/member_live/form.ex:242 #, 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.ex:73 #: lib/mv_web/live/member_live/index.html.heex:3 #, 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 #, elixir-autogen, elixir-format msgid "Name" @@ -325,12 +309,16 @@ msgstr "Name" 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:53 #, 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/show.ex:51 +#, elixir-autogen, elixir-format +msgid "Not set" +msgstr "Nicht gesetzt" + #: 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 @@ -338,12 +326,18 @@ msgstr "Nicht aktiviert" msgid "Note" msgstr "Hinweis" -#: lib/mv_web/live/user_live/show.ex:50 +#: lib/mv_web/live/user_live/index.html.heex:52 +#: lib/mv_web/live/user_live/show.ex:51 +#, elixir-autogen, elixir-format +msgid "OIDC ID" +msgstr "OIDC ID" + +#: lib/mv_web/live/user_live/show.ex:52 #, 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:95 #, elixir-autogen, elixir-format msgid "Profil" msgstr "Profil" @@ -363,17 +357,17 @@ msgstr "Alle Mitglieder auswählen" msgid "Select member" msgstr "Mitglied auswählen" -#: lib/mv_web/components/layouts/navbar.ex:110 +#: lib/mv_web/components/layouts/navbar.ex:99 #, 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:249 #, 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:79 #, elixir-autogen, elixir-format msgid "Show User" msgstr "Benutzer*in anzeigen" @@ -393,7 +387,7 @@ msgstr "Nicht unterstützter Wertetyp: %{type}" 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/form.ex:266 #: lib/mv_web/live/user_live/show.ex:34 #, elixir-autogen, elixir-format msgid "User" @@ -421,7 +415,8 @@ msgstr "aufsteigend" msgid "descending" msgstr "absteigend" -#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/member_live/form.ex:241 +#: lib/mv_web/live/user_live/form.ex:265 #, elixir-autogen, elixir-format msgid "New" msgstr "Neue*r" @@ -497,30 +492,29 @@ 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/index.html.heex:53 +#: lib/mv_web/live/user_live/show.ex:55 #, 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:106 #, 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:57 +#: lib/mv_web/live/user_live/show.ex:65 #, 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:116 #, 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:30 #, elixir-autogen, elixir-format msgid "Back to members list" msgstr "Zurück zur Mitgliederliste" @@ -531,14 +525,14 @@ msgstr "Zurück zur Mitgliederliste" 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:33 +#: lib/mv_web/components/layouts/navbar.ex:39 #, 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:46 +#: lib/mv_web/components/layouts/navbar.ex:66 #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "Dunklen Modus umschalten" @@ -601,12 +595,6 @@ msgstr "Diese E-Mail-Adresse ist bereits mit einem anderen OIDC-Konto verknüpft 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 msgid "Custom field" @@ -643,6 +631,8 @@ 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/live/member_live/form.ex:135 +#: lib/mv_web/live/member_live/show.ex:136 #, elixir-autogen, elixir-format msgid "Custom Fields" msgstr "Benutzerdefinierte Felder" @@ -710,7 +700,6 @@ msgstr "Vereinsdaten" 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 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" @@ -731,7 +720,7 @@ msgstr "Ein Mitglied mit dieser E-Mail-Adresse existiert bereits. Um mit einem a msgid "Available members" msgstr "Verfügbare Mitglieder" -#: lib/mv_web/live/user_live/form.ex:359 +#: lib/mv_web/live/user_live/form.ex:357 #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "Fehler beim Verlinken des Mitglieds: %{error}" @@ -771,7 +760,7 @@ msgstr "Mitglied entverknüpfen" msgid "Unlinking scheduled" msgstr "Entverknüpfung geplant" -#: lib/mv_web/live/member_live/index.ex:160 +#: lib/mv_web/live/member_live/index.ex:159 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -788,12 +777,12 @@ msgstr "E-Mail-Adressen der ausgewählten Mitglieder kopieren" msgid "Copy emails" msgstr "E-Mails kopieren" -#: lib/mv_web/live/member_live/index.ex:149 +#: lib/mv_web/live/member_live/index.ex:148 #, 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:145 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "Keine Mitglieder ausgewählt" @@ -808,16 +797,11 @@ msgstr "E-Mail-Programm mit BCC-Empfänger*innen öffnen" 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:168 #, 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 @@ -848,450 +832,103 @@ msgstr "Nicht bezahlt" msgid "Payment filter" msgstr "Zahlungsfilter" -#: lib/mv_web/live/contribution_period_live/show.ex:107 +#: lib/mv_web/live/member_live/show.ex:70 #, 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" +msgid "Address" +msgstr "Adresse" -#: lib/mv_web/live/contribution_type_live/index.ex:113 +#: lib/mv_web/live/member_live/form.ex:37 +#: lib/mv_web/live/member_live/show.ex:32 #, elixir-autogen, elixir-format -msgid "About Contribution Types" -msgstr "Über Beitragsarten" +msgid "Back" +msgstr "Zurück" -#: lib/mv_web/live/contribution_period_live/show.ex:138 -#: lib/mv_web/live/contribution_type_live/index.ex:53 +#: lib/mv_web/live/member_live/form.ex:65 +#: lib/mv_web/live/member_live/show.ex:50 #, elixir-autogen, elixir-format -msgid "Amount" -msgstr "Betrag" +msgid "Coming soon" +msgstr "Demnächst verfügbar" -#: lib/mv_web/live/contribution_period_live/show.ex:48 +#: lib/mv_web/live/member_live/form.ex:57 +#: lib/mv_web/live/member_live/show.ex:48 #, elixir-autogen, elixir-format -msgid "Back to Settings" -msgstr "Zurück zu Einstellungen" +msgid "Contact Data" +msgstr "Kontaktdaten" -#: lib/mv_web/live/contribution_type_live/index.ex:124 +#: lib/mv_web/live/member_live/form.ex:175 +#: lib/mv_web/live/member_live/show.ex:160 #, 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." +msgid "Contribution" +msgstr "Beitrag" -#: lib/mv_web/live/contribution_type_live/index.ex:77 +#: lib/mv_web/live/member_live/form.ex:94 #, elixir-autogen, elixir-format -msgid "Cannot delete - members assigned" -msgstr "Löschen nicht möglich - Mitglieder zugewiesen" +msgid "Nr." +msgstr "Nr." -#: lib/mv_web/live/contribution_period_live/show.ex:83 +#: lib/mv_web/live/member_live/form.ex:186 +#: lib/mv_web/live/member_live/show.ex:161 #, elixir-autogen, elixir-format -msgid "Change Contribution Type" -msgstr "Beitragsart ändern" +msgid "Payment Cycle" +msgstr "Zahlungszyklus" -#: lib/mv_web/live/contribution_settings_live.ex:42 +#: lib/mv_web/live/member_live/form.ex:166 +#: lib/mv_web/live/member_live/show.ex:153 #, elixir-autogen, elixir-format -msgid "Configure global settings for membership contributions." -msgstr "Globale Einstellungen für Mitgliedsbeiträge konfigurieren." +msgid "Payment Data" +msgstr "Beitragsdaten" -#: 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/live/member_live/form.ex:68 +#: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format -msgid "Contribution Settings" -msgstr "Beitragseinstellungen" +msgid "Payments" +msgstr "Zahlungen" -#: lib/mv_web/live/contribution_period_live/show.ex:62 +#: lib/mv_web/live/member_live/show.ex:166 #, elixir-autogen, elixir-format -msgid "Contribution Start" -msgstr "Beitragsbeginn" +msgid "Pending" +msgstr "Ausstehend" -#: 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/live/member_live/form.ex:76 +#: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format -msgid "Contribution Types" -msgstr "Beitragsarten" +msgid "Personal Data" +msgstr "Persönliche Daten" -#: lib/mv_web/live/contribution_settings_live.ex:224 +#: lib/mv_web/live/member_live/form.ex:111 +#: lib/mv_web/live/member_live/show.ex:87 #, elixir-autogen, elixir-format -msgid "Contribution start" -msgstr "Beitragsbeginn" +msgid "Phone" +msgstr "Telefon" -#: lib/mv_web/live/contribution_period_live/show.ex:41 +#: lib/mv_web/live/member_live/form.ex:49 #, elixir-autogen, elixir-format -msgid "Contribution type" -msgstr "Beitragsart" +msgid "Save" +msgstr "Speichern" -#: lib/mv_web/live/contribution_type_live/index.ex:117 +#: lib/mv_web/live/member_live/form.ex:169 +#: lib/mv_web/live/member_live/show.ex:156 #, 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." +msgid "This data is for demonstration purposes only (mockup)." +msgstr "Diese Daten dienen nur zu Demonstrationszwecken (Mockup)." -#: lib/mv_web/components/layouts/navbar.ex:30 +#: lib/mv_web/live/member_live/form.ex:190 +#: lib/mv_web/live/member_live/show.ex:161 #, elixir-autogen, elixir-format -msgid "Contributions" -msgstr "Beiträge" +msgid "monthly" +msgstr "monatlich" -#: lib/mv_web/live/contribution_period_live/show.ex:39 +#: lib/mv_web/live/member_live/form.ex:194 #, elixir-autogen, elixir-format -msgid "Contributions for %{name}" -msgstr "Beiträge für %{name}" +msgid "yearly" +msgstr "jährlich" -#: lib/mv_web/live/contribution_period_live/show.ex:159 -#, elixir-autogen, elixir-format -msgid "Current" -msgstr "Aktuell" - -#: lib/mv_web/live/contribution_settings_live.ex:60 -#, elixir-autogen, elixir-format -msgid "Default Contribution Type" -msgstr "Standard-Beitragsart" - -#: lib/mv_web/live/contribution_type_live/index.ex:133 -#, elixir-autogen, elixir-format -msgid "Deletion" -msgstr "Löschung" - -#: lib/mv_web/live/contribution_settings_live.ex:173 -#, elixir-autogen, elixir-format -msgid "Example: Member Contribution View" -msgstr "Beispiel: Mitglieder-Beitragsansicht" - -#: lib/mv_web/live/contribution_settings_live.ex:113 -#, elixir-autogen, elixir-format -msgid "Examples" -msgstr "Beispiele" - -#: lib/mv_web/live/contribution_settings_live.ex:262 -#: lib/mv_web/live/contribution_type_live/index.ex:172 -#, elixir-autogen, elixir-format -msgid "Family" -msgstr "Familie" - -#: lib/mv_web/live/contribution_type_live/index.ex:128 -#, elixir-autogen, elixir-format -msgid "Fixed after creation. Members can only switch between types with the same interval." -msgstr "Nach der Erstellung unveränderlich. Mitglieder können nur zwischen Arten mit demselben Intervall wechseln." - -#: lib/mv_web/live/contribution_settings_live.ex:228 -#, elixir-autogen, elixir-format -msgid "Generated periods" -msgstr "Generierte Beiträge" - -#: lib/mv_web/live/contribution_settings_live.ex:52 -#, elixir-autogen, elixir-format -msgid "Global Settings" -msgstr "Globale Einstellungen" - -#: lib/mv_web/live/contribution_period_live/show.ex:343 -#: lib/mv_web/live/contribution_settings_live.ex:275 -#: lib/mv_web/live/contribution_type_live/index.ex:203 -#, elixir-autogen, elixir-format -msgid "Half-yearly" -msgstr "Halbjährlich" - -#: lib/mv_web/live/contribution_type_live/index.ex:181 -#, elixir-autogen, elixir-format -msgid "Half-yearly contribution for supporting members" -msgstr "Halbjährlicher Beitrag für Fördermitglieder" - -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_type_live/index.ex:188 -#, elixir-autogen, elixir-format -msgid "Honorary" -msgstr "Ehrenmitglied" - -#: lib/mv_web/live/contribution_settings_live.ex:85 -#, elixir-autogen, elixir-format -msgid "Include joining period" -msgstr "Zahlt ab Zeitpunkt des Eintritts" - -#: lib/mv_web/live/contribution_period_live/show.ex:137 -#: lib/mv_web/live/contribution_type_live/index.ex:57 -#: lib/mv_web/live/contribution_type_live/index.ex:127 -#, elixir-autogen, elixir-format -msgid "Interval" -msgstr "Intervall" - -#: lib/mv_web/live/contribution_settings_live.ex:220 -#, elixir-autogen, elixir-format -msgid "Joining date" -msgstr "Eintrittsdatum" - -#: lib/mv_web/live/contribution_period_live/show.ex:331 -#, elixir-autogen, elixir-format -msgid "Joining year - reduced to 0" -msgstr "Eintrittsjahr - auf 0 reduziert" - -#: lib/mv_web/live/contribution_type_live/index.ex:38 -#, elixir-autogen, elixir-format -msgid "Manage contribution types for membership fees." -msgstr "Beitragsarten für Mitgliedsbeiträge verwalten." - -#: lib/mv_web/live/contribution_period_live/show.ex:116 -#, elixir-autogen, elixir-format -msgid "Mark as Paid" -msgstr "Als bezahlt markieren" - -#: lib/mv_web/live/contribution_period_live/show.ex:120 -#, elixir-autogen, elixir-format -msgid "Mark as Suspended" -msgstr "Als ausgesetzt markieren" - -#: lib/mv_web/live/contribution_period_live/show.ex:124 -#, elixir-autogen, elixir-format -msgid "Mark as Unpaid" -msgstr "Als unbezahlt markieren" - -#: lib/mv_web/live/contribution_period_live/show.ex:26 -#, elixir-autogen, elixir-format -msgid "Member Contributions" -msgstr "Mitgliedsbeiträge" - -#: lib/mv_web/live/contribution_settings_live.ex:122 -#, elixir-autogen, elixir-format -msgid "Member pays for the year they joined" -msgstr "Mitglied zahlt für das Eintrittsjahr" - -#: lib/mv_web/live/contribution_settings_live.ex:155 -#, elixir-autogen, elixir-format -msgid "Member pays from the joining month" -msgstr "Mitglied zahlt ab dem Eintrittsmonat" - -#: lib/mv_web/live/contribution_settings_live.ex:144 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full quarter" -msgstr "Mitglied zahlt ab dem nächsten vollen Quartal" - -#: lib/mv_web/live/contribution_settings_live.ex:133 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full year" -msgstr "Mitglied zahlt ab dem nächsten vollen Jahr" - -#: lib/mv_web/live/contribution_period_live/show.ex:43 -#, elixir-autogen, elixir-format -msgid "Member since" -msgstr "Mitglied seit" - -#: lib/mv_web/live/contribution_period_live/show.ex:92 -#, elixir-autogen, elixir-format -msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps." -msgstr "Mitglieder können nur zwischen Beitragsarten mit demselben Zahlungsintervall wechseln (z.B. jährlich zu jährlich). Dies verhindert komplexe Periodenüberschneidungen." - -#: lib/mv_web/live/contribution_period_live/show.ex:341 -#: lib/mv_web/live/contribution_settings_live.ex:273 -#: lib/mv_web/live/contribution_type_live/index.ex:201 -#, elixir-autogen, elixir-format -msgid "Monthly" -msgstr "Monatlich" - -#: lib/mv_web/live/contribution_settings_live.ex:150 -#, elixir-autogen, elixir-format -msgid "Monthly Interval - Joining Period Included" -msgstr "Monatliches Intervall - Eintrittsperiode eingeschlossen" - -#: lib/mv_web/live/contribution_type_live/index.ex:165 -#, elixir-autogen, elixir-format -msgid "Monthly fee for students and trainees" -msgstr "Monatlicher Beitrag für Studierende und Auszubildende" - -#: lib/mv_web/live/contribution_type_live/index.ex:123 -#, elixir-autogen, elixir-format -msgid "Name & Amount" -msgstr "Name & Betrag" - -#: lib/mv_web/live/contribution_type_live/index.ex:42 -#, elixir-autogen, elixir-format -msgid "New Contribution Type" -msgstr "Neue Beitragsart" - -#: lib/mv_web/live/contribution_type_live/index.ex:189 -#, elixir-autogen, elixir-format -msgid "No fee for honorary members" -msgstr "Kein Beitrag für Ehrenmitglieder" - -#: lib/mv_web/live/contribution_type_live/index.ex:134 -#, elixir-autogen, elixir-format -msgid "Only possible if no members are assigned to this type." -msgstr "Nur möglich, wenn keine Mitglieder dieser Art zugewiesen sind." - -#: lib/mv_web/live/contribution_period_live/show.ex:70 -#, elixir-autogen, elixir-format -msgid "Open Contributions" -msgstr "Offene Beiträge" - -#: lib/mv_web/live/contribution_period_live/show.ex:301 -#, elixir-autogen, elixir-format -msgid "Paid via bank transfer" -msgstr "Per Überweisung bezahlt" - -#: lib/mv_web/live/contribution_period_live/show.ex:225 -#: lib/mv_web/live/contribution_settings_live.ex:197 -#: lib/mv_web/live/contribution_type_live/index.ex:97 -#, elixir-autogen, elixir-format -msgid "Preview Mockup" -msgstr "Vorschau" - -#: lib/mv_web/live/contribution_period_live/show.ex:342 -#: lib/mv_web/live/contribution_settings_live.ex:274 -#: lib/mv_web/live/contribution_type_live/index.ex:202 -#, elixir-autogen, elixir-format -msgid "Quarterly" -msgstr "Quartalsweise" - -#: lib/mv_web/live/contribution_settings_live.ex:139 -#, elixir-autogen, elixir-format -msgid "Quarterly Interval - Joining Period Excluded" -msgstr "Quartalsintervall - Eintrittsperiode ausgeschlossen" - -#: lib/mv_web/live/contribution_type_live/index.ex:173 -#, elixir-autogen, elixir-format -msgid "Quarterly fee for family memberships" -msgstr "Quartalsbeitrag für Familienmitgliedschaften" - -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_settings_live.ex:250 -#: lib/mv_web/live/contribution_type_live/index.ex:156 -#, elixir-autogen, elixir-format -msgid "Reduced" -msgstr "Ermäßigt" - -#: lib/mv_web/live/contribution_type_live/index.ex:157 -#, elixir-autogen, elixir-format -msgid "Reduced fee for unemployed, pensioners, or low income" -msgstr "Ermäßigter Beitrag für Arbeitslose, Rentner*innen oder Geringverdienende" - -#: lib/mv_web/live/contribution_period_live/show.ex:275 -#: lib/mv_web/live/contribution_settings_live.ex:244 -#: lib/mv_web/live/contribution_type_live/index.ex:148 -#, elixir-autogen, elixir-format -msgid "Regular" -msgstr "Regulär" - -#: lib/mv_web/live/contribution_period_live/show.ex:204 -#, elixir-autogen, elixir-format -msgid "Reopen" -msgstr "Wieder öffnen" - -#: lib/mv_web/live/contribution_settings_live.ex:176 -#, elixir-autogen, elixir-format -msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." -msgstr "Sehen Sie, wie die Beitragsperioden für ein einzelnes Mitglied angezeigt werden. Dieses Beispiel zeigt Maria Weber mit mehreren Beitragsperioden." - -#: lib/mv_web/live/contribution_type_live/index.ex:149 -#, elixir-autogen, elixir-format -msgid "Standard membership fee for regular members" -msgstr "Standard-Mitgliedsbeitrag für reguläre Mitglieder" - -#: lib/mv_web/live/contribution_period_live/show.ex:139 -#, elixir-autogen, elixir-format -msgid "Status" -msgstr "Status" - -#: lib/mv_web/live/contribution_settings_live.ex:256 -#: lib/mv_web/live/contribution_type_live/index.ex:164 -#, elixir-autogen, elixir-format -msgid "Student" -msgstr "Student*in" - -#: lib/mv_web/live/contribution_type_live/index.ex:180 -#, elixir-autogen, elixir-format -msgid "Supporting Member" -msgstr "Fördermitglied" - -#: lib/mv_web/live/contribution_period_live/show.ex:195 -#, elixir-autogen, elixir-format -msgid "Suspend" -msgstr "Aussetzen" - -#: lib/mv_web/live/contribution_period_live/show.ex:259 -#, elixir-autogen, elixir-format -msgid "Suspended" -msgstr "Ausgesetzt" - -#: lib/mv_web/live/contribution_settings_live.ex:69 -#, elixir-autogen, elixir-format -msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." -msgstr "Diese Beitragsart wird automatisch allen neuen Mitgliedern zugewiesen. Kann pro Mitglied individuell geändert werden." - -#: lib/mv_web/live/contribution_period_live/show.ex:227 -#: lib/mv_web/live/contribution_settings_live.ex:199 -#: lib/mv_web/live/contribution_type_live/index.ex:99 -#, elixir-autogen, elixir-format -msgid "This page is not functional and only displays the planned features." -msgstr "Diese Seite ist nicht funktional und zeigt nur die geplanten Funktionen." - -#: lib/mv_web/live/contribution_period_live/show.ex:136 -#, elixir-autogen, elixir-format -msgid "Time Period" -msgstr "Zeitraum" - -#: lib/mv_web/live/contribution_period_live/show.ex:66 -#, elixir-autogen, elixir-format -msgid "Total Contributions" -msgstr "Beiträge gesamt" - -#: lib/mv_web/live/contribution_period_live/show.ex:250 -#, elixir-autogen, elixir-format -msgid "Unpaid" -msgstr "Unbezahlt" - -#: lib/mv_web/live/contribution_settings_live.ex:183 -#, elixir-autogen, elixir-format -msgid "View Example Member" -msgstr "Beispielmitglied ansehen" - -#: lib/mv_web/live/contribution_settings_live.ex:90 -#, elixir-autogen, elixir-format -msgid "When active: Members pay from the period of their joining." -msgstr "Wenn aktiv: Mitglieder zahlen ab der Periode ihres Eintritts." - -#: lib/mv_web/live/contribution_settings_live.ex:93 -#, elixir-autogen, elixir-format -msgid "When inactive: Members pay from the next full period after joining." -msgstr "Wenn inaktiv: Mitglieder zahlen ab der nächsten vollen Periode nach dem Eintritt." - -#: lib/mv_web/live/contribution_period_live/show.ex:98 -#, elixir-autogen, elixir-format -msgid "Why are not all contribution types shown?" -msgstr "Warum werden nicht alle Beitragsarten angezeigt?" - -#: lib/mv_web/live/contribution_period_live/show.ex:85 -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_period_live/show.ex:344 -#: lib/mv_web/live/contribution_settings_live.ex:276 -#: lib/mv_web/live/contribution_type_live/index.ex:204 -#, elixir-autogen, elixir-format -msgid "Yearly" -msgstr "Jährlich" - -#: lib/mv_web/live/contribution_settings_live.ex:128 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Excluded" -msgstr "Jährliches Intervall - Eintrittsperiode ausgeschlossen" - -#: lib/mv_web/live/contribution_settings_live.ex:117 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Included" -msgstr "Jährliches Intervall - Eintrittsperiode eingeschlossen" - -#~ #: lib/mv_web/live/member_live/form.ex:48 -#~ #: lib/mv_web/live/member_live/show.ex:51 +#~ #: lib/mv_web/live/member_live/show.ex:47 #~ #, elixir-autogen, elixir-format -#~ msgid "Birth Date" -#~ msgstr "Geburtsdatum" - -#~ #: lib/mv_web/live/user_live/show.ex:49 -#~ #, elixir-autogen, elixir-format -#~ msgid "ID" +#~ msgid "Id" #~ msgstr "ID" -#~ #: lib/mv_web/live/user_live/show.ex:51 +#~ #: lib/mv_web/live/member_live/show.ex:33 #~ #, 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 -#~ #, elixir-autogen, elixir-format -#~ msgid "OIDC ID" -#~ msgstr "OIDC ID" +#~ 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..9f0d0aa 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -11,14 +11,13 @@ 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:386 #, 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/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" @@ -29,71 +28,69 @@ msgstr "" msgid "Attempting to reconnect" msgstr "" -#: lib/mv_web/live/member_live/form.ex:53 +#: lib/mv_web/live/member_live/form.ex:100 #: lib/mv_web/live/member_live/index.html.heex:184 -#: lib/mv_web/live/member_live/show.ex:59 #, 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/user_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:66 +#: lib/mv_web/live/member_live/form.ex:241 #: 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/user_live/form.ex:265 +#: lib/mv_web/live/user_live/index.html.heex:66 #, elixir-autogen, elixir-format msgid "Edit" msgstr "" -#: lib/mv_web/live/member_live/show.ex:42 -#: lib/mv_web/live/member_live/show.ex:114 +#: lib/mv_web/live/member_live/show.ex:40 +#: lib/mv_web/live/member_live/show.ex:197 #, 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/form.ex:106 #: lib/mv_web/live/member_live/index.html.heex:112 -#: lib/mv_web/live/member_live/show.ex:51 +#: lib/mv_web/live/member_live/show.ex:75 #: 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/user_live/show.ex:50 #, 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:81 +#: lib/mv_web/live/member_live/show.ex:64 #, elixir-autogen, elixir-format msgid "First Name" msgstr "" -#: lib/mv_web/live/member_live/form.ex:50 +#: lib/mv_web/live/member_live/form.ex:117 #: 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/show.ex:93 #, 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:84 +#: lib/mv_web/live/member_live/show.ex:65 #, elixir-autogen, elixir-format msgid "Last Name" msgstr "" +#: lib/mv_web/live/member_live/form.ex:44 #: lib/mv_web/live/member_live/index.html.heex:29 #, 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/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" msgstr "" @@ -113,52 +110,45 @@ msgstr "" 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:120 +#: lib/mv_web/live/member_live/show.ex:98 #, 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 #, elixir-autogen, elixir-format msgid "House Number" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:140 -#: lib/mv_web/live/member_live/form.ex:52 -#: lib/mv_web/live/member_live/show.ex:58 +#: lib/mv_web/live/member_live/form.ex:126 +#: lib/mv_web/live/member_live/show.ex:124 #, 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/form.ex:199 #: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:52 +#: lib/mv_web/live/member_live/show.ex:162 +#: lib/mv_web/live/member_live/show.ex:164 #, 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 #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:56 +#: lib/mv_web/live/member_live/form.ex:97 #: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:62 #, 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:211 #, elixir-autogen, elixir-format msgid "Save Member" msgstr "" @@ -166,58 +156,48 @@ 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/member_live/form.ex:48 +#: lib/mv_web/live/member_live/form.ex:210 +#: lib/mv_web/live/user_live/form.ex:248 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" -#: lib/mv_web/live/member_live/form.ex:54 +#: lib/mv_web/live/member_live/form.ex:91 #: lib/mv_web/live/member_live/index.html.heex:130 -#: lib/mv_web/live/member_live/show.ex:60 #, 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/formatter.ex:61 +#: lib/mv_web/live/member_live/show.ex:303 #, elixir-autogen, elixir-format msgid "No" msgstr "" -#: lib/mv_web/live/member_live/show.ex:113 +#: lib/mv_web/live/member_live/show.ex:196 #, 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/formatter.ex:60 +#: lib/mv_web/live/member_live/show.ex:303 #, 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/member_live/form.ex:269 #, 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/member_live/form.ex:270 #, elixir-autogen, elixir-format msgid "update" msgstr "" @@ -227,7 +207,7 @@ msgstr "" msgid "Incorrect email or password" msgstr "" -#: lib/mv_web/live/member_live/form.ex:144 +#: lib/mv_web/live/member_live/form.ex:276 #, elixir-autogen, elixir-format msgid "Member %{action} successfully" msgstr "" @@ -260,8 +240,8 @@ 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/member_live/form.ex:208 +#: lib/mv_web/live/user_live/form.ex:251 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" @@ -281,17 +261,22 @@ msgstr "" msgid "Edit User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" +#: lib/mv_web/live/user_live/show.ex:49 +#, elixir-autogen, elixir-format +msgid "ID" +msgstr "" + #: lib/mv_web/live/custom_field_live/form.ex:62 #, elixir-autogen, elixir-format msgid "Immutable" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:113 +#: lib/mv_web/components/layouts/navbar.ex:102 #, elixir-autogen, elixir-format msgid "Logout" msgstr "" @@ -303,19 +288,18 @@ msgid "Listing Users" msgstr "" #: lib/mv_web/live/custom_field_value_live/form.ex:60 +#: lib/mv_web/live/member_live/form.ex:242 #, 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.ex:73 #: lib/mv_web/live/member_live/index.html.heex:3 #, 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 #, elixir-autogen, elixir-format msgid "Name" @@ -326,12 +310,16 @@ msgstr "" msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:207 +#: lib/mv_web/live/user_live/show.ex:51 +#, elixir-autogen, elixir-format +msgid "Not set" +msgstr "" + #: 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 @@ -339,12 +327,18 @@ msgstr "" msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/show.ex:50 +#: lib/mv_web/live/user_live/index.html.heex:52 +#: lib/mv_web/live/user_live/show.ex:51 +#, elixir-autogen, elixir-format +msgid "OIDC ID" +msgstr "" + +#: lib/mv_web/live/user_live/show.ex:52 #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:106 +#: lib/mv_web/components/layouts/navbar.ex:95 #, elixir-autogen, elixir-format msgid "Profil" msgstr "" @@ -364,17 +358,17 @@ msgstr "" msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:110 +#: lib/mv_web/components/layouts/navbar.ex:99 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:250 +#: lib/mv_web/live/user_live/form.ex:249 #, 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:79 #, elixir-autogen, elixir-format msgid "Show User" msgstr "" @@ -394,7 +388,7 @@ msgstr "" 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/form.ex:266 #: lib/mv_web/live/user_live/show.ex:34 #, elixir-autogen, elixir-format msgid "User" @@ -422,7 +416,8 @@ msgstr "" msgid "descending" msgstr "" -#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/member_live/form.ex:241 +#: lib/mv_web/live/user_live/form.ex:265 #, elixir-autogen, elixir-format msgid "New" msgstr "" @@ -498,30 +493,29 @@ 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/index.html.heex:53 +#: lib/mv_web/live/user_live/show.ex:55 #, 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:106 #, 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:57 +#: lib/mv_web/live/user_live/show.ex:65 #, 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:116 #, 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:30 #, elixir-autogen, elixir-format msgid "Back to members list" msgstr "" @@ -532,14 +526,14 @@ msgstr "" 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:33 +#: lib/mv_web/components/layouts/navbar.ex:39 #, 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:46 +#: lib/mv_web/components/layouts/navbar.ex:66 #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "" @@ -602,12 +596,6 @@ msgstr "" 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 #, elixir-autogen, elixir-format msgid "Custom field" @@ -644,6 +632,8 @@ msgid "Use this form to manage custom_field records in your database." msgstr "" #: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/live/member_live/form.ex:135 +#: lib/mv_web/live/member_live/show.ex:136 #, elixir-autogen, elixir-format msgid "Custom Fields" msgstr "" @@ -711,7 +701,6 @@ msgstr "" 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 #, elixir-autogen, elixir-format msgid "Save Settings" @@ -732,7 +721,7 @@ msgstr "" msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:359 +#: lib/mv_web/live/user_live/form.ex:357 #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "" @@ -772,7 +761,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:160 +#: lib/mv_web/live/member_live/index.ex:159 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -789,12 +778,12 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:149 +#: lib/mv_web/live/member_live/index.ex:148 #, 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:145 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "" @@ -809,16 +798,11 @@ msgstr "" msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:169 +#: lib/mv_web/live/member_live/index.ex:168 #, 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 @@ -849,428 +833,93 @@ msgstr "" msgid "Payment filter" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:107 +#: lib/mv_web/live/member_live/show.ex:70 #, elixir-autogen, elixir-format -msgid "%{count} period selected" -msgid_plural "%{count} periods selected" -msgstr[0] "" -msgstr[1] "" - -#: lib/mv_web/live/contribution_type_live/index.ex:113 -#, elixir-autogen, elixir-format -msgid "About Contribution Types" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:138 -#: lib/mv_web/live/contribution_type_live/index.ex:53 -#, elixir-autogen, elixir-format -msgid "Amount" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:48 -#, elixir-autogen, elixir-format -msgid "Back to Settings" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:124 -#, elixir-autogen, elixir-format -msgid "Can be changed at any time. Amount changes affect future periods only." -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:77 -#, elixir-autogen, elixir-format -msgid "Cannot delete - members assigned" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:83 -#, elixir-autogen, elixir-format -msgid "Change Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:42 -#, elixir-autogen, elixir-format -msgid "Configure global settings for membership contributions." -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:34 -#: lib/mv_web/live/contribution_settings_live.ex:27 -#: lib/mv_web/live/contribution_settings_live.ex:40 -#, elixir-autogen, elixir-format -msgid "Contribution Settings" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:62 -#, elixir-autogen, elixir-format -msgid "Contribution Start" -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:32 -#: lib/mv_web/live/contribution_type_live/index.ex:25 -#: lib/mv_web/live/contribution_type_live/index.ex:36 -#, elixir-autogen, elixir-format -msgid "Contribution Types" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:224 -#, elixir-autogen, elixir-format -msgid "Contribution start" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:41 -#, elixir-autogen, elixir-format -msgid "Contribution type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:117 -#, elixir-autogen, elixir-format -msgid "Contribution types define different membership fee structures. Each type has a fixed interval (monthly, quarterly, half-yearly, yearly) that cannot be changed after creation." -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:30 -#, elixir-autogen, elixir-format -msgid "Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:39 -#, elixir-autogen, elixir-format -msgid "Contributions for %{name}" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:159 -#, elixir-autogen, elixir-format -msgid "Current" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:60 -#, elixir-autogen, elixir-format -msgid "Default Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:133 -#, elixir-autogen, elixir-format -msgid "Deletion" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:173 -#, elixir-autogen, elixir-format -msgid "Example: Member Contribution View" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:113 -#, elixir-autogen, elixir-format -msgid "Examples" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:262 -#: lib/mv_web/live/contribution_type_live/index.ex:172 -#, elixir-autogen, elixir-format -msgid "Family" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:128 -#, elixir-autogen, elixir-format -msgid "Fixed after creation. Members can only switch between types with the same interval." -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:228 -#, elixir-autogen, elixir-format -msgid "Generated periods" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:52 -#, elixir-autogen, elixir-format -msgid "Global Settings" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:343 -#: lib/mv_web/live/contribution_settings_live.ex:275 -#: lib/mv_web/live/contribution_type_live/index.ex:203 -#, elixir-autogen, elixir-format -msgid "Half-yearly" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:181 -#, elixir-autogen, elixir-format -msgid "Half-yearly contribution for supporting members" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_type_live/index.ex:188 -#, elixir-autogen, elixir-format -msgid "Honorary" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:85 -#, elixir-autogen, elixir-format -msgid "Include joining period" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:137 -#: lib/mv_web/live/contribution_type_live/index.ex:57 -#: lib/mv_web/live/contribution_type_live/index.ex:127 -#, elixir-autogen, elixir-format -msgid "Interval" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:220 -#, elixir-autogen, elixir-format -msgid "Joining date" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:331 -#, elixir-autogen, elixir-format -msgid "Joining year - reduced to 0" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:38 -#, elixir-autogen, elixir-format -msgid "Manage contribution types for membership fees." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:116 -#, elixir-autogen, elixir-format -msgid "Mark as Paid" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:120 -#, elixir-autogen, elixir-format -msgid "Mark as Suspended" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:124 -#, elixir-autogen, elixir-format -msgid "Mark as Unpaid" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:26 -#, elixir-autogen, elixir-format -msgid "Member Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:122 -#, elixir-autogen, elixir-format -msgid "Member pays for the year they joined" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:155 -#, elixir-autogen, elixir-format -msgid "Member pays from the joining month" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:144 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full quarter" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:133 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full year" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:43 -#, elixir-autogen, elixir-format -msgid "Member since" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:92 -#, elixir-autogen, elixir-format -msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:341 -#: lib/mv_web/live/contribution_settings_live.ex:273 -#: lib/mv_web/live/contribution_type_live/index.ex:201 -#, elixir-autogen, elixir-format -msgid "Monthly" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:150 -#, elixir-autogen, elixir-format -msgid "Monthly Interval - Joining Period Included" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:165 -#, elixir-autogen, elixir-format -msgid "Monthly fee for students and trainees" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:123 -#, elixir-autogen, elixir-format -msgid "Name & Amount" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:42 -#, elixir-autogen, elixir-format -msgid "New Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:189 -#, elixir-autogen, elixir-format -msgid "No fee for honorary members" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:134 -#, elixir-autogen, elixir-format -msgid "Only possible if no members are assigned to this type." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:70 -#, elixir-autogen, elixir-format -msgid "Open Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:301 -#, elixir-autogen, elixir-format -msgid "Paid via bank transfer" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:225 -#: lib/mv_web/live/contribution_settings_live.ex:197 -#: lib/mv_web/live/contribution_type_live/index.ex:97 -#, elixir-autogen, elixir-format -msgid "Preview Mockup" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:342 -#: lib/mv_web/live/contribution_settings_live.ex:274 -#: lib/mv_web/live/contribution_type_live/index.ex:202 -#, elixir-autogen, elixir-format -msgid "Quarterly" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:139 -#, elixir-autogen, elixir-format -msgid "Quarterly Interval - Joining Period Excluded" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:173 -#, elixir-autogen, elixir-format -msgid "Quarterly fee for family memberships" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_settings_live.ex:250 -#: lib/mv_web/live/contribution_type_live/index.ex:156 -#, elixir-autogen, elixir-format -msgid "Reduced" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:157 -#, elixir-autogen, elixir-format -msgid "Reduced fee for unemployed, pensioners, or low income" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:275 -#: lib/mv_web/live/contribution_settings_live.ex:244 -#: lib/mv_web/live/contribution_type_live/index.ex:148 -#, elixir-autogen, elixir-format -msgid "Regular" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:204 -#, elixir-autogen, elixir-format -msgid "Reopen" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:176 -#, elixir-autogen, elixir-format -msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:149 -#, elixir-autogen, elixir-format -msgid "Standard membership fee for regular members" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:139 -#, elixir-autogen, elixir-format -msgid "Status" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:256 -#: lib/mv_web/live/contribution_type_live/index.ex:164 -#, elixir-autogen, elixir-format -msgid "Student" +msgid "Address" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:180 +#: lib/mv_web/live/member_live/form.ex:37 +#: lib/mv_web/live/member_live/show.ex:32 #, elixir-autogen, elixir-format -msgid "Supporting Member" +msgid "Back" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:195 +#: lib/mv_web/live/member_live/form.ex:65 +#: lib/mv_web/live/member_live/show.ex:50 #, elixir-autogen, elixir-format -msgid "Suspend" +msgid "Coming soon" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:259 +#: lib/mv_web/live/member_live/form.ex:57 +#: lib/mv_web/live/member_live/show.ex:48 #, elixir-autogen, elixir-format -msgid "Suspended" +msgid "Contact Data" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:69 +#: lib/mv_web/live/member_live/form.ex:175 +#: lib/mv_web/live/member_live/show.ex:160 #, elixir-autogen, elixir-format -msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." +msgid "Contribution" 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/member_live/form.ex:94 #, elixir-autogen, elixir-format -msgid "This page is not functional and only displays the planned features." +msgid "Nr." msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:136 +#: lib/mv_web/live/member_live/form.ex:186 +#: lib/mv_web/live/member_live/show.ex:161 #, elixir-autogen, elixir-format -msgid "Time Period" +msgid "Payment Cycle" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:66 +#: lib/mv_web/live/member_live/form.ex:166 +#: lib/mv_web/live/member_live/show.ex:153 #, elixir-autogen, elixir-format -msgid "Total Contributions" +msgid "Payment Data" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:250 +#: lib/mv_web/live/member_live/form.ex:68 +#: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format -msgid "Unpaid" +msgid "Payments" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:183 +#: lib/mv_web/live/member_live/show.ex:166 #, elixir-autogen, elixir-format -msgid "View Example Member" +msgid "Pending" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:90 +#: lib/mv_web/live/member_live/form.ex:76 +#: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format -msgid "When active: Members pay from the period of their joining." +msgid "Personal Data" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:93 +#: lib/mv_web/live/member_live/form.ex:111 +#: lib/mv_web/live/member_live/show.ex:87 #, elixir-autogen, elixir-format -msgid "When inactive: Members pay from the next full period after joining." +msgid "Phone" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:98 +#: lib/mv_web/live/member_live/form.ex:49 #, elixir-autogen, elixir-format -msgid "Why are not all contribution types shown?" +msgid "Save" 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/member_live/form.ex:169 +#: lib/mv_web/live/member_live/show.ex:156 #, elixir-autogen, elixir-format -msgid "Yearly" +msgid "This data is for demonstration purposes only (mockup)." msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:128 +#: lib/mv_web/live/member_live/form.ex:190 +#: lib/mv_web/live/member_live/show.ex:161 #, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Excluded" +msgid "monthly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:117 +#: lib/mv_web/live/member_live/form.ex:194 #, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Included" +msgid "yearly" msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index ceee74a..9cb10a3 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -11,14 +11,13 @@ 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:386 #, 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/user_live/index.html.heex:72 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" @@ -29,71 +28,69 @@ msgstr "" msgid "Attempting to reconnect" msgstr "" -#: lib/mv_web/live/member_live/form.ex:53 +#: lib/mv_web/live/member_live/form.ex:100 #: lib/mv_web/live/member_live/index.html.heex:184 -#: lib/mv_web/live/member_live/show.ex:59 #, 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/user_live/index.html.heex:74 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:66 +#: lib/mv_web/live/member_live/form.ex:241 #: 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/user_live/form.ex:265 +#: lib/mv_web/live/user_live/index.html.heex:66 #, elixir-autogen, elixir-format msgid "Edit" msgstr "" -#: lib/mv_web/live/member_live/show.ex:42 -#: lib/mv_web/live/member_live/show.ex:114 +#: lib/mv_web/live/member_live/show.ex:40 +#: lib/mv_web/live/member_live/show.ex:197 #, 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/form.ex:106 #: lib/mv_web/live/member_live/index.html.heex:112 -#: lib/mv_web/live/member_live/show.ex:51 +#: lib/mv_web/live/member_live/show.ex:75 #: 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/user_live/show.ex:50 #, 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:81 +#: lib/mv_web/live/member_live/show.ex:64 #, elixir-autogen, elixir-format msgid "First Name" msgstr "" -#: lib/mv_web/live/member_live/form.ex:50 +#: lib/mv_web/live/member_live/form.ex:117 #: 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/show.ex:93 #, 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:84 +#: lib/mv_web/live/member_live/show.ex:65 #, elixir-autogen, elixir-format msgid "Last Name" msgstr "" +#: lib/mv_web/live/member_live/form.ex:44 #: lib/mv_web/live/member_live/index.html.heex:29 #, 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/user_live/index.html.heex:63 #, elixir-autogen, elixir-format msgid "Show" msgstr "" @@ -113,52 +110,45 @@ msgstr "" 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:120 +#: lib/mv_web/live/member_live/show.ex:98 #, 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 #, elixir-autogen, elixir-format msgid "House Number" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:140 -#: lib/mv_web/live/member_live/form.ex:52 -#: lib/mv_web/live/member_live/show.ex:58 +#: lib/mv_web/live/member_live/form.ex:126 +#: lib/mv_web/live/member_live/show.ex:124 #, 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/form.ex:199 #: lib/mv_web/live/member_live/index.html.heex:229 -#: lib/mv_web/live/member_live/show.ex:52 +#: lib/mv_web/live/member_live/show.ex:162 +#: lib/mv_web/live/member_live/show.ex:164 #, 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 #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" -#: lib/mv_web/live/member_live/form.ex:56 +#: lib/mv_web/live/member_live/form.ex:97 #: lib/mv_web/live/member_live/index.html.heex:166 -#: lib/mv_web/live/member_live/show.ex:62 #, 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:211 #, elixir-autogen, elixir-format, fuzzy msgid "Save Member" msgstr "" @@ -166,58 +156,48 @@ 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/member_live/form.ex:48 +#: lib/mv_web/live/member_live/form.ex:210 +#: lib/mv_web/live/user_live/form.ex:248 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" -#: lib/mv_web/live/member_live/form.ex:54 +#: lib/mv_web/live/member_live/form.ex:91 #: lib/mv_web/live/member_live/index.html.heex:130 -#: lib/mv_web/live/member_live/show.ex:60 #, 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/formatter.ex:61 +#: lib/mv_web/live/member_live/show.ex:303 #, elixir-autogen, elixir-format msgid "No" msgstr "" -#: lib/mv_web/live/member_live/show.ex:113 +#: lib/mv_web/live/member_live/show.ex:196 #, 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/formatter.ex:60 +#: lib/mv_web/live/member_live/show.ex:303 #, 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/member_live/form.ex:269 #, 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/member_live/form.ex:270 #, elixir-autogen, elixir-format msgid "update" msgstr "" @@ -227,7 +207,7 @@ msgstr "" msgid "Incorrect email or password" msgstr "" -#: lib/mv_web/live/member_live/form.ex:144 +#: lib/mv_web/live/member_live/form.ex:276 #, elixir-autogen, elixir-format msgid "Member %{action} successfully" msgstr "" @@ -260,8 +240,8 @@ 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/member_live/form.ex:208 +#: lib/mv_web/live/user_live/form.ex:251 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" @@ -281,17 +261,22 @@ msgstr "" msgid "Edit User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" +#: lib/mv_web/live/user_live/show.ex:49 +#, elixir-autogen, elixir-format +msgid "ID" +msgstr "" + #: lib/mv_web/live/custom_field_live/form.ex:62 #, elixir-autogen, elixir-format msgid "Immutable" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:113 +#: lib/mv_web/components/layouts/navbar.ex:102 #, elixir-autogen, elixir-format msgid "Logout" msgstr "" @@ -303,19 +288,18 @@ msgid "Listing Users" msgstr "" #: lib/mv_web/live/custom_field_value_live/form.ex:60 +#: lib/mv_web/live/member_live/form.ex:242 #, 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.ex:73 #: lib/mv_web/live/member_live/index.html.heex:3 #, 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 #, elixir-autogen, elixir-format msgid "Name" @@ -326,12 +310,16 @@ msgstr "" msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:207 +#: lib/mv_web/live/user_live/show.ex:51 +#, elixir-autogen, elixir-format, fuzzy +msgid "Not set" +msgstr "" + #: 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 @@ -339,12 +327,18 @@ msgstr "" msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/show.ex:50 +#: lib/mv_web/live/user_live/index.html.heex:52 +#: lib/mv_web/live/user_live/show.ex:51 +#, elixir-autogen, elixir-format +msgid "OIDC ID" +msgstr "" + +#: lib/mv_web/live/user_live/show.ex:52 #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:106 +#: lib/mv_web/components/layouts/navbar.ex:95 #, elixir-autogen, elixir-format msgid "Profil" msgstr "" @@ -364,17 +358,17 @@ msgstr "" msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:110 +#: lib/mv_web/components/layouts/navbar.ex:99 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:250 +#: lib/mv_web/live/user_live/form.ex:249 #, 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:79 #, elixir-autogen, elixir-format, fuzzy msgid "Show User" msgstr "" @@ -394,7 +388,7 @@ msgstr "" 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/form.ex:266 #: lib/mv_web/live/user_live/show.ex:34 #, elixir-autogen, elixir-format msgid "User" @@ -422,7 +416,8 @@ msgstr "" msgid "descending" msgstr "" -#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/member_live/form.ex:241 +#: lib/mv_web/live/user_live/form.ex:265 #, elixir-autogen, elixir-format msgid "New" msgstr "" @@ -498,30 +493,29 @@ 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/index.html.heex:53 +#: lib/mv_web/live/user_live/show.ex:55 #, 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:106 #, 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:57 +#: lib/mv_web/live/user_live/show.ex:65 #, 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:116 #, 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:30 #, elixir-autogen, elixir-format msgid "Back to members list" msgstr "" @@ -532,14 +526,14 @@ msgstr "" 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:33 +#: lib/mv_web/components/layouts/navbar.ex:39 #, 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:46 +#: lib/mv_web/components/layouts/navbar.ex:66 #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "" @@ -602,12 +596,6 @@ msgstr "" 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 #, elixir-autogen, elixir-format msgid "Custom field" @@ -644,6 +632,8 @@ msgid "Use this form to manage custom_field records in your database." msgstr "" #: lib/mv_web/components/layouts/navbar.ex:26 +#: lib/mv_web/live/member_live/form.ex:135 +#: lib/mv_web/live/member_live/show.ex:136 #, elixir-autogen, elixir-format, fuzzy msgid "Custom Fields" msgstr "" @@ -711,7 +701,6 @@ msgstr "" 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 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" @@ -732,7 +721,7 @@ msgstr "" msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:359 +#: lib/mv_web/live/user_live/form.ex:357 #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "" @@ -772,7 +761,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:160 +#: lib/mv_web/live/member_live/index.ex:159 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -789,12 +778,12 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:149 +#: lib/mv_web/live/member_live/index.ex:148 #, 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:145 #, elixir-autogen, elixir-format, fuzzy msgid "No members selected" msgstr "" @@ -809,16 +798,11 @@ msgstr "" msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:169 +#: lib/mv_web/live/member_live/index.ex:168 #, 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 @@ -849,456 +833,103 @@ msgstr "" msgid "Payment filter" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:107 +#: lib/mv_web/live/member_live/show.ex:70 #, elixir-autogen, elixir-format -msgid "%{count} period selected" -msgid_plural "%{count} periods selected" -msgstr[0] "" -msgstr[1] "" - -#: lib/mv_web/live/contribution_type_live/index.ex:113 -#, elixir-autogen, elixir-format -msgid "About Contribution Types" +msgid "Address" 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/member_live/form.ex:37 +#: lib/mv_web/live/member_live/show.ex:32 #, elixir-autogen, elixir-format -msgid "Amount" +msgid "Back" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:48 +#: lib/mv_web/live/member_live/form.ex:65 +#: lib/mv_web/live/member_live/show.ex:50 #, elixir-autogen, elixir-format -msgid "Back to Settings" +msgid "Coming soon" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:124 +#: lib/mv_web/live/member_live/form.ex:57 +#: lib/mv_web/live/member_live/show.ex:48 #, elixir-autogen, elixir-format -msgid "Can be changed at any time. Amount changes affect future periods only." +msgid "Contact Data" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:77 +#: lib/mv_web/live/member_live/form.ex:175 +#: lib/mv_web/live/member_live/show.ex:160 #, elixir-autogen, elixir-format -msgid "Cannot delete - members assigned" +msgid "Contribution" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:83 +#: lib/mv_web/live/member_live/form.ex:94 #, elixir-autogen, elixir-format -msgid "Change Contribution Type" +msgid "Nr." msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:42 -#, elixir-autogen, elixir-format -msgid "Configure global settings for membership contributions." -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:34 -#: lib/mv_web/live/contribution_settings_live.ex:27 -#: lib/mv_web/live/contribution_settings_live.ex:40 -#, elixir-autogen, elixir-format -msgid "Contribution Settings" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:62 -#, elixir-autogen, elixir-format -msgid "Contribution Start" -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:32 -#: lib/mv_web/live/contribution_type_live/index.ex:25 -#: lib/mv_web/live/contribution_type_live/index.ex:36 -#, elixir-autogen, elixir-format -msgid "Contribution Types" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:224 -#, elixir-autogen, elixir-format -msgid "Contribution start" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:41 -#, elixir-autogen, elixir-format -msgid "Contribution type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:117 -#, elixir-autogen, elixir-format -msgid "Contribution types define different membership fee structures. Each type has a fixed interval (monthly, quarterly, half-yearly, yearly) that cannot be changed after creation." -msgstr "" - -#: lib/mv_web/components/layouts/navbar.ex:30 -#, elixir-autogen, elixir-format -msgid "Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:39 -#, elixir-autogen, elixir-format -msgid "Contributions for %{name}" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:159 -#, elixir-autogen, elixir-format -msgid "Current" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:60 -#, elixir-autogen, elixir-format -msgid "Default Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:133 +#: lib/mv_web/live/member_live/form.ex:186 +#: lib/mv_web/live/member_live/show.ex:161 #, elixir-autogen, elixir-format, fuzzy -msgid "Deletion" +msgid "Payment Cycle" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:173 +#: lib/mv_web/live/member_live/form.ex:166 +#: lib/mv_web/live/member_live/show.ex:153 #, elixir-autogen, elixir-format -msgid "Example: Member Contribution View" +msgid "Payment Data" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:113 +#: lib/mv_web/live/member_live/form.ex:68 +#: lib/mv_web/live/member_live/show.ex:52 #, elixir-autogen, elixir-format -msgid "Examples" +msgid "Payments" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:262 -#: lib/mv_web/live/contribution_type_live/index.ex:172 -#, elixir-autogen, elixir-format -msgid "Family" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:128 -#, elixir-autogen, elixir-format -msgid "Fixed after creation. Members can only switch between types with the same interval." -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:228 -#, elixir-autogen, elixir-format -msgid "Generated periods" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:52 +#: lib/mv_web/live/member_live/show.ex:166 #, elixir-autogen, elixir-format, fuzzy -msgid "Global Settings" +msgid "Pending" 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/member_live/form.ex:76 +#: lib/mv_web/live/member_live/show.ex:60 #, elixir-autogen, elixir-format -msgid "Half-yearly" +msgid "Personal Data" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:181 -#, elixir-autogen, elixir-format -msgid "Half-yearly contribution for supporting members" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_type_live/index.ex:188 -#, elixir-autogen, elixir-format -msgid "Honorary" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:85 -#, elixir-autogen, elixir-format -msgid "Include joining period" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:137 -#: lib/mv_web/live/contribution_type_live/index.ex:57 -#: lib/mv_web/live/contribution_type_live/index.ex:127 -#, elixir-autogen, elixir-format -msgid "Interval" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:220 +#: lib/mv_web/live/member_live/form.ex:111 +#: lib/mv_web/live/member_live/show.ex:87 #, elixir-autogen, elixir-format, fuzzy -msgid "Joining date" +msgid "Phone" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:331 -#, elixir-autogen, elixir-format -msgid "Joining year - reduced to 0" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:38 -#, elixir-autogen, elixir-format -msgid "Manage contribution types for membership fees." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:116 -#, elixir-autogen, elixir-format -msgid "Mark as Paid" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:120 -#, elixir-autogen, elixir-format -msgid "Mark as Suspended" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:124 -#, elixir-autogen, elixir-format -msgid "Mark as Unpaid" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:26 -#, elixir-autogen, elixir-format -msgid "Member Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:122 -#, elixir-autogen, elixir-format -msgid "Member pays for the year they joined" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:155 -#, elixir-autogen, elixir-format -msgid "Member pays from the joining month" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:144 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full quarter" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:133 -#, elixir-autogen, elixir-format -msgid "Member pays from the next full year" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:43 +#: lib/mv_web/live/member_live/form.ex:49 #, elixir-autogen, elixir-format, fuzzy -msgid "Member since" +msgid "Save" msgstr "" -#: lib/mv_web/live/contribution_period_live/show.ex:92 +#: lib/mv_web/live/member_live/form.ex:169 +#: lib/mv_web/live/member_live/show.ex:156 #, 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." +msgid "This data is for demonstration purposes only (mockup)." 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/member_live/form.ex:190 +#: lib/mv_web/live/member_live/show.ex:161 #, elixir-autogen, elixir-format -msgid "Monthly" +msgid "monthly" msgstr "" -#: lib/mv_web/live/contribution_settings_live.ex:150 +#: lib/mv_web/live/member_live/form.ex:194 #, elixir-autogen, elixir-format -msgid "Monthly Interval - Joining Period Included" +msgid "yearly" msgstr "" -#: lib/mv_web/live/contribution_type_live/index.ex:165 -#, elixir-autogen, elixir-format -msgid "Monthly fee for students and trainees" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:123 -#, elixir-autogen, elixir-format -msgid "Name & Amount" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:42 -#, elixir-autogen, elixir-format -msgid "New Contribution Type" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:189 -#, elixir-autogen, elixir-format -msgid "No fee for honorary members" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:134 -#, elixir-autogen, elixir-format -msgid "Only possible if no members are assigned to this type." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:70 -#, elixir-autogen, elixir-format -msgid "Open Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:301 -#, elixir-autogen, elixir-format -msgid "Paid via bank transfer" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:225 -#: lib/mv_web/live/contribution_settings_live.ex:197 -#: lib/mv_web/live/contribution_type_live/index.ex:97 -#, elixir-autogen, elixir-format -msgid "Preview Mockup" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:342 -#: lib/mv_web/live/contribution_settings_live.ex:274 -#: lib/mv_web/live/contribution_type_live/index.ex:202 -#, elixir-autogen, elixir-format -msgid "Quarterly" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:139 -#, elixir-autogen, elixir-format -msgid "Quarterly Interval - Joining Period Excluded" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:173 -#, elixir-autogen, elixir-format -msgid "Quarterly fee for family memberships" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_settings_live.ex:250 -#: lib/mv_web/live/contribution_type_live/index.ex:156 -#, elixir-autogen, elixir-format -msgid "Reduced" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:157 -#, elixir-autogen, elixir-format -msgid "Reduced fee for unemployed, pensioners, or low income" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:275 -#: lib/mv_web/live/contribution_settings_live.ex:244 -#: lib/mv_web/live/contribution_type_live/index.ex:148 -#, elixir-autogen, elixir-format -msgid "Regular" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:204 -#, elixir-autogen, elixir-format -msgid "Reopen" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:176 -#, elixir-autogen, elixir-format -msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:149 -#, elixir-autogen, elixir-format -msgid "Standard membership fee for regular members" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:139 -#, elixir-autogen, elixir-format -msgid "Status" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:256 -#: lib/mv_web/live/contribution_type_live/index.ex:164 -#, elixir-autogen, elixir-format -msgid "Student" -msgstr "" - -#: lib/mv_web/live/contribution_type_live/index.ex:180 -#, elixir-autogen, elixir-format -msgid "Supporting Member" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:195 -#, elixir-autogen, elixir-format -msgid "Suspend" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:259 -#, elixir-autogen, elixir-format -msgid "Suspended" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:69 -#, elixir-autogen, elixir-format -msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:227 -#: lib/mv_web/live/contribution_settings_live.ex:199 -#: lib/mv_web/live/contribution_type_live/index.ex:99 -#, elixir-autogen, elixir-format -msgid "This page is not functional and only displays the planned features." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:136 -#, elixir-autogen, elixir-format -msgid "Time Period" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:66 -#, elixir-autogen, elixir-format -msgid "Total Contributions" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:250 -#, elixir-autogen, elixir-format -msgid "Unpaid" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:183 -#, elixir-autogen, elixir-format -msgid "View Example Member" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:90 -#, elixir-autogen, elixir-format -msgid "When active: Members pay from the period of their joining." -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:93 -#, elixir-autogen, elixir-format -msgid "When inactive: Members pay from the next full period after joining." -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:98 -#, elixir-autogen, elixir-format -msgid "Why are not all contribution types shown?" -msgstr "" - -#: lib/mv_web/live/contribution_period_live/show.ex:85 -#: lib/mv_web/live/contribution_period_live/show.ex:86 -#: lib/mv_web/live/contribution_period_live/show.ex:87 -#: lib/mv_web/live/contribution_period_live/show.ex:344 -#: lib/mv_web/live/contribution_settings_live.ex:276 -#: lib/mv_web/live/contribution_type_live/index.ex:204 -#, elixir-autogen, elixir-format -msgid "Yearly" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:128 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Excluded" -msgstr "" - -#: lib/mv_web/live/contribution_settings_live.ex:117 -#, elixir-autogen, elixir-format -msgid "Yearly Interval - Joining Period Included" -msgstr "" - -#~ #: lib/mv_web/live/member_live/form.ex:48 -#~ #: lib/mv_web/live/member_live/show.ex:51 +#~ #: lib/mv_web/live/member_live/show.ex:47 #~ #, elixir-autogen, elixir-format -#~ msgid "Birth Date" +#~ msgid "Id" #~ msgstr "" -#~ #: lib/mv_web/live/user_live/show.ex:49 +#~ #: lib/mv_web/live/member_live/show.ex:33 #~ #, elixir-autogen, elixir-format -#~ msgid "ID" -#~ msgstr "" - -#~ #: lib/mv_web/live/user_live/show.ex:51 -#~ #, 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 -#~ #, elixir-autogen, elixir-format -#~ msgid "OIDC ID" -#~ msgstr "" - -#~ #: lib/mv_web/live/contribution_period_live/show.ex:273 -#~ #: lib/mv_web/live/contribution_settings_live.ex:248 -#~ #, elixir-autogen, elixir-format -#~ msgid "Related Pages" +#~ msgid "This is a member record from your database." #~ msgstr "" From 2542bcf9e44649462dfca70033cde8f6ed5611d2 Mon Sep 17 00:00:00 2001 From: Moritz Date: Wed, 3 Dec 2025 15:22:49 +0100 Subject: [PATCH 4/6] fix: improve gettext translations and deduplicate email formatting in member views --- lib/mv_web/live/member_live/form.ex | 4 +- lib/mv_web/live/member_live/show.ex | 19 +- priv/gettext/de/LC_MESSAGES/default.po | 552 ++++++++++++++++++++++--- priv/gettext/default.pot | 536 +++++++++++++++++++++--- priv/gettext/en/LC_MESSAGES/default.po | 552 ++++++++++++++++++++++--- 5 files changed, 1477 insertions(+), 186 deletions(-) diff --git a/lib/mv_web/live/member_live/form.ex b/lib/mv_web/live/member_live/form.ex index 4781cd5..5380d0f 100644 --- a/lib/mv_web/live/member_live/form.ex +++ b/lib/mv_web/live/member_live/form.ex @@ -238,8 +238,8 @@ defmodule MvWeb.MemberLive.Form do id -> Ash.get!(Mv.Membership.Member, id) end - action = if is_nil(member), do: gettext("New"), else: gettext("Edit") - page_title = "#{action} #{gettext("Member")}" + page_title = + if is_nil(member), do: gettext("Create Member"), else: gettext("Edit Member") {:ok, socket diff --git a/lib/mv_web/live/member_live/show.ex b/lib/mv_web/live/member_live/show.ex index 55d8991..d84fca4 100644 --- a/lib/mv_web/live/member_live/show.ex +++ b/lib/mv_web/live/member_live/show.ex @@ -74,7 +74,7 @@ defmodule MvWeb.MemberLive.Show do
<.data_field label={gettext("Email")}> {@member.email} @@ -240,23 +240,10 @@ defmodule MvWeb.MemberLive.Show do # Helper Functions # ----------------------------------------------------------------- - defp display_value(nil), do: "—" - defp display_value(""), do: "—" + defp display_value(nil), do: "" + defp display_value(""), do: "" defp display_value(value), do: value - defp format_email_mailto(first_name, last_name, email) do - name = - [first_name, last_name] - |> Enum.filter(&(&1 && &1 != "")) - |> Enum.join(" ") - - if name != "" do - "#{name} <#{email}>" - else - email - end - end - defp format_address(member) do street_part = [member.street, member.house_number] diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index c6f2028..ac40975 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -10,13 +10,14 @@ msgid "" msgstr "" "Language: en\n" -#: lib/mv_web/components/core_components.ex:386 +#: lib/mv_web/components/core_components.ex:387 +#: lib/mv_web/live/contribution_period_live/show.ex:141 #, 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:72 +#: lib/mv_web/live/user_live/index.html.heex:71 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "Bist du sicher?" @@ -33,32 +34,35 @@ msgstr "Verbindung wird wiederhergestellt" 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:74 +#: lib/mv_web/live/user_live/index.html.heex:73 #, elixir-autogen, elixir-format msgid "Delete" msgstr "Löschen" -#: lib/mv_web/live/member_live/form.ex:241 +#: 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:265 -#: lib/mv_web/live/user_live/index.html.heex:66 +#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/user_live/index.html.heex:65 #, elixir-autogen, elixir-format msgid "Edit" msgstr "Bearbeite" +#: lib/mv_web/live/member_live/form.ex:242 #: lib/mv_web/live/member_live/show.ex:40 #: lib/mv_web/live/member_live/show.ex:197 #, 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:106 #: lib/mv_web/live/member_live/index.html.heex:112 #: lib/mv_web/live/member_live/show.ex:75 #: 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:50 +#: lib/mv_web/live/user_live/show.ex:49 #, elixir-autogen, elixir-format msgid "Email" msgstr "E-Mail" @@ -89,7 +93,7 @@ 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:63 +#: lib/mv_web/live/user_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Show" msgstr "Anzeigen" @@ -120,6 +124,7 @@ msgstr "Austrittsdatum" msgid "House Number" msgstr "Hausnummer" +#: lib/mv_web/live/contribution_period_live/show.ex:140 #: lib/mv_web/live/member_live/form.ex:126 #: lib/mv_web/live/member_live/show.ex:124 #, elixir-autogen, elixir-format @@ -128,6 +133,8 @@ 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:199 #: lib/mv_web/live/member_live/index.html.heex:229 #: lib/mv_web/live/member_live/show.ex:162 @@ -157,7 +164,7 @@ msgstr "Mitglied speichern" #: lib/mv_web/live/global_settings_live.ex:55 #: lib/mv_web/live/member_live/form.ex:48 #: lib/mv_web/live/member_live/form.ex:210 -#: lib/mv_web/live/user_live/form.ex:248 +#: lib/mv_web/live/user_live/form.ex:249 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "Speichern..." @@ -169,8 +176,8 @@ msgid "Street" msgstr "Straße" #: 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:303 +#: lib/mv_web/live/member_live/index/formatter.ex:62 +#: lib/mv_web/live/member_live/show.ex:290 #, elixir-autogen, elixir-format msgid "No" msgstr "Nein" @@ -181,8 +188,8 @@ msgid "Show Member" msgstr "Mitglied anzeigen" #: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:60 -#: lib/mv_web/live/member_live/show.ex:303 +#: lib/mv_web/live/member_live/index/formatter.ex:61 +#: lib/mv_web/live/member_live/show.ex:290 #, elixir-autogen, elixir-format msgid "Yes" msgstr "Ja" @@ -240,7 +247,7 @@ msgstr "Ihr Passwort wurde erfolgreich zurückgesetzt" #: 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:208 -#: lib/mv_web/live/user_live/form.ex:251 +#: lib/mv_web/live/user_live/form.ex:252 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "Abbrechen" @@ -260,22 +267,17 @@ msgstr "Beschreibung" msgid "Edit User" msgstr "Benutzer*in bearbeiten" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Enabled" msgstr "Aktiviert" -#: lib/mv_web/live/user_live/show.ex:49 -#, elixir-autogen, elixir-format -msgid "ID" -msgstr "ID" - #: lib/mv_web/live/custom_field_live/form.ex:62 #, elixir-autogen, elixir-format msgid "Immutable" msgstr "Unveränderlich" -#: lib/mv_web/components/layouts/navbar.ex:102 +#: lib/mv_web/components/layouts/navbar.ex:113 #, elixir-autogen, elixir-format msgid "Logout" msgstr "Abmelden" @@ -287,18 +289,19 @@ msgid "Listing Users" msgstr "Benutzer*innen auflisten" #: lib/mv_web/live/custom_field_value_live/form.ex:60 -#: lib/mv_web/live/member_live/form.ex:242 #, elixir-autogen, elixir-format msgid "Member" msgstr "Mitglied" #: lib/mv_web/components/layouts/navbar.ex:25 -#: lib/mv_web/live/member_live/index.ex:73 +#: 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 #, 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 #, elixir-autogen, elixir-format msgid "Name" @@ -309,16 +312,12 @@ msgstr "Name" msgid "New User" msgstr "Neue*r Benutzer*in" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "Nicht aktiviert" -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "Not set" -msgstr "Nicht gesetzt" - +#: 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 @@ -326,18 +325,12 @@ msgstr "Nicht gesetzt" msgid "Note" msgstr "Hinweis" -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "OIDC ID" -msgstr "OIDC ID" - -#: lib/mv_web/live/user_live/show.ex:52 +#: lib/mv_web/live/user_live/show.ex:50 #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "Passwort-Authentifizierung" -#: lib/mv_web/components/layouts/navbar.ex:95 +#: lib/mv_web/components/layouts/navbar.ex:106 #, elixir-autogen, elixir-format msgid "Profil" msgstr "Profil" @@ -357,17 +350,17 @@ msgstr "Alle Mitglieder auswählen" msgid "Select member" msgstr "Mitglied auswählen" -#: lib/mv_web/components/layouts/navbar.ex:99 +#: lib/mv_web/components/layouts/navbar.ex:110 #, elixir-autogen, elixir-format msgid "Settings" msgstr "Einstellungen" -#: lib/mv_web/live/user_live/form.ex:249 +#: lib/mv_web/live/user_live/form.ex:250 #, elixir-autogen, elixir-format msgid "Save User" msgstr "Benutzer*in speichern" -#: lib/mv_web/live/user_live/show.ex:79 +#: lib/mv_web/live/user_live/show.ex:77 #, elixir-autogen, elixir-format msgid "Show User" msgstr "Benutzer*in anzeigen" @@ -387,7 +380,7 @@ msgstr "Nicht unterstützter Wertetyp: %{type}" 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:266 +#: lib/mv_web/live/user_live/form.ex:268 #: lib/mv_web/live/user_live/show.ex:34 #, elixir-autogen, elixir-format msgid "User" @@ -415,8 +408,7 @@ msgstr "aufsteigend" msgid "descending" msgstr "absteigend" -#: lib/mv_web/live/member_live/form.ex:241 -#: lib/mv_web/live/user_live/form.ex:265 +#: lib/mv_web/live/user_live/form.ex:267 #, elixir-autogen, elixir-format msgid "New" msgstr "Neue*r" @@ -492,8 +484,8 @@ 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:53 -#: lib/mv_web/live/user_live/show.ex:55 +#: lib/mv_web/live/user_live/index.html.heex:52 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format msgid "Linked Member" msgstr "Verknüpftes Mitglied" @@ -503,8 +495,8 @@ msgstr "Verknüpftes Mitglied" msgid "Linked User" msgstr "Verknüpfte*r Benutzer*in" -#: lib/mv_web/live/user_live/index.html.heex:57 -#: lib/mv_web/live/user_live/show.ex:65 +#: lib/mv_web/live/user_live/index.html.heex:56 +#: lib/mv_web/live/user_live/show.ex:63 #, elixir-autogen, elixir-format msgid "No member linked" msgstr "Kein Mitglied verknüpft" @@ -525,14 +517,14 @@ msgstr "Zurück zur Mitgliederliste" msgid "Back to users list" msgstr "Zurück zur Benutzer*innen-Liste" -#: lib/mv_web/components/layouts/navbar.ex:33 -#: lib/mv_web/components/layouts/navbar.ex:39 +#: lib/mv_web/components/layouts/navbar.ex:44 +#: lib/mv_web/components/layouts/navbar.ex:50 #, elixir-autogen, elixir-format msgid "Select language" msgstr "Sprache auswählen" -#: lib/mv_web/components/layouts/navbar.ex:46 -#: lib/mv_web/components/layouts/navbar.ex:66 +#: lib/mv_web/components/layouts/navbar.ex:57 +#: lib/mv_web/components/layouts/navbar.ex:77 #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "Dunklen Modus umschalten" @@ -700,6 +692,7 @@ msgstr "Vereinsdaten" 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 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" @@ -720,7 +713,7 @@ msgstr "Ein Mitglied mit dieser E-Mail-Adresse existiert bereits. Um mit einem a msgid "Available members" msgstr "Verfügbare Mitglieder" -#: lib/mv_web/live/user_live/form.ex:357 +#: lib/mv_web/live/user_live/form.ex:359 #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "Fehler beim Verlinken des Mitglieds: %{error}" @@ -760,7 +753,7 @@ msgstr "Mitglied entverknüpfen" msgid "Unlinking scheduled" msgstr "Entverknüpfung geplant" -#: lib/mv_web/live/member_live/index.ex:159 +#: lib/mv_web/live/member_live/index.ex:160 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -777,12 +770,12 @@ msgstr "E-Mail-Adressen der ausgewählten Mitglieder kopieren" msgid "Copy emails" msgstr "E-Mails kopieren" -#: lib/mv_web/live/member_live/index.ex:148 +#: lib/mv_web/live/member_live/index.ex:149 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "Keine E-Mail-Adressen gefunden" -#: lib/mv_web/live/member_live/index.ex:145 +#: lib/mv_web/live/member_live/index.ex:146 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "Keine Mitglieder ausgewählt" @@ -797,7 +790,7 @@ msgstr "E-Mail-Programm mit BCC-Empfänger*innen öffnen" msgid "Open in email program" msgstr "Im E-Mail-Programm öffnen" -#: lib/mv_web/live/member_live/index.ex:168 +#: lib/mv_web/live/member_live/index.ex:169 #, 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" @@ -923,11 +916,458 @@ msgstr "monatlich" msgid "yearly" msgstr "jährlich" +#: lib/mv_web/live/member_live/form.ex:242 +#, elixir-autogen, elixir-format +msgid "Create Member" +msgstr "Mitglied erstellen" + +#: lib/mv_web/live/contribution_period_live/show.ex:107 +#, elixir-autogen, elixir-format +msgid "%{count} period selected" +msgid_plural "%{count} periods selected" +msgstr[0] "" +msgstr[1] "" + +#: lib/mv_web/live/contribution_type_live/index.ex:113 +#, elixir-autogen, elixir-format +msgid "About Contribution Types" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:138 +#: lib/mv_web/live/contribution_type_live/index.ex:53 +#, elixir-autogen, elixir-format +msgid "Amount" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:48 +#, elixir-autogen, elixir-format +msgid "Back to Settings" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:124 +#, elixir-autogen, elixir-format +msgid "Can be changed at any time. Amount changes affect future periods only." +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:77 +#, elixir-autogen, elixir-format +msgid "Cannot delete - members assigned" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:83 +#, elixir-autogen, elixir-format +msgid "Change Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:42 +#, elixir-autogen, elixir-format +msgid "Configure global settings for membership contributions." +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:34 +#: lib/mv_web/live/contribution_settings_live.ex:27 +#: lib/mv_web/live/contribution_settings_live.ex:40 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution Settings" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex:62 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution Start" +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, fuzzy +msgid "Contribution Types" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_settings_live.ex:224 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution start" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex:41 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution type" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_type_live/index.ex:117 +#, elixir-autogen, elixir-format +msgid "Contribution types define different membership fee structures. Each type has a fixed interval (monthly, quarterly, half-yearly, yearly) that cannot be changed after creation." +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:30 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contributions" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex:39 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contributions for %{name}" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex:159 +#, elixir-autogen, elixir-format +msgid "Current" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:60 +#, elixir-autogen, elixir-format +msgid "Default Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:133 +#, elixir-autogen, elixir-format, fuzzy +msgid "Deletion" +msgstr "Löschen" + +#: lib/mv_web/live/contribution_settings_live.ex:173 +#, elixir-autogen, elixir-format +msgid "Example: Member Contribution View" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:113 +#, elixir-autogen, elixir-format +msgid "Examples" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:262 +#: lib/mv_web/live/contribution_type_live/index.ex:172 +#, elixir-autogen, elixir-format +msgid "Family" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:128 +#, elixir-autogen, elixir-format +msgid "Fixed after creation. Members can only switch between types with the same interval." +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:228 +#, elixir-autogen, elixir-format +msgid "Generated periods" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:52 +#, elixir-autogen, elixir-format, fuzzy +msgid "Global Settings" +msgstr "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 +#, elixir-autogen, elixir-format +msgid "Half-yearly" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:181 +#, elixir-autogen, elixir-format +msgid "Half-yearly contribution for supporting members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:87 +#: lib/mv_web/live/contribution_type_live/index.ex:188 +#, elixir-autogen, elixir-format +msgid "Honorary" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:85 +#, elixir-autogen, elixir-format +msgid "Include joining period" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:137 +#: lib/mv_web/live/contribution_type_live/index.ex:57 +#: lib/mv_web/live/contribution_type_live/index.ex:127 +#, elixir-autogen, elixir-format +msgid "Interval" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:220 +#, elixir-autogen, elixir-format, fuzzy +msgid "Joining date" +msgstr "Beitrittsdatum" + +#: lib/mv_web/live/contribution_period_live/show.ex:331 +#, elixir-autogen, elixir-format +msgid "Joining year - reduced to 0" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:38 +#, elixir-autogen, elixir-format +msgid "Manage contribution types for membership fees." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:116 +#, elixir-autogen, elixir-format +msgid "Mark as Paid" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:120 +#, elixir-autogen, elixir-format +msgid "Mark as Suspended" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:124 +#, elixir-autogen, elixir-format +msgid "Mark as Unpaid" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:26 +#, elixir-autogen, elixir-format +msgid "Member Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:122 +#, elixir-autogen, elixir-format +msgid "Member pays for the year they joined" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:155 +#, elixir-autogen, elixir-format +msgid "Member pays from the joining month" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:144 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full quarter" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:133 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full year" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:43 +#, elixir-autogen, elixir-format, fuzzy +msgid "Member since" +msgstr "Mitglieder" + +#: lib/mv_web/live/contribution_period_live/show.ex:92 +#, elixir-autogen, elixir-format +msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:341 +#: lib/mv_web/live/contribution_settings_live.ex:273 +#: lib/mv_web/live/contribution_type_live/index.ex:201 +#, elixir-autogen, elixir-format, fuzzy +msgid "Monthly" +msgstr "monatlich" + +#: lib/mv_web/live/contribution_settings_live.ex:150 +#, elixir-autogen, elixir-format +msgid "Monthly Interval - Joining Period Included" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:165 +#, elixir-autogen, elixir-format +msgid "Monthly fee for students and trainees" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:123 +#, elixir-autogen, elixir-format +msgid "Name & Amount" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:42 +#, elixir-autogen, elixir-format, fuzzy +msgid "New Contribution Type" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_type_live/index.ex:189 +#, elixir-autogen, elixir-format +msgid "No fee for honorary members" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:134 +#, elixir-autogen, elixir-format +msgid "Only possible if no members are assigned to this type." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:70 +#, elixir-autogen, elixir-format +msgid "Open Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:301 +#, elixir-autogen, elixir-format +msgid "Paid via bank transfer" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:225 +#: lib/mv_web/live/contribution_settings_live.ex:197 +#: lib/mv_web/live/contribution_type_live/index.ex:97 +#, elixir-autogen, elixir-format +msgid "Preview Mockup" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:342 +#: lib/mv_web/live/contribution_settings_live.ex:274 +#: lib/mv_web/live/contribution_type_live/index.ex:202 +#, elixir-autogen, elixir-format +msgid "Quarterly" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:139 +#, elixir-autogen, elixir-format +msgid "Quarterly Interval - Joining Period Excluded" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:173 +#, elixir-autogen, elixir-format +msgid "Quarterly fee for family memberships" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:86 +#: lib/mv_web/live/contribution_settings_live.ex:250 +#: lib/mv_web/live/contribution_type_live/index.ex:156 +#, elixir-autogen, elixir-format +msgid "Reduced" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:157 +#, elixir-autogen, elixir-format +msgid "Reduced fee for unemployed, pensioners, or low income" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:275 +#: lib/mv_web/live/contribution_settings_live.ex:244 +#: lib/mv_web/live/contribution_type_live/index.ex:148 +#, elixir-autogen, elixir-format +msgid "Regular" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:204 +#, elixir-autogen, elixir-format +msgid "Reopen" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:176 +#, elixir-autogen, elixir-format +msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:149 +#, elixir-autogen, elixir-format +msgid "Standard membership fee for regular members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:139 +#, elixir-autogen, elixir-format +msgid "Status" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:256 +#: lib/mv_web/live/contribution_type_live/index.ex:164 +#, elixir-autogen, elixir-format +msgid "Student" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:180 +#, elixir-autogen, elixir-format +msgid "Supporting Member" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:195 +#, elixir-autogen, elixir-format +msgid "Suspend" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:259 +#, elixir-autogen, elixir-format +msgid "Suspended" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:69 +#, elixir-autogen, elixir-format +msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:227 +#: lib/mv_web/live/contribution_settings_live.ex:199 +#: lib/mv_web/live/contribution_type_live/index.ex:99 +#, elixir-autogen, elixir-format +msgid "This page is not functional and only displays the planned features." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:136 +#, elixir-autogen, elixir-format +msgid "Time Period" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:66 +#, elixir-autogen, elixir-format +msgid "Total Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:250 +#, elixir-autogen, elixir-format +msgid "Unpaid" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:183 +#, elixir-autogen, elixir-format +msgid "View Example Member" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:90 +#, elixir-autogen, elixir-format +msgid "When active: Members pay from the period of their joining." +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:93 +#, elixir-autogen, elixir-format +msgid "When inactive: Members pay from the next full period after joining." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:98 +#, elixir-autogen, elixir-format +msgid "Why are not all contribution types shown?" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:85 +#: lib/mv_web/live/contribution_period_live/show.ex:86 +#: lib/mv_web/live/contribution_period_live/show.ex:87 +#: lib/mv_web/live/contribution_period_live/show.ex:344 +#: lib/mv_web/live/contribution_settings_live.ex:276 +#: lib/mv_web/live/contribution_type_live/index.ex:204 +#, elixir-autogen, elixir-format, fuzzy +msgid "Yearly" +msgstr "jährlich" + +#: lib/mv_web/live/contribution_settings_live.ex:128 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Excluded" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:117 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Included" +msgstr "" + +#~ #: lib/mv_web/live/user_live/show.ex:49 +#~ #, elixir-autogen, elixir-format +#~ msgid "ID" +#~ msgstr "ID" + #~ #: lib/mv_web/live/member_live/show.ex:47 #~ #, elixir-autogen, elixir-format #~ msgid "Id" #~ msgstr "ID" +#~ #: lib/mv_web/live/user_live/show.ex:51 +#~ #, 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 +#~ #, elixir-autogen, elixir-format +#~ msgid "OIDC ID" +#~ msgstr "OIDC ID" + #~ #: lib/mv_web/live/member_live/show.ex:33 #~ #, elixir-autogen, elixir-format #~ msgid "This is a member record from your database." diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot index 9f0d0aa..731f1be 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -11,13 +11,14 @@ msgid "" msgstr "" -#: lib/mv_web/components/core_components.ex:386 +#: lib/mv_web/components/core_components.ex:387 +#: lib/mv_web/live/contribution_period_live/show.ex:141 #, 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:72 +#: lib/mv_web/live/user_live/index.html.heex:71 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" @@ -34,32 +35,35 @@ msgstr "" 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:74 +#: lib/mv_web/live/user_live/index.html.heex:73 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/mv_web/live/member_live/form.ex:241 +#: 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:265 -#: lib/mv_web/live/user_live/index.html.heex:66 +#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/user_live/index.html.heex:65 #, elixir-autogen, elixir-format msgid "Edit" msgstr "" +#: lib/mv_web/live/member_live/form.ex:242 #: lib/mv_web/live/member_live/show.ex:40 #: lib/mv_web/live/member_live/show.ex:197 #, 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:106 #: lib/mv_web/live/member_live/index.html.heex:112 #: lib/mv_web/live/member_live/show.ex:75 #: 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:50 +#: lib/mv_web/live/user_live/show.ex:49 #, elixir-autogen, elixir-format msgid "Email" msgstr "" @@ -90,7 +94,7 @@ msgid "New Member" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:63 +#: lib/mv_web/live/user_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Show" msgstr "" @@ -121,6 +125,7 @@ msgstr "" msgid "House Number" msgstr "" +#: lib/mv_web/live/contribution_period_live/show.ex:140 #: lib/mv_web/live/member_live/form.ex:126 #: lib/mv_web/live/member_live/show.ex:124 #, elixir-autogen, elixir-format @@ -129,6 +134,8 @@ 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:199 #: lib/mv_web/live/member_live/index.html.heex:229 #: lib/mv_web/live/member_live/show.ex:162 @@ -158,7 +165,7 @@ msgstr "" #: lib/mv_web/live/global_settings_live.ex:55 #: lib/mv_web/live/member_live/form.ex:48 #: lib/mv_web/live/member_live/form.ex:210 -#: lib/mv_web/live/user_live/form.ex:248 +#: lib/mv_web/live/user_live/form.ex:249 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -170,8 +177,8 @@ msgid "Street" 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:303 +#: lib/mv_web/live/member_live/index/formatter.ex:62 +#: lib/mv_web/live/member_live/show.ex:290 #, elixir-autogen, elixir-format msgid "No" msgstr "" @@ -182,8 +189,8 @@ msgid "Show Member" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:60 -#: lib/mv_web/live/member_live/show.ex:303 +#: lib/mv_web/live/member_live/index/formatter.ex:61 +#: lib/mv_web/live/member_live/show.ex:290 #, elixir-autogen, elixir-format msgid "Yes" msgstr "" @@ -241,7 +248,7 @@ msgstr "" #: 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:208 -#: lib/mv_web/live/user_live/form.ex:251 +#: lib/mv_web/live/user_live/form.ex:252 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" @@ -261,22 +268,17 @@ msgstr "" msgid "Edit User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:49 -#, elixir-autogen, elixir-format -msgid "ID" -msgstr "" - #: lib/mv_web/live/custom_field_live/form.ex:62 #, elixir-autogen, elixir-format msgid "Immutable" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:102 +#: lib/mv_web/components/layouts/navbar.ex:113 #, elixir-autogen, elixir-format msgid "Logout" msgstr "" @@ -288,18 +290,19 @@ msgid "Listing Users" msgstr "" #: lib/mv_web/live/custom_field_value_live/form.ex:60 -#: lib/mv_web/live/member_live/form.ex:242 #, elixir-autogen, elixir-format msgid "Member" msgstr "" #: lib/mv_web/components/layouts/navbar.ex:25 -#: lib/mv_web/live/member_live/index.ex:73 +#: 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 #, 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 #, elixir-autogen, elixir-format msgid "Name" @@ -310,16 +313,12 @@ msgstr "" msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "Not set" -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 @@ -327,18 +326,12 @@ msgstr "" msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "OIDC ID" -msgstr "" - -#: lib/mv_web/live/user_live/show.ex:52 +#: lib/mv_web/live/user_live/show.ex:50 #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:95 +#: lib/mv_web/components/layouts/navbar.ex:106 #, elixir-autogen, elixir-format msgid "Profil" msgstr "" @@ -358,17 +351,17 @@ msgstr "" msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:99 +#: lib/mv_web/components/layouts/navbar.ex:110 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:249 +#: lib/mv_web/live/user_live/form.ex:250 #, elixir-autogen, elixir-format msgid "Save User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:79 +#: lib/mv_web/live/user_live/show.ex:77 #, elixir-autogen, elixir-format msgid "Show User" msgstr "" @@ -388,7 +381,7 @@ msgstr "" msgid "Use this form to manage user records in your database." msgstr "" -#: lib/mv_web/live/user_live/form.ex:266 +#: lib/mv_web/live/user_live/form.ex:268 #: lib/mv_web/live/user_live/show.ex:34 #, elixir-autogen, elixir-format msgid "User" @@ -416,8 +409,7 @@ msgstr "" msgid "descending" msgstr "" -#: lib/mv_web/live/member_live/form.ex:241 -#: lib/mv_web/live/user_live/form.ex:265 +#: lib/mv_web/live/user_live/form.ex:267 #, elixir-autogen, elixir-format msgid "New" msgstr "" @@ -493,8 +485,8 @@ 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:53 -#: lib/mv_web/live/user_live/show.ex:55 +#: lib/mv_web/live/user_live/index.html.heex:52 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format msgid "Linked Member" msgstr "" @@ -504,8 +496,8 @@ msgstr "" msgid "Linked User" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:57 -#: lib/mv_web/live/user_live/show.ex:65 +#: lib/mv_web/live/user_live/index.html.heex:56 +#: lib/mv_web/live/user_live/show.ex:63 #, elixir-autogen, elixir-format msgid "No member linked" msgstr "" @@ -526,14 +518,14 @@ msgstr "" msgid "Back to users list" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:33 -#: lib/mv_web/components/layouts/navbar.ex:39 +#: lib/mv_web/components/layouts/navbar.ex:44 +#: lib/mv_web/components/layouts/navbar.ex:50 #, elixir-autogen, elixir-format msgid "Select language" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:46 -#: lib/mv_web/components/layouts/navbar.ex:66 +#: lib/mv_web/components/layouts/navbar.ex:57 +#: lib/mv_web/components/layouts/navbar.ex:77 #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "" @@ -701,6 +693,7 @@ msgstr "" 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 #, elixir-autogen, elixir-format msgid "Save Settings" @@ -721,7 +714,7 @@ msgstr "" msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:357 +#: lib/mv_web/live/user_live/form.ex:359 #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "" @@ -761,7 +754,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:159 +#: lib/mv_web/live/member_live/index.ex:160 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -778,12 +771,12 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:148 +#: lib/mv_web/live/member_live/index.ex:149 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:145 +#: lib/mv_web/live/member_live/index.ex:146 #, elixir-autogen, elixir-format msgid "No members selected" msgstr "" @@ -798,7 +791,7 @@ msgstr "" msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:168 +#: lib/mv_web/live/member_live/index.ex:169 #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" @@ -923,3 +916,434 @@ msgstr "" #, elixir-autogen, elixir-format msgid "yearly" msgstr "" + +#: lib/mv_web/live/member_live/form.ex:242 +#, elixir-autogen, elixir-format +msgid "Create Member" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:107 +#, elixir-autogen, elixir-format +msgid "%{count} period selected" +msgid_plural "%{count} periods selected" +msgstr[0] "" +msgstr[1] "" + +#: lib/mv_web/live/contribution_type_live/index.ex:113 +#, elixir-autogen, elixir-format +msgid "About Contribution Types" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:138 +#: lib/mv_web/live/contribution_type_live/index.ex:53 +#, elixir-autogen, elixir-format +msgid "Amount" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:48 +#, elixir-autogen, elixir-format +msgid "Back to Settings" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:124 +#, elixir-autogen, elixir-format +msgid "Can be changed at any time. Amount changes affect future periods only." +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:77 +#, elixir-autogen, elixir-format +msgid "Cannot delete - members assigned" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:83 +#, elixir-autogen, elixir-format +msgid "Change Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:42 +#, elixir-autogen, elixir-format +msgid "Configure global settings for membership contributions." +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:34 +#: lib/mv_web/live/contribution_settings_live.ex:27 +#: lib/mv_web/live/contribution_settings_live.ex:40 +#, elixir-autogen, elixir-format +msgid "Contribution Settings" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:62 +#, elixir-autogen, elixir-format +msgid "Contribution Start" +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:32 +#: lib/mv_web/live/contribution_type_live/index.ex:25 +#: lib/mv_web/live/contribution_type_live/index.ex:36 +#, elixir-autogen, elixir-format +msgid "Contribution Types" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:224 +#, elixir-autogen, elixir-format +msgid "Contribution start" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:41 +#, elixir-autogen, elixir-format +msgid "Contribution type" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:117 +#, elixir-autogen, elixir-format +msgid "Contribution types define different membership fee structures. Each type has a fixed interval (monthly, quarterly, half-yearly, yearly) that cannot be changed after creation." +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:30 +#, elixir-autogen, elixir-format +msgid "Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:39 +#, elixir-autogen, elixir-format +msgid "Contributions for %{name}" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:159 +#, elixir-autogen, elixir-format +msgid "Current" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:60 +#, elixir-autogen, elixir-format +msgid "Default Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:133 +#, elixir-autogen, elixir-format +msgid "Deletion" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:173 +#, elixir-autogen, elixir-format +msgid "Example: Member Contribution View" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:113 +#, elixir-autogen, elixir-format +msgid "Examples" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:262 +#: lib/mv_web/live/contribution_type_live/index.ex:172 +#, elixir-autogen, elixir-format +msgid "Family" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:128 +#, elixir-autogen, elixir-format +msgid "Fixed after creation. Members can only switch between types with the same interval." +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:228 +#, elixir-autogen, elixir-format +msgid "Generated periods" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:52 +#, elixir-autogen, elixir-format +msgid "Global Settings" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:343 +#: lib/mv_web/live/contribution_settings_live.ex:275 +#: lib/mv_web/live/contribution_type_live/index.ex:203 +#, elixir-autogen, elixir-format +msgid "Half-yearly" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:181 +#, elixir-autogen, elixir-format +msgid "Half-yearly contribution for supporting members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:87 +#: lib/mv_web/live/contribution_type_live/index.ex:188 +#, elixir-autogen, elixir-format +msgid "Honorary" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:85 +#, elixir-autogen, elixir-format +msgid "Include joining period" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:137 +#: lib/mv_web/live/contribution_type_live/index.ex:57 +#: lib/mv_web/live/contribution_type_live/index.ex:127 +#, elixir-autogen, elixir-format +msgid "Interval" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:220 +#, elixir-autogen, elixir-format +msgid "Joining date" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:331 +#, elixir-autogen, elixir-format +msgid "Joining year - reduced to 0" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:38 +#, elixir-autogen, elixir-format +msgid "Manage contribution types for membership fees." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:116 +#, elixir-autogen, elixir-format +msgid "Mark as Paid" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:120 +#, elixir-autogen, elixir-format +msgid "Mark as Suspended" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:124 +#, elixir-autogen, elixir-format +msgid "Mark as Unpaid" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:26 +#, elixir-autogen, elixir-format +msgid "Member Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:122 +#, elixir-autogen, elixir-format +msgid "Member pays for the year they joined" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:155 +#, elixir-autogen, elixir-format +msgid "Member pays from the joining month" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:144 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full quarter" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:133 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full year" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:43 +#, elixir-autogen, elixir-format +msgid "Member since" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:92 +#, elixir-autogen, elixir-format +msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:341 +#: lib/mv_web/live/contribution_settings_live.ex:273 +#: lib/mv_web/live/contribution_type_live/index.ex:201 +#, elixir-autogen, elixir-format +msgid "Monthly" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:150 +#, elixir-autogen, elixir-format +msgid "Monthly Interval - Joining Period Included" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:165 +#, elixir-autogen, elixir-format +msgid "Monthly fee for students and trainees" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:123 +#, elixir-autogen, elixir-format +msgid "Name & Amount" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:42 +#, elixir-autogen, elixir-format +msgid "New Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:189 +#, elixir-autogen, elixir-format +msgid "No fee for honorary members" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:134 +#, elixir-autogen, elixir-format +msgid "Only possible if no members are assigned to this type." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:70 +#, elixir-autogen, elixir-format +msgid "Open Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:301 +#, elixir-autogen, elixir-format +msgid "Paid via bank transfer" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:225 +#: lib/mv_web/live/contribution_settings_live.ex:197 +#: lib/mv_web/live/contribution_type_live/index.ex:97 +#, elixir-autogen, elixir-format +msgid "Preview Mockup" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:342 +#: lib/mv_web/live/contribution_settings_live.ex:274 +#: lib/mv_web/live/contribution_type_live/index.ex:202 +#, elixir-autogen, elixir-format +msgid "Quarterly" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:139 +#, elixir-autogen, elixir-format +msgid "Quarterly Interval - Joining Period Excluded" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:173 +#, elixir-autogen, elixir-format +msgid "Quarterly fee for family memberships" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:86 +#: lib/mv_web/live/contribution_settings_live.ex:250 +#: lib/mv_web/live/contribution_type_live/index.ex:156 +#, elixir-autogen, elixir-format +msgid "Reduced" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:157 +#, elixir-autogen, elixir-format +msgid "Reduced fee for unemployed, pensioners, or low income" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:275 +#: lib/mv_web/live/contribution_settings_live.ex:244 +#: lib/mv_web/live/contribution_type_live/index.ex:148 +#, elixir-autogen, elixir-format +msgid "Regular" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:204 +#, elixir-autogen, elixir-format +msgid "Reopen" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:176 +#, elixir-autogen, elixir-format +msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:149 +#, elixir-autogen, elixir-format +msgid "Standard membership fee for regular members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:139 +#, elixir-autogen, elixir-format +msgid "Status" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:256 +#: lib/mv_web/live/contribution_type_live/index.ex:164 +#, elixir-autogen, elixir-format +msgid "Student" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:180 +#, elixir-autogen, elixir-format +msgid "Supporting Member" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:195 +#, elixir-autogen, elixir-format +msgid "Suspend" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:259 +#, elixir-autogen, elixir-format +msgid "Suspended" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:69 +#, elixir-autogen, elixir-format +msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:227 +#: lib/mv_web/live/contribution_settings_live.ex:199 +#: lib/mv_web/live/contribution_type_live/index.ex:99 +#, elixir-autogen, elixir-format +msgid "This page is not functional and only displays the planned features." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:136 +#, elixir-autogen, elixir-format +msgid "Time Period" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:66 +#, elixir-autogen, elixir-format +msgid "Total Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:250 +#, elixir-autogen, elixir-format +msgid "Unpaid" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:183 +#, elixir-autogen, elixir-format +msgid "View Example Member" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:90 +#, elixir-autogen, elixir-format +msgid "When active: Members pay from the period of their joining." +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:93 +#, elixir-autogen, elixir-format +msgid "When inactive: Members pay from the next full period after joining." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:98 +#, elixir-autogen, elixir-format +msgid "Why are not all contribution types shown?" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:85 +#: lib/mv_web/live/contribution_period_live/show.ex:86 +#: lib/mv_web/live/contribution_period_live/show.ex:87 +#: lib/mv_web/live/contribution_period_live/show.ex:344 +#: lib/mv_web/live/contribution_settings_live.ex:276 +#: lib/mv_web/live/contribution_type_live/index.ex:204 +#, elixir-autogen, elixir-format +msgid "Yearly" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:128 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Excluded" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:117 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Included" +msgstr "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 9cb10a3..3c9be04 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -11,13 +11,14 @@ msgstr "" "Language: en\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: lib/mv_web/components/core_components.ex:386 +#: lib/mv_web/components/core_components.ex:387 +#: lib/mv_web/live/contribution_period_live/show.ex:141 #, 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:72 +#: lib/mv_web/live/user_live/index.html.heex:71 #, elixir-autogen, elixir-format msgid "Are you sure?" msgstr "" @@ -34,32 +35,35 @@ msgstr "" 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:74 +#: lib/mv_web/live/user_live/index.html.heex:73 #, elixir-autogen, elixir-format msgid "Delete" msgstr "" -#: lib/mv_web/live/member_live/form.ex:241 +#: 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:265 -#: lib/mv_web/live/user_live/index.html.heex:66 +#: lib/mv_web/live/user_live/form.ex:267 +#: lib/mv_web/live/user_live/index.html.heex:65 #, elixir-autogen, elixir-format msgid "Edit" msgstr "" +#: lib/mv_web/live/member_live/form.ex:242 #: lib/mv_web/live/member_live/show.ex:40 #: lib/mv_web/live/member_live/show.ex:197 #, 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:106 #: lib/mv_web/live/member_live/index.html.heex:112 #: lib/mv_web/live/member_live/show.ex:75 #: 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:50 +#: lib/mv_web/live/user_live/show.ex:49 #, elixir-autogen, elixir-format msgid "Email" msgstr "" @@ -90,7 +94,7 @@ msgid "New Member" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:239 -#: lib/mv_web/live/user_live/index.html.heex:63 +#: lib/mv_web/live/user_live/index.html.heex:62 #, elixir-autogen, elixir-format msgid "Show" msgstr "" @@ -121,6 +125,7 @@ msgstr "" msgid "House Number" msgstr "" +#: lib/mv_web/live/contribution_period_live/show.ex:140 #: lib/mv_web/live/member_live/form.ex:126 #: lib/mv_web/live/member_live/show.ex:124 #, elixir-autogen, elixir-format @@ -129,6 +134,8 @@ 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:199 #: lib/mv_web/live/member_live/index.html.heex:229 #: lib/mv_web/live/member_live/show.ex:162 @@ -158,7 +165,7 @@ msgstr "" #: lib/mv_web/live/global_settings_live.ex:55 #: lib/mv_web/live/member_live/form.ex:48 #: lib/mv_web/live/member_live/form.ex:210 -#: lib/mv_web/live/user_live/form.ex:248 +#: lib/mv_web/live/user_live/form.ex:249 #, elixir-autogen, elixir-format msgid "Saving..." msgstr "" @@ -170,8 +177,8 @@ msgid "Street" 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:303 +#: lib/mv_web/live/member_live/index/formatter.ex:62 +#: lib/mv_web/live/member_live/show.ex:290 #, elixir-autogen, elixir-format msgid "No" msgstr "" @@ -182,8 +189,8 @@ msgid "Show Member" msgstr "" #: lib/mv_web/live/member_live/index.html.heex:234 -#: lib/mv_web/live/member_live/index/formatter.ex:60 -#: lib/mv_web/live/member_live/show.ex:303 +#: lib/mv_web/live/member_live/index/formatter.ex:61 +#: lib/mv_web/live/member_live/show.ex:290 #, elixir-autogen, elixir-format msgid "Yes" msgstr "" @@ -241,7 +248,7 @@ msgstr "" #: 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:208 -#: lib/mv_web/live/user_live/form.ex:251 +#: lib/mv_web/live/user_live/form.ex:252 #, elixir-autogen, elixir-format msgid "Cancel" msgstr "" @@ -261,22 +268,17 @@ msgstr "" msgid "Edit User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:49 -#, elixir-autogen, elixir-format -msgid "ID" -msgstr "" - #: lib/mv_web/live/custom_field_live/form.ex:62 #, elixir-autogen, elixir-format msgid "Immutable" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:102 +#: lib/mv_web/components/layouts/navbar.ex:113 #, elixir-autogen, elixir-format msgid "Logout" msgstr "" @@ -288,18 +290,19 @@ msgid "Listing Users" msgstr "" #: lib/mv_web/live/custom_field_value_live/form.ex:60 -#: lib/mv_web/live/member_live/form.ex:242 #, elixir-autogen, elixir-format msgid "Member" msgstr "" #: lib/mv_web/components/layouts/navbar.ex:25 -#: lib/mv_web/live/member_live/index.ex:73 +#: 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 #, 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 #, elixir-autogen, elixir-format msgid "Name" @@ -310,16 +313,12 @@ msgstr "" msgid "New User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:53 +#: lib/mv_web/live/user_live/show.ex:51 #, elixir-autogen, elixir-format msgid "Not enabled" msgstr "" -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format, fuzzy -msgid "Not set" -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 @@ -327,18 +326,12 @@ msgstr "" msgid "Note" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:52 -#: lib/mv_web/live/user_live/show.ex:51 -#, elixir-autogen, elixir-format -msgid "OIDC ID" -msgstr "" - -#: lib/mv_web/live/user_live/show.ex:52 +#: lib/mv_web/live/user_live/show.ex:50 #, elixir-autogen, elixir-format msgid "Password Authentication" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:95 +#: lib/mv_web/components/layouts/navbar.ex:106 #, elixir-autogen, elixir-format msgid "Profil" msgstr "" @@ -358,17 +351,17 @@ msgstr "" msgid "Select member" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:99 +#: lib/mv_web/components/layouts/navbar.ex:110 #, elixir-autogen, elixir-format msgid "Settings" msgstr "" -#: lib/mv_web/live/user_live/form.ex:249 +#: lib/mv_web/live/user_live/form.ex:250 #, elixir-autogen, elixir-format, fuzzy msgid "Save User" msgstr "" -#: lib/mv_web/live/user_live/show.ex:79 +#: lib/mv_web/live/user_live/show.ex:77 #, elixir-autogen, elixir-format, fuzzy msgid "Show User" msgstr "" @@ -388,7 +381,7 @@ msgstr "" msgid "Use this form to manage user records in your database." msgstr "" -#: lib/mv_web/live/user_live/form.ex:266 +#: lib/mv_web/live/user_live/form.ex:268 #: lib/mv_web/live/user_live/show.ex:34 #, elixir-autogen, elixir-format msgid "User" @@ -416,8 +409,7 @@ msgstr "" msgid "descending" msgstr "" -#: lib/mv_web/live/member_live/form.ex:241 -#: lib/mv_web/live/user_live/form.ex:265 +#: lib/mv_web/live/user_live/form.ex:267 #, elixir-autogen, elixir-format msgid "New" msgstr "" @@ -493,8 +485,8 @@ 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:53 -#: lib/mv_web/live/user_live/show.ex:55 +#: lib/mv_web/live/user_live/index.html.heex:52 +#: lib/mv_web/live/user_live/show.ex:53 #, elixir-autogen, elixir-format, fuzzy msgid "Linked Member" msgstr "" @@ -504,8 +496,8 @@ msgstr "" msgid "Linked User" msgstr "" -#: lib/mv_web/live/user_live/index.html.heex:57 -#: lib/mv_web/live/user_live/show.ex:65 +#: lib/mv_web/live/user_live/index.html.heex:56 +#: lib/mv_web/live/user_live/show.ex:63 #, elixir-autogen, elixir-format msgid "No member linked" msgstr "" @@ -526,14 +518,14 @@ msgstr "" msgid "Back to users list" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:33 -#: lib/mv_web/components/layouts/navbar.ex:39 +#: lib/mv_web/components/layouts/navbar.ex:44 +#: lib/mv_web/components/layouts/navbar.ex:50 #, elixir-autogen, elixir-format, fuzzy msgid "Select language" msgstr "" -#: lib/mv_web/components/layouts/navbar.ex:46 -#: lib/mv_web/components/layouts/navbar.ex:66 +#: lib/mv_web/components/layouts/navbar.ex:57 +#: lib/mv_web/components/layouts/navbar.ex:77 #, elixir-autogen, elixir-format msgid "Toggle dark mode" msgstr "" @@ -701,6 +693,7 @@ msgstr "" 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 #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" @@ -721,7 +714,7 @@ msgstr "" msgid "Available members" msgstr "" -#: lib/mv_web/live/user_live/form.ex:357 +#: lib/mv_web/live/user_live/form.ex:359 #, elixir-autogen, elixir-format msgid "Failed to link member: %{error}" msgstr "" @@ -761,7 +754,7 @@ msgstr "" msgid "Unlinking scheduled" msgstr "" -#: lib/mv_web/live/member_live/index.ex:159 +#: lib/mv_web/live/member_live/index.ex:160 #, elixir-autogen, elixir-format msgid "Copied %{count} email address to clipboard" msgid_plural "Copied %{count} email addresses to clipboard" @@ -778,12 +771,12 @@ msgstr "" msgid "Copy emails" msgstr "" -#: lib/mv_web/live/member_live/index.ex:148 +#: lib/mv_web/live/member_live/index.ex:149 #, elixir-autogen, elixir-format msgid "No email addresses found" msgstr "" -#: lib/mv_web/live/member_live/index.ex:145 +#: lib/mv_web/live/member_live/index.ex:146 #, elixir-autogen, elixir-format, fuzzy msgid "No members selected" msgstr "" @@ -798,7 +791,7 @@ msgstr "" msgid "Open in email program" msgstr "" -#: lib/mv_web/live/member_live/index.ex:168 +#: lib/mv_web/live/member_live/index.ex:169 #, elixir-autogen, elixir-format msgid "Tip: Paste email addresses into the BCC field for privacy compliance" msgstr "" @@ -924,11 +917,458 @@ msgstr "" msgid "yearly" msgstr "" +#: lib/mv_web/live/member_live/form.ex:242 +#, elixir-autogen, elixir-format +msgid "Create Member" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:107 +#, elixir-autogen, elixir-format +msgid "%{count} period selected" +msgid_plural "%{count} periods selected" +msgstr[0] "" +msgstr[1] "" + +#: lib/mv_web/live/contribution_type_live/index.ex:113 +#, elixir-autogen, elixir-format +msgid "About Contribution Types" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:138 +#: lib/mv_web/live/contribution_type_live/index.ex:53 +#, elixir-autogen, elixir-format +msgid "Amount" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:48 +#, elixir-autogen, elixir-format +msgid "Back to Settings" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:124 +#, elixir-autogen, elixir-format +msgid "Can be changed at any time. Amount changes affect future periods only." +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:77 +#, elixir-autogen, elixir-format +msgid "Cannot delete - members assigned" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:83 +#, elixir-autogen, elixir-format +msgid "Change Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:42 +#, elixir-autogen, elixir-format +msgid "Configure global settings for membership contributions." +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:34 +#: lib/mv_web/live/contribution_settings_live.ex:27 +#: lib/mv_web/live/contribution_settings_live.ex:40 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution Settings" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:62 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution Start" +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:32 +#: lib/mv_web/live/contribution_type_live/index.ex:25 +#: lib/mv_web/live/contribution_type_live/index.ex:36 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution Types" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:224 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution start" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:41 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution type" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:117 +#, elixir-autogen, elixir-format +msgid "Contribution types define different membership fee structures. Each type has a fixed interval (monthly, quarterly, half-yearly, yearly) that cannot be changed after creation." +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex:30 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:39 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contributions for %{name}" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:159 +#, elixir-autogen, elixir-format +msgid "Current" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:60 +#, elixir-autogen, elixir-format +msgid "Default Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:133 +#, elixir-autogen, elixir-format, fuzzy +msgid "Deletion" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:173 +#, elixir-autogen, elixir-format +msgid "Example: Member Contribution View" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:113 +#, elixir-autogen, elixir-format +msgid "Examples" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:262 +#: lib/mv_web/live/contribution_type_live/index.ex:172 +#, elixir-autogen, elixir-format +msgid "Family" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:128 +#, elixir-autogen, elixir-format +msgid "Fixed after creation. Members can only switch between types with the same interval." +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:228 +#, elixir-autogen, elixir-format +msgid "Generated periods" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:52 +#, elixir-autogen, elixir-format, fuzzy +msgid "Global Settings" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:343 +#: lib/mv_web/live/contribution_settings_live.ex:275 +#: lib/mv_web/live/contribution_type_live/index.ex:203 +#, elixir-autogen, elixir-format +msgid "Half-yearly" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:181 +#, elixir-autogen, elixir-format +msgid "Half-yearly contribution for supporting members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:87 +#: lib/mv_web/live/contribution_type_live/index.ex:188 +#, elixir-autogen, elixir-format +msgid "Honorary" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:85 +#, elixir-autogen, elixir-format +msgid "Include joining period" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:137 +#: lib/mv_web/live/contribution_type_live/index.ex:57 +#: lib/mv_web/live/contribution_type_live/index.ex:127 +#, elixir-autogen, elixir-format +msgid "Interval" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:220 +#, elixir-autogen, elixir-format, fuzzy +msgid "Joining date" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:331 +#, elixir-autogen, elixir-format +msgid "Joining year - reduced to 0" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:38 +#, elixir-autogen, elixir-format +msgid "Manage contribution types for membership fees." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:116 +#, elixir-autogen, elixir-format +msgid "Mark as Paid" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:120 +#, elixir-autogen, elixir-format +msgid "Mark as Suspended" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:124 +#, elixir-autogen, elixir-format +msgid "Mark as Unpaid" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:26 +#, elixir-autogen, elixir-format +msgid "Member Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:122 +#, elixir-autogen, elixir-format +msgid "Member pays for the year they joined" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:155 +#, elixir-autogen, elixir-format +msgid "Member pays from the joining month" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:144 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full quarter" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:133 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full year" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:43 +#, elixir-autogen, elixir-format, fuzzy +msgid "Member since" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:92 +#, elixir-autogen, elixir-format +msgid "Members can only switch between contribution types with the same payment interval (e.g., yearly to yearly). This prevents complex period overlaps." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:341 +#: lib/mv_web/live/contribution_settings_live.ex:273 +#: lib/mv_web/live/contribution_type_live/index.ex:201 +#, elixir-autogen, elixir-format, fuzzy +msgid "Monthly" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:150 +#, elixir-autogen, elixir-format +msgid "Monthly Interval - Joining Period Included" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:165 +#, elixir-autogen, elixir-format +msgid "Monthly fee for students and trainees" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:123 +#, elixir-autogen, elixir-format +msgid "Name & Amount" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:42 +#, elixir-autogen, elixir-format, fuzzy +msgid "New Contribution Type" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:189 +#, elixir-autogen, elixir-format +msgid "No fee for honorary members" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:134 +#, elixir-autogen, elixir-format +msgid "Only possible if no members are assigned to this type." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:70 +#, elixir-autogen, elixir-format +msgid "Open Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:301 +#, elixir-autogen, elixir-format +msgid "Paid via bank transfer" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:225 +#: lib/mv_web/live/contribution_settings_live.ex:197 +#: lib/mv_web/live/contribution_type_live/index.ex:97 +#, elixir-autogen, elixir-format +msgid "Preview Mockup" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:342 +#: lib/mv_web/live/contribution_settings_live.ex:274 +#: lib/mv_web/live/contribution_type_live/index.ex:202 +#, elixir-autogen, elixir-format +msgid "Quarterly" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:139 +#, elixir-autogen, elixir-format +msgid "Quarterly Interval - Joining Period Excluded" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:173 +#, elixir-autogen, elixir-format +msgid "Quarterly fee for family memberships" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:86 +#: lib/mv_web/live/contribution_settings_live.ex:250 +#: lib/mv_web/live/contribution_type_live/index.ex:156 +#, elixir-autogen, elixir-format +msgid "Reduced" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:157 +#, elixir-autogen, elixir-format +msgid "Reduced fee for unemployed, pensioners, or low income" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:275 +#: lib/mv_web/live/contribution_settings_live.ex:244 +#: lib/mv_web/live/contribution_type_live/index.ex:148 +#, elixir-autogen, elixir-format +msgid "Regular" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:204 +#, elixir-autogen, elixir-format +msgid "Reopen" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:176 +#, elixir-autogen, elixir-format +msgid "See how the contribution periods will be displayed for an individual member. This example shows Maria Weber with multiple contribution periods." +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:149 +#, elixir-autogen, elixir-format +msgid "Standard membership fee for regular members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:139 +#, elixir-autogen, elixir-format +msgid "Status" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:256 +#: lib/mv_web/live/contribution_type_live/index.ex:164 +#, elixir-autogen, elixir-format +msgid "Student" +msgstr "" + +#: lib/mv_web/live/contribution_type_live/index.ex:180 +#, elixir-autogen, elixir-format +msgid "Supporting Member" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:195 +#, elixir-autogen, elixir-format +msgid "Suspend" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:259 +#, elixir-autogen, elixir-format +msgid "Suspended" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:69 +#, elixir-autogen, elixir-format +msgid "This contribution type is automatically assigned to all new members. Can be changed individually per member." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:227 +#: lib/mv_web/live/contribution_settings_live.ex:199 +#: lib/mv_web/live/contribution_type_live/index.ex:99 +#, elixir-autogen, elixir-format +msgid "This page is not functional and only displays the planned features." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:136 +#, elixir-autogen, elixir-format +msgid "Time Period" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:66 +#, elixir-autogen, elixir-format +msgid "Total Contributions" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:250 +#, elixir-autogen, elixir-format +msgid "Unpaid" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:183 +#, elixir-autogen, elixir-format +msgid "View Example Member" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:90 +#, elixir-autogen, elixir-format +msgid "When active: Members pay from the period of their joining." +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:93 +#, elixir-autogen, elixir-format +msgid "When inactive: Members pay from the next full period after joining." +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:98 +#, elixir-autogen, elixir-format +msgid "Why are not all contribution types shown?" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex:85 +#: lib/mv_web/live/contribution_period_live/show.ex:86 +#: lib/mv_web/live/contribution_period_live/show.ex:87 +#: lib/mv_web/live/contribution_period_live/show.ex:344 +#: lib/mv_web/live/contribution_settings_live.ex:276 +#: lib/mv_web/live/contribution_type_live/index.ex:204 +#, elixir-autogen, elixir-format, fuzzy +msgid "Yearly" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:128 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Excluded" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex:117 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Included" +msgstr "" + +#~ #: lib/mv_web/live/user_live/show.ex:49 +#~ #, elixir-autogen, elixir-format +#~ msgid "ID" +#~ msgstr "" + #~ #: lib/mv_web/live/member_live/show.ex:47 #~ #, elixir-autogen, elixir-format #~ msgid "Id" #~ msgstr "" +#~ #: lib/mv_web/live/user_live/show.ex:51 +#~ #, 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 +#~ #, elixir-autogen, elixir-format +#~ msgid "OIDC ID" +#~ msgstr "" + #~ #: lib/mv_web/live/member_live/show.ex:33 #~ #, elixir-autogen, elixir-format #~ msgid "This is a member record from your database." From 6c935b7540f36e1dfdde90ee202ee65feefe0b80 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 3 Dec 2025 14:30:21 +0000 Subject: [PATCH 5/6] chore(deps): update renovate/renovate docker tag to v41.173 --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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: From 80a06c360937d2d86bdb99433ae76804980a3ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Eppl=C3=A9e?= Date: Wed, 3 Dec 2025 16:19:42 +0100 Subject: [PATCH 6/6] Add some missing translations This reverts commit 5c8a44c388b9f3392c09c3d313e6832f351cc735. --- priv/gettext/de/LC_MESSAGES/default.po | 585 +++++++++++++++++++++++-- priv/gettext/default.pot | 308 ++++++------- priv/gettext/en/LC_MESSAGES/default.po | 579 ++++++++++++++++++++++-- 3 files changed, 1250 insertions(+), 222 deletions(-) diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po index b5c69e8..82fbabe 100644 --- a/priv/gettext/de/LC_MESSAGES/default.po +++ b/priv/gettext/de/LC_MESSAGES/default.po @@ -11,6 +11,7 @@ msgstr "" "Language: en\n" #: lib/mv_web/components/core_components.ex +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "Aktionen" @@ -28,17 +29,18 @@ msgstr "Verbindung wird wiederhergestellt" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "Stadt" +#: lib/mv_web/live/contribution_type_live/index.ex #: 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 #: 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 @@ -46,11 +48,13 @@ msgstr "Löschen" msgid "Edit" msgstr "Bearbeite" +#: 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 #: 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 @@ -80,6 +84,7 @@ msgstr "Beitrittsdatum" msgid "Last Name" msgstr "Nachname" +#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" @@ -112,13 +117,12 @@ msgstr "schließen" msgid "Exit Date" msgstr "Austrittsdatum" -#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "Hausnummer" +#: lib/mv_web/live/contribution_period_live/show.ex #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format @@ -126,6 +130,7 @@ msgid "Notes" msgstr "Notizen" #: 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 @@ -133,16 +138,13 @@ msgstr "Notizen" msgid "Paid" msgstr "Bezahlt" -#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "Telefonnummer" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Postal Code" msgstr "Postleitzahl" @@ -163,16 +165,10 @@ msgstr "Speichern..." #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "Straße" -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "Id" -msgstr "ID" - #: 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 @@ -185,11 +181,6 @@ msgstr "Nein" msgid "Show Member" msgstr "Mitglied anzeigen" -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "This is a member record from your database." -msgstr "Dies ist ein Mitglied aus deiner Datenbank." - #: lib/mv_web/live/member_live/index.html.heex #: lib/mv_web/live/member_live/index/formatter.ex #: lib/mv_web/live/member_live/show.ex @@ -297,12 +288,14 @@ msgid "Member" msgstr "Mitglied" #: 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 #: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" @@ -318,6 +311,7 @@ msgstr "Neue*r Benutzer*in" msgid "Not enabled" msgstr "Nicht aktiviert" +#: lib/mv_web/live/contribution_period_live/show.ex #: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Note" @@ -580,16 +574,10 @@ msgstr "Diese E-Mail-Adresse ist bereits mit einem anderen OIDC-Konto verknüpft msgid "Choose a custom field" msgstr "Wähle ein Benutzerdefiniertes Feld" -#: lib/mv_web/live/member_live/form.ex -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "Custom Field Values" -msgstr "Benutzerdefinierte Feldwerte" - #: lib/mv_web/live/custom_field_value_live/form.ex -#, elixir-autogen, elixir-format +#, elixir-autogen, elixir-format, fuzzy msgid "Custom field" -msgstr "Benutzerdefiniertes Feld" +msgstr "Benutzerdefinierte Felder" #: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format @@ -622,6 +610,8 @@ 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 +#: 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" @@ -688,6 +678,7 @@ msgstr "Vereinsdaten" msgid "Manage global settings for the association." msgstr "Passe übergreifende Einstellungen für den Verein an." +#: lib/mv_web/live/contribution_settings_live.ex #: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" @@ -790,11 +781,6 @@ msgstr "Im E-Mail-Programm öffnen" 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 -#, 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 #, elixir-autogen, elixir-format, fuzzy msgid "This field cannot be empty" @@ -820,17 +806,551 @@ msgstr "Nicht bezahlt" msgid "Payment filter" msgstr "Zahlungsfilter" +#: 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] "" +msgstr[1] "" + +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Back to Settings" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Cannot delete - members assigned" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Configure global settings for membership contributions." +msgstr "" + +#: lib/mv_web/components/layouts/navbar.ex +#: lib/mv_web/live/contribution_settings_live.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution Settings" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution Start" +msgstr "Beitrag" + +#: 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 "Beitrag" + +#: lib/mv_web/live/contribution_settings_live.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution start" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Contribution type" +msgstr "Beitrag" + +#: 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 +#, elixir-autogen, elixir-format, fuzzy +msgid "Contributions" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Contributions for %{name}" +msgstr "Beitrag" + +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format +msgid "Current" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format, fuzzy +msgid "Deletion" +msgstr "Löschen" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Examples" +msgstr "" + +#: 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 +#, 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 +#, elixir-autogen, elixir-format +msgid "Generated periods" +msgstr "" + +#: lib/mv_web/live/contribution_settings_live.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Global Settings" +msgstr "Vereinsdaten" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Half-yearly contribution for supporting members" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Include joining period" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format, fuzzy +msgid "Joining date" +msgstr "Beitrittsdatum" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Manage contribution types for membership fees." +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Mark as Suspended" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Member Contributions" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Member pays from the joining month" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full year" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format, fuzzy +msgid "Member since" +msgstr "Mitglieder" + +#: 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 +#: 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" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Monthly fee for students and trainees" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format, fuzzy +msgid "New Contribution Type" +msgstr "Beitrag" + +#: 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 +#, 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 +#, elixir-autogen, elixir-format +msgid "Open Contributions" +msgstr "" + +#: 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 +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Quarterly Interval - Joining Period Excluded" +msgstr "" + +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Reduced fee for unemployed, pensioners, or low income" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Reopen" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Standard membership fee for regular members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format +msgid "Status" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Supporting Member" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Suspended" +msgstr "" + +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Time Period" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Unpaid" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "When active: Members pay from the period of their joining." +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Why are not all contribution types shown?" +msgstr "" + +#: 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" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Included" +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 "Geburtsdatum" +#~ #: 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/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" @@ -841,3 +1361,8 @@ msgstr "Zahlungsfilter" #~ #, 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 877d62b..5f94e73 100644 --- a/priv/gettext/default.pot +++ b/priv/gettext/default.pot @@ -12,6 +12,7 @@ msgid "" msgstr "" #: lib/mv_web/components/core_components.ex +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "" @@ -29,17 +30,18 @@ msgstr "" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "" +#: lib/mv_web/live/contribution_type_live/index.ex #: 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 #: 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 @@ -47,11 +49,13 @@ msgstr "" msgid "Edit" msgstr "" +#: 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 #: 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 @@ -81,6 +85,7 @@ msgstr "" msgid "Last Name" msgstr "" +#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" @@ -113,13 +118,12 @@ msgstr "" msgid "Exit Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "" +#: lib/mv_web/live/contribution_period_live/show.ex #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format @@ -127,6 +131,7 @@ msgid "Notes" msgstr "" #: 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 @@ -134,16 +139,13 @@ msgstr "" msgid "Paid" msgstr "" -#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Postal Code" msgstr "" @@ -164,16 +166,10 @@ msgstr "" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "Id" -msgstr "" - #: 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 @@ -186,11 +182,6 @@ msgstr "" msgid "Show Member" msgstr "" -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "This is a member record from your database." -msgstr "" - #: lib/mv_web/live/member_live/index.html.heex #: lib/mv_web/live/member_live/index/formatter.ex #: lib/mv_web/live/member_live/show.ex @@ -298,12 +289,14 @@ msgid "Member" msgstr "" #: 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 #: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" @@ -319,6 +312,7 @@ msgstr "" msgid "Not enabled" msgstr "" +#: lib/mv_web/live/contribution_period_live/show.ex #: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format msgid "Note" @@ -581,12 +575,6 @@ msgstr "" msgid "Choose a custom field" msgstr "" -#: lib/mv_web/live/member_live/form.ex -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "Custom Field Values" -msgstr "" - #: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" @@ -623,6 +611,8 @@ msgid "Use this form to manage custom_field records in your database." msgstr "" #: 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 "" @@ -689,6 +679,7 @@ msgstr "" msgid "Manage global settings for the association." msgstr "" +#: lib/mv_web/live/contribution_settings_live.ex #: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format msgid "Save Settings" @@ -791,11 +782,6 @@ msgstr "" msgid "Tip: Paste email addresses into the BCC field for privacy compliance" 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/components/core_components.ex #, elixir-autogen, elixir-format msgid "This field cannot be empty" @@ -821,524 +807,518 @@ msgstr "" msgid "Payment filter" msgstr "" -#: lib/mv_web/live/member_live/show.ex:70 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Address" msgstr "" -#: lib/mv_web/live/member_live/form.ex:37 -#: lib/mv_web/live/member_live/show.ex:32 +#: 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:65 -#: 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 "Coming soon" msgstr "" -#: lib/mv_web/live/member_live/form.ex:57 -#: lib/mv_web/live/member_live/show.ex:48 +#: 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:175 -#: lib/mv_web/live/member_live/show.ex:160 +#: 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:94 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Nr." msgstr "" -#: lib/mv_web/live/member_live/form.ex:186 -#: lib/mv_web/live/member_live/show.ex:161 +#: 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:166 -#: lib/mv_web/live/member_live/show.ex:153 +#: 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:68 -#: lib/mv_web/live/member_live/show.ex:52 +#: 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:166 +#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Pending" msgstr "" -#: lib/mv_web/live/member_live/form.ex:76 -#: lib/mv_web/live/member_live/show.ex:60 +#: 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:111 -#: lib/mv_web/live/member_live/show.ex:87 +#: 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:49 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "Save" msgstr "" -#: lib/mv_web/live/member_live/form.ex:169 -#: lib/mv_web/live/member_live/show.ex:156 +#: 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:190 -#: lib/mv_web/live/member_live/show.ex:161 +#: 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:194 +#: lib/mv_web/live/member_live/form.ex #, elixir-autogen, elixir-format msgid "yearly" msgstr "" -#: lib/mv_web/live/member_live/form.ex:242 +#: 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:107 +#: 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 "" diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po index 74eded2..47896b4 100644 --- a/priv/gettext/en/LC_MESSAGES/default.po +++ b/priv/gettext/en/LC_MESSAGES/default.po @@ -12,6 +12,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: lib/mv_web/components/core_components.ex +#: lib/mv_web/live/contribution_period_live/show.ex #, elixir-autogen, elixir-format msgid "Actions" msgstr "" @@ -29,17 +30,18 @@ msgstr "" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "City" msgstr "" +#: lib/mv_web/live/contribution_type_live/index.ex #: 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 #: 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 @@ -47,11 +49,13 @@ msgstr "" msgid "Edit" msgstr "" +#: 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 #: 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 @@ -81,6 +85,7 @@ msgstr "" msgid "Last Name" msgstr "" +#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex #, elixir-autogen, elixir-format msgid "New Member" @@ -113,13 +118,12 @@ msgstr "" msgid "Exit Date" msgstr "" -#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "House Number" msgstr "" +#: lib/mv_web/live/contribution_period_live/show.ex #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format @@ -127,6 +131,7 @@ msgid "Notes" msgstr "" #: 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 @@ -134,16 +139,13 @@ msgstr "" msgid "Paid" msgstr "" -#: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Phone Number" msgstr "" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Postal Code" msgstr "" @@ -164,16 +166,10 @@ msgstr "" #: lib/mv_web/live/member_live/form.ex #: lib/mv_web/live/member_live/index.html.heex -#: lib/mv_web/live/member_live/show.ex #, elixir-autogen, elixir-format msgid "Street" msgstr "" -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "Id" -msgstr "" - #: 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 @@ -186,11 +182,6 @@ msgstr "" msgid "Show Member" msgstr "" -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "This is a member record from your database." -msgstr "" - #: lib/mv_web/live/member_live/index.html.heex #: lib/mv_web/live/member_live/index/formatter.ex #: lib/mv_web/live/member_live/show.ex @@ -298,12 +289,14 @@ msgid "Member" msgstr "" #: 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 #: lib/mv_web/live/custom_field_live/form.ex #, elixir-autogen, elixir-format msgid "Name" @@ -319,6 +312,7 @@ msgstr "" msgid "Not enabled" msgstr "" +#: lib/mv_web/live/contribution_period_live/show.ex #: lib/mv_web/live/user_live/form.ex #, elixir-autogen, elixir-format, fuzzy msgid "Note" @@ -581,12 +575,6 @@ msgstr "" msgid "Choose a custom field" msgstr "" -#: lib/mv_web/live/member_live/form.ex -#: lib/mv_web/live/member_live/show.ex -#, elixir-autogen, elixir-format -msgid "Custom Field Values" -msgstr "" - #: lib/mv_web/live/custom_field_value_live/form.ex #, elixir-autogen, elixir-format msgid "Custom field" @@ -623,6 +611,8 @@ msgid "Use this form to manage custom_field records in your database." msgstr "" #: 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 "" @@ -689,6 +679,7 @@ msgstr "" msgid "Manage global settings for the association." msgstr "" +#: lib/mv_web/live/contribution_settings_live.ex #: lib/mv_web/live/global_settings_live.ex #, elixir-autogen, elixir-format, fuzzy msgid "Save Settings" @@ -791,11 +782,6 @@ msgstr "" msgid "Tip: Paste email addresses into the BCC field for privacy compliance" 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/components/core_components.ex #, elixir-autogen, elixir-format, fuzzy msgid "This field cannot be empty" @@ -821,17 +807,549 @@ msgstr "" msgid "Payment filter" msgstr "" +#: 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 +#, elixir-autogen, elixir-format +msgid "About Contribution Types" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Back to Settings" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Cannot delete - members assigned" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Configure global settings for membership contributions." +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Contribution Start" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Contribution start" +msgstr "" + +#: 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 +#, 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 +#, elixir-autogen, elixir-format +msgid "Contributions" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Current" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format, fuzzy +msgid "Deletion" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Examples" +msgstr "" + +#: 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 +#, 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 +#, elixir-autogen, elixir-format +msgid "Generated periods" +msgstr "" + +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Half-yearly contribution for supporting members" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Include joining period" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format, fuzzy +msgid "Joining date" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Manage contribution types for membership fees." +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Mark as Suspended" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Member Contributions" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Member pays from the joining month" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Member pays from the next full year" +msgstr "" + +#: 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 +#, 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Monthly Interval - Joining Period Included" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Name & Amount" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "No fee for honorary members" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Open Contributions" +msgstr "" + +#: 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 +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Quarterly Interval - Joining Period Excluded" +msgstr "" + +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Reduced fee for unemployed, pensioners, or low income" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Reopen" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Standard membership fee for regular members" +msgstr "" + +#: lib/mv_web/live/contribution_period_live/show.ex +#, elixir-autogen, elixir-format +msgid "Status" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Supporting Member" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Suspended" +msgstr "" + +#: 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 +#: 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 +#, elixir-autogen, elixir-format +msgid "Time Period" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Unpaid" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "When active: Members pay from the period of their joining." +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Why are not all contribution types shown?" +msgstr "" + +#: 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 +#, elixir-autogen, elixir-format +msgid "Yearly Interval - Joining Period Excluded" +msgstr "" + +#: 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 #~ #: lib/mv_web/live/member_live/show.ex #~ #, elixir-autogen, elixir-format #~ msgid "Birth Date" #~ msgstr "" +#~ #: 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/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" @@ -842,3 +1360,8 @@ msgstr "" #~ #, elixir-autogen, elixir-format #~ msgid "OIDC ID" #~ msgstr "" + +#~ #: lib/mv_web/live/member_live/show.ex +#~ #, elixir-autogen, elixir-format +#~ msgid "This is a member record from your database." +#~ msgstr ""