-
{gettext("Delete Custom Field")}
-
-
-
- <.icon name="hero-exclamation-triangle" class="w-5 h-5" />
-
-
- {ngettext(
- "%{count} member has a value assigned for this custom field.",
- "%{count} members have values assigned for this custom field.",
- @custom_field_to_delete.assigned_members_count,
- count: @custom_field_to_delete.assigned_members_count
- )}
-
-
- {gettext(
- "All custom field values will be permanently deleted when you delete this custom field."
- )}
-
-
-
-
-
-
-
- {gettext("To confirm deletion, please enter this text:")}
-
-
-
- {@custom_field_to_delete.slug}
-
-
-
-
-
-
-
- {gettext("Cancel")}
-
-
+
+
+ {gettext("These will appear in addition to other data when adding new members.")}
+
+
+ <.button
+ class="ml-auto"
+ variant="primary"
+ phx-click="new_custom_field"
phx-target={@myself}
- class="btn btn-error"
- disabled={@slug_confirmation != @custom_field_to_delete.slug}
>
- {gettext("Delete Custom Field and All Values")}
-
+ <.icon name="hero-plus" /> {gettext("New Custom field")}
+
-
+ <%!-- Show form when creating or editing --%>
+
+ <.live_component
+ module={MvWeb.CustomFieldLive.FormComponent}
+ id={@form_id}
+ custom_field={@editing_custom_field}
+ on_save={
+ fn custom_field, action -> send(self(), {:custom_field_saved, custom_field, action}) end
+ }
+ on_cancel={fn -> send_update(__MODULE__, id: @id, show_form: false) end}
+ />
+
+
+ <%!-- Hide table when form is visible --%>
+ <.table
+ :if={!@show_form}
+ id="custom_fields"
+ rows={@streams.custom_fields}
+ row_click={
+ fn {_id, custom_field} ->
+ JS.push("edit_custom_field", value: %{id: custom_field.id}, target: @myself)
+ end
+ }
+ >
+ <:col :let={{_id, custom_field}} label={gettext("Name")}>{custom_field.name}
+
+ <:col :let={{_id, custom_field}} label={gettext("Value Type")}>
+ {@field_type_label.(custom_field.value_type)}
+
+
+ <:col :let={{_id, custom_field}} label={gettext("Description")}>
+ {custom_field.description}
+
+
+ <:col
+ :let={{_id, custom_field}}
+ label={gettext("Show in overview")}
+ class="max-w-[9.375rem] text-center"
+ >
+
+ {gettext("Yes")}
+
+
+ {gettext("No")}
+
+
+
+ <:action :let={{_id, custom_field}}>
+ <.link phx-click={
+ JS.push("edit_custom_field", value: %{id: custom_field.id}, target: @myself)
+ }>
+ {gettext("Edit")}
+
+
+
+ <:action :let={{_id, custom_field}}>
+ <.link phx-click={
+ JS.push("prepare_delete", value: %{id: custom_field.id}, target: @myself)
+ }>
+ {gettext("Delete")}
+
+
+
+
+ <%!-- Delete Confirmation Modal --%>
+
+
+
{gettext("Delete Custom Field")}
+
+
+
+ <.icon name="hero-exclamation-triangle" class="w-5 h-5" />
+
+
+ {ngettext(
+ "%{count} member has a value assigned for this custom field.",
+ "%{count} members have values assigned for this custom field.",
+ @custom_field_to_delete.assigned_members_count,
+ count: @custom_field_to_delete.assigned_members_count
+ )}
+
+
+ {gettext(
+ "All custom field values will be permanently deleted when you delete this custom field."
+ )}
+
+
+
+
+
+
+
+ {gettext("To confirm deletion, please enter this text:")}
+
+
+
+ {@custom_field_to_delete.slug}
+
+
+
+
+
+
+
+ {gettext("Cancel")}
+
+
+ {gettext("Delete Custom Field and All Values")}
+
+
+
+
+
"""
end
diff --git a/lib/mv_web/live/global_settings_live.ex b/lib/mv_web/live/global_settings_live.ex
index bb919cb..0b3ec1c 100644
--- a/lib/mv_web/live/global_settings_live.ex
+++ b/lib/mv_web/live/global_settings_live.ex
@@ -46,22 +46,22 @@ defmodule MvWeb.GlobalSettingsLive do
<%!-- Club Settings Section --%>
- <.header>
- {gettext("Club Settings")}
-
- <.form for={@form} id="settings-form" phx-change="validate" phx-submit="save">
- <.input
- field={@form[:club_name]}
- type="text"
- label={gettext("Association Name")}
- required
- />
-
- <.button phx-disable-with={gettext("Saving...")} variant="primary">
- {gettext("Save Settings")}
-
-
+ <.form_section title={gettext("Club Settings")}>
+ <.form for={@form} id="settings-form" phx-change="validate" phx-submit="save">
+
+ <.input
+ field={@form[:club_name]}
+ type="text"
+ label={gettext("Association Name")}
+ required
+ />
+
+ <.button phx-disable-with={gettext("Saving...")} variant="primary">
+ {gettext("Save Settings")}
+
+
+
<%!-- Custom Fields Section --%>
<.live_component
module={MvWeb.CustomFieldLive.IndexComponent}
diff --git a/lib/mv_web/live/member_live/form.ex b/lib/mv_web/live/member_live/form.ex
index 5380d0f..87148ad 100644
--- a/lib/mv_web/live/member_live/form.ex
+++ b/lib/mv_web/live/member_live/form.ex
@@ -348,25 +348,6 @@ defmodule MvWeb.MemberLive.Form do
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
# -----------------------------------------------------------------
diff --git a/lib/mv_web/translations/field_types.ex b/lib/mv_web/translations/field_types.ex
new file mode 100644
index 0000000..969f20b
--- /dev/null
+++ b/lib/mv_web/translations/field_types.ex
@@ -0,0 +1,21 @@
+defmodule MvWeb.Translations.FieldTypes do
+ @moduledoc """
+ Helper module to dynamically translate field types.
+
+ ## Features
+ - Can be used in templates to dynamically translate technical field type words to human friendly text
+
+ ## Example
+ assigns = assign(assigns, :field_type_label, &MvWeb.Translations.FieldTypes.label/1)
+ In template:
+ <%= @field_type_label.(custom_field.value_type) %>
+ """
+ use Gettext, backend: MvWeb.Gettext
+
+ @spec label(atom()) :: String.t()
+ def label(:string), do: gettext("Text")
+ def label(:integer), do: gettext("Number")
+ def label(:boolean), do: gettext("Yes/No-Selection")
+ def label(:date), do: gettext("Date")
+ def label(:email), do: gettext("E-Mail")
+end
diff --git a/priv/gettext/de/LC_MESSAGES/default.po b/priv/gettext/de/LC_MESSAGES/default.po
index bb781f7..311e727 100644
--- a/priv/gettext/de/LC_MESSAGES/default.po
+++ b/priv/gettext/de/LC_MESSAGES/default.po
@@ -48,7 +48,7 @@ msgstr "Löschen"
#: lib/mv_web/live/user_live/index.html.heex
#, elixir-autogen, elixir-format
msgid "Edit"
-msgstr "Bearbeite"
+msgstr "Bearbeiten"
#: lib/mv_web/live/member_live/form.ex
#: lib/mv_web/live/member_live/show.ex
@@ -214,7 +214,7 @@ msgstr "Falsche E-Mail oder Passwort"
#: lib/mv_web/live/member_live/form.ex
#, elixir-autogen, elixir-format
msgid "Member %{action} successfully"
-msgstr "Mitglied %{action} erfolgreich"
+msgstr "Mitglied erfolgreich %{action}"
#: lib/mv_web/controllers/auth_controller.ex
#, elixir-autogen, elixir-format
@@ -419,8 +419,8 @@ msgstr "Administrator*innen-Hinweis"
#: 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."
+msgid "As an administrator, you can directly set a new password for this user."
+msgstr "Als Administrator*in können Sie direkt ein neues Passwort für diese*n Benutzer*in setzen."
#: lib/mv_web/live/user_live/form.ex
#, elixir-autogen, elixir-format
@@ -658,7 +658,7 @@ msgstr "Um die Löschung zu bestätigen, gib bitte folgenden Text ein:"
#: lib/mv_web/live/custom_field_live/form_component.ex
#, elixir-autogen, elixir-format
msgid "Show in overview"
-msgstr "In der Mitglieder-Übersicht anzeigen"
+msgstr "In Übersicht anzeigen"
#: lib/mv_web/live/global_settings_live.ex
#, elixir-autogen, elixir-format
@@ -904,96 +904,96 @@ msgstr "Mitglied erstellen"
#, elixir-autogen, elixir-format
msgid "%{count} period selected"
msgid_plural "%{count} periods selected"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%{count} Zyklus ausgewählt"
+msgstr[1] "%{count} Zyklen ausgewählt"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "About Contribution Types"
-msgstr ""
+msgstr "Über Beitragsarten"
#: 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 ""
+msgstr "Betrag"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Back to Settings"
-msgstr ""
+msgstr "Zurück zu den Einstellungen"
#: 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 ""
+msgstr "Kann jederzeit geändert werden. Änderungen des Betrags betreffen nur zukünftige Zyklen."
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Cannot delete - members assigned"
-msgstr ""
+msgstr "Löschen nicht möglich – es sind Mitglieder zugewiesen"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Change Contribution Type"
-msgstr ""
+msgstr "Beitragsart ändern"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Configure global settings for membership contributions."
-msgstr ""
+msgstr "Globale Einstellungen für Mitgliedsbeiträge konfigurieren."
#: 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"
+msgstr "Beitragseinstellungen"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Contribution Start"
-msgstr "Beitrag"
+msgstr "Beitragsbeginn"
#: 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"
+msgstr "Beitragsarten"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Contribution start"
-msgstr "Beitrag"
+msgstr "Beitragsbeginn"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Contribution type"
-msgstr "Beitrag"
+msgstr "Beitragsart"
#: 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 ""
+msgstr "Beitragsarten definieren verschiedene Beitragsmodelle. Jede Art hat einen festen Zyklus (monatlich, vierteljährlich, halbjährlich, jährlich), der nach Erstellung nicht mehr geändert werden kann."
#: lib/mv_web/components/layouts/navbar.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Contributions"
-msgstr "Beitrag"
+msgstr "Beiträge"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Contributions for %{name}"
-msgstr "Beitrag"
+msgstr "Beiträge für %{name}"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Current"
-msgstr ""
+msgstr "Aktuell"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Default Contribution Type"
-msgstr ""
+msgstr "Standard-Beitragsart"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format, fuzzy
@@ -1003,28 +1003,28 @@ msgstr "Löschen"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Example: Member Contribution View"
-msgstr ""
+msgstr "Beispiel: Ansicht Mitgliedsbeiträge"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Examples"
-msgstr ""
+msgstr "Beispiele"
#: lib/mv_web/live/contribution_settings_live.ex
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Family"
-msgstr ""
+msgstr "Familie"
#: 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 ""
+msgstr "Festgelegt nach der Erstellung. Mitglieder können nur zwischen Beitragsarten mit gleichem Intervall wechseln."
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Generated periods"
-msgstr ""
+msgstr "Generierte Zyklen"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format, fuzzy
@@ -1036,29 +1036,29 @@ msgstr "Vereinsdaten"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Half-yearly"
-msgstr ""
+msgstr "Halbjährlich"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Half-yearly contribution for supporting members"
-msgstr ""
+msgstr "Halbjährlicher Beitrag für Fördermitglieder"
#: 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 ""
+msgstr "Ehrenamtlich"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Include joining period"
-msgstr ""
+msgstr "Beitrittsdatum einbeziehen"
#: 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 ""
+msgstr "Zyklus"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format, fuzzy
@@ -1068,240 +1068,240 @@ msgstr "Beitrittsdatum"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Joining year - reduced to 0"
-msgstr ""
+msgstr "Beitrittsjahr – auf 0 reduziert"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Manage contribution types for membership fees."
-msgstr ""
+msgstr "Beitragsarten für Mitgliedsbeiträge verwalten."
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Mark as Paid"
-msgstr ""
+msgstr "Als bezahlt markieren"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Mark as Suspended"
-msgstr ""
+msgstr "Als pausiert markieren"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Mark as Unpaid"
-msgstr ""
+msgstr "Als unbezahlt markieren"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Member Contributions"
-msgstr ""
+msgstr "Mitgliedsbeiträge"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Member pays for the year they joined"
-msgstr ""
+msgstr "Mitglied zahlt für das Beitrittsjahr"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Member pays from the joining month"
-msgstr ""
+msgstr "Mitglied zahlt ab Beitrittsmonat"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Member pays from the next full quarter"
-msgstr ""
+msgstr "Mitglied zahlt ab dem nächsten vollständigen Quartal"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Member pays from the next full year"
-msgstr ""
+msgstr "Mitglied zahlt ab dem nächsten vollständigen Jahr"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Member since"
-msgstr "Mitglieder"
+msgstr "Mitglied seit"
#: 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 ""
+msgstr "Mitglieder können nur zwischen Beitragsarten mit demselben Zahlungszyklus wechseln (z. B. jährlich zu jährlich). Dadurch werden komplexe Überlappungen vermieden."
#: lib/mv_web/live/contribution_period_live/show.ex
#: lib/mv_web/live/contribution_settings_live.ex
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Monthly"
-msgstr "monatlich"
+msgstr "Monatlich"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Monthly Interval - Joining Period Included"
-msgstr ""
+msgstr "Monatliches Intervall – Beitrittszeitraum einbezogen"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Monthly fee for students and trainees"
-msgstr ""
+msgstr "Monatlicher Beitrag für Studierende und Auszubildende"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Name & Amount"
-msgstr ""
+msgstr "Name & Betrag"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "New Contribution Type"
-msgstr "Beitrag"
+msgstr "Neue Beitragsart"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "No fee for honorary members"
-msgstr ""
+msgstr "Kein Beitrag für ehrenamtliche Mitglieder"
#: 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 ""
+msgstr "Nur möglich, wenn diesem Typ keine Mitglieder zugewiesen sind."
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Open Contributions"
-msgstr ""
+msgstr "Offene Beiträge"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Paid via bank transfer"
-msgstr ""
+msgstr "Bezahlt durch Überweisung"
#: 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 ""
+msgstr "Vorschau"
#: 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 ""
+msgstr "Vierteljährlich"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Quarterly Interval - Joining Period Excluded"
-msgstr ""
+msgstr "Vierteljährliches Intervall – Beitrittszeitraum nicht einbezogen"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Quarterly fee for family memberships"
-msgstr ""
+msgstr "Vierteljährlicher Beitrag für Familienmitgliedschaften"
#: 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 ""
+msgstr "Reduziert"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Reduced fee for unemployed, pensioners, or low income"
-msgstr ""
+msgstr "Ermäßigter Beitrag für Arbeitslose, Rentner*innen oder Geringverdienende"
#: 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 ""
+msgstr "Regulär"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Reopen"
-msgstr ""
+msgstr "Wieder öffnen"
#: 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 ""
+msgstr "Beispielhafte Anzeige der Beitragsperioden für ein einzelnes Mitglied. In diesem Beispiel wird Maria Weber mit mehreren Zyklen angezeigt."
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Standard membership fee for regular members"
-msgstr ""
+msgstr "Regulärer Mitgliedsbeitrag für Vollmitglieder"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Status"
-msgstr ""
+msgstr "Status"
#: lib/mv_web/live/contribution_settings_live.ex
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Student"
-msgstr ""
+msgstr "Student"
#: lib/mv_web/live/contribution_type_live/index.ex
#, elixir-autogen, elixir-format
msgid "Supporting Member"
-msgstr ""
+msgstr "Fördermitglied"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Suspend"
-msgstr ""
+msgstr "Pausieren"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Suspended"
-msgstr ""
+msgstr "Pausiert"
#: 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 ""
+msgstr "Dieser Beitragstyp wird automatisch neuen Mitgliedern zugewiesen. Kann individuell angepasst werden."
#: 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 ""
+msgstr "Diese Seite ist nicht funktionsfähig und zeigt nur geplante Funktionen."
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Time Period"
-msgstr ""
+msgstr "Zeitraum"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Total Contributions"
-msgstr ""
+msgstr "Gesamtbeiträge"
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Unpaid"
-msgstr ""
+msgstr "Unbezahlt"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "View Example Member"
-msgstr ""
+msgstr "Beispielmitglied anzeigen"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "When active: Members pay from the period of their joining."
-msgstr ""
+msgstr "Wenn aktiviert: Mitglieder zahlen ab dem Zeitraum ihres Beitritts."
#: 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 ""
+msgstr "Wenn deaktiviert: Mitglieder zahlen ab dem nächsten vollen Beitragszyklus nach dem Beitritt."
#: lib/mv_web/live/contribution_period_live/show.ex
#, elixir-autogen, elixir-format
msgid "Why are not all contribution types shown?"
-msgstr ""
+msgstr "Warum werden nicht alle Beitragsarten angezeigt?"
#: lib/mv_web/live/contribution_period_live/show.ex
#: lib/mv_web/live/contribution_settings_live.ex
@@ -1313,12 +1313,12 @@ msgstr "jährlich"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Yearly Interval - Joining Period Excluded"
-msgstr ""
+msgstr "Jährliches Intervall – Beitrittszeitraum nicht einbezogen"
#: lib/mv_web/live/contribution_settings_live.ex
#, elixir-autogen, elixir-format
msgid "Yearly Interval - Joining Period Included"
-msgstr ""
+msgstr "Jährliches Intervall – Beitrittszeitraum einbezogen"
#: lib/mv_web/live/components/field_visibility_dropdown_component.ex
#, elixir-autogen, elixir-format
@@ -1363,7 +1363,7 @@ msgstr "Zurück zur Felderliste"
#: lib/mv_web/live/global_settings_live.ex
#, elixir-autogen, elixir-format, fuzzy
msgid "Custom field deleted successfully"
-msgstr "Benutzerdefiniertes Feld erfolgreich %{action}"
+msgstr "Benutzerdefiniertes Feld erfolgreich gelöscht"
#: lib/mv_web/live/custom_field_live/form_component.ex
#, elixir-autogen, elixir-format, fuzzy
@@ -1405,6 +1405,31 @@ msgstr "Diese Felder können zusätzlich zu den normalen Daten ausgefüllt werde
msgid "Value Type"
msgstr "Wertetyp"
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr "Datum"
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format, fuzzy
+msgid "E-Mail"
+msgstr "E-Mail"
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Number"
+msgstr "Zahl"
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Text"
+msgstr "Textfeld"
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Yes/No-Selection"
+msgstr "Ja/Nein-Auswahl"
+
#~ #: lib/mv_web/live/custom_field_live/show.ex
#~ #, elixir-autogen, elixir-format
#~ msgid "Auto-generated identifier (immutable)"
diff --git a/priv/gettext/default.pot b/priv/gettext/default.pot
index 7581d62..10c230b 100644
--- a/priv/gettext/default.pot
+++ b/priv/gettext/default.pot
@@ -1405,3 +1405,28 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "Value Type"
msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "E-Mail"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Number"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Text"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Yes/No-Selection"
+msgstr ""
diff --git a/priv/gettext/en/LC_MESSAGES/default.po b/priv/gettext/en/LC_MESSAGES/default.po
index dc86840..e23030f 100644
--- a/priv/gettext/en/LC_MESSAGES/default.po
+++ b/priv/gettext/en/LC_MESSAGES/default.po
@@ -1406,6 +1406,31 @@ msgstr ""
msgid "Value Type"
msgstr ""
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Date"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format, fuzzy
+msgid "E-Mail"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Number"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Text"
+msgstr ""
+
+#: lib/mv_web/translations/field_types.ex
+#, elixir-autogen, elixir-format
+msgid "Yes/No-Selection"
+msgstr ""
+
#~ #: lib/mv_web/live/custom_field_live/show.ex
#~ #, elixir-autogen, elixir-format
#~ msgid "Auto-generated identifier (immutable)"