From 2542bcf9e44649462dfca70033cde8f6ed5611d2 Mon Sep 17 00:00:00 2001 From: Moritz Date: Wed, 3 Dec 2025 15:22:49 +0100 Subject: [PATCH] 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."