Files
admin.juergen c7439e4822 Fix customer-reported survey results and list issues
Behebt die Fehler aus der Kunden-Testrunde (Praktikantin, Juli 2026):

- Ergebnisreihenfolge: Fragen werden vor dem Finalisieren nach _sorting
  sortiert. finalizeQuestionResult entfernt _sorting, daher fiel die
  bisherige Nachsortierung auf den alphabetischen Fallback zurück. Online,
  PDF und Excel folgen jetzt derselben Frage-Sortierung.
- Excel-Export: Eigene Fragetext-Zeile über den Antwortspalten (je Frage
  über die zugehörigen Spalten zusammengeführt). Zuvor fehlte der Fragetext.
- Range-Ergebnis: Verteilung deckt die komplette Skala rangeMin..rangeMax in
  rangeStep-Schritten ab, damit die X-Achse linear und vollständig ist
  (vorher nur tatsächlich vorkommende Werte in gleichen Abständen).
- Teilnahmen/Rücklauf pro Frage als absolute Zahlen ("X von Y beantwortet",
  "Z übersprungen") statt reiner Prozent-Rücklaufquote.
- Freitextantworten gruppiert: jede Antwort einmal mit exakter Häufigkeit,
  ohne Prozentangaben und ohne Doppel-Auflistung.
- Frontend-Liste: "Link kopieren"-Button (absolute Reader-URL) für
  veröffentlichte Umfragen; Aktiv-Umschalter mit Textlabel statt nur Punkt;
  Aktionslinks öffnen im selben Tab statt in neuen Tabs.
- Duplizieren: Titel-Kollisionsprüfung ohne Ausschluss der Quell-ID, damit
  aus "... - Kopie" korrekt "... - Kopie 2" wird statt eines Dubletten-Titels.

Der internalNote-Fehler beim Anlegen/Duplizieren war ein fehlendes
DB-Schema-Update (Spalte tl_survey.internalNote) und wurde per
contao:migrate auf der Testumgebung nachgezogen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 19:30:34 +02:00

166 lines
7.3 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
survey:
list:
login_required: "Dieser Bereich verwendet den normalen Contao-Mitgliederlogin. Bitte binden Sie das Modul auf einer geschützten Seite oder mit einer separaten Login-Seite ein."
create: "Neue Umfrage anlegen"
duplicate: "Duplizieren"
duplicate_confirm: "Sind Sie sicher, dass Sie die Umfrage \"%title%\" mit allen Fragen duplizieren wollen?"
delete: "Löschen"
delete_confirm: "Umfrage wirklich löschen? Damit werden auch alle Fragen, Antworten und Ergebnisse endgültig gelöscht. Alternativ können Sie die Umfrage auch einfach vorübergehend deaktivieren."
delete_confirm_second: "Wirklich sicher?"
published: "veröffentlicht"
draft: "Entwurf"
locked: "gesperrt"
active: "aktiv"
inactive: "deaktiviert"
questions: "%count% Fragen"
participations: "%count% Teilnahmen"
edit: "Bearbeiten"
public_view: "Öffentliche Ansicht"
copy_link: "Link kopieren"
copy_link_done: "Link kopiert!"
active_state: "Aktiv"
inactive_state: "Deaktiviert"
draft_view: "Entwurfs-Ansicht"
show_results: "Ergebnisse anzeigen"
publish: "Umfrage veröffentlichen"
publish_done: "Umfrage veröffentlicht"
publish_help: "Umfrage veröffentlichen. Danach sind keine Änderungen mehr möglich."
empty: "Dem eingeloggten Mitglied ist aktuell keine Umfrage zugewiesen."
edit:
login_required: "Dieses Frontendmodul ist für eingeloggte Mitglieder gedacht. Nutzen Sie den normalen Contao-Mitgliederlogin auf einer geschützten Seite."
entry_not_allowed: "Diese Seite kann nicht direkt geöffnet werden. Bitte wechseln Sie über die Umfragen-Liste in den Bearbeitungsmodus."
create_title: "Neue Umfrage erstellen"
label_title: "Titel"
label_survey_title: "Titel der Umfrage"
label_description: "Beschreibung"
create_submit: "Umfrage erstellen"
back_to_list: "Zur Liste"
editors: "Bearbeitende"
editors_count: "%count% Mitglied(er)"
published: "veröffentlicht"
draft: "Entwurf"
locked: "gesperrt"
structure_locked: "Die Fragen dieser Umfrage sind gesperrt, weil die Umfrage veröffentlicht wurde oder bereits erste Teilnahmen vorliegen. Die Metadaten können weiter gepflegt werden."
publish_confirm: "Sind Sie wirklich sicher? Nachdem die Umfrage veröffentlicht wurde sind keine Änderungen mehr möglich!"
deactivate_survey: "Umfrage vorübergehend deaktivieren"
activate_survey: "Umfrage wieder aktivieren"
save: "Speichern"
save_metadata: "Metadaten speichern"
save_this_question: "Diese Frage speichern"
save_new_question: "Neue Frage speichern"
dirty_metadata: "Ungespeicherte Änderungen in den Metadaten"
dirty_question: "Ungespeicherte Änderungen in dieser Frage"
dirty_new_question: "Ungespeicherte Änderungen an der neuen Frage"
editors_title: "Bearbeitende Mitglieder"
no_editors: "Keine Editoren hinterlegt."
responses_title: "Antworten und Ergebnisse"
completed: "abgeschlossen"
open: "offen"
started_at: "Begonnen"
completed_at: "Beendet"
unknown: "unbekannt"
participation_code: "Teilnahme-Code"
no_submissions: "Es liegen noch keine Teilnahmen vor."
questions_title: "Fragen bearbeiten"
edit_mode: "Bearbeitungsmodus"
label_type: "Fragetyp"
label_question: "Frage"
mandatory: "Pflichtfrage"
active: "Aktiv"
allow_maybe: "Vielleicht anbieten"
jump_yes: "Zur Frage springen bei Auswahl ja"
jump_no: "Zur Frage springen bei Auswahl nein"
allow_multiple: "Multiple-Choice aktivieren"
answer_option: "Antwort %number%"
range_min: "Kleinster Wert"
range_max: "Größter Wert"
range_step: "Schrittweite"
update_question: "Frage aktualisieren"
save_question: "Frage speichern"
mandatory_badge: "Pflicht"
start_badge: "Start"
no_extra_description: "Keine Zusatzbeschreibung."
delete_question_confirm: "Frage wirklich löschen?"
delete: "Löschen"
no_questions: "Noch keine Fragen angelegt."
new_question: "Neue Frage anlegen"
reorder_question: "Frage verschieben"
save_question_order: "Neue Reihenfolge speichern"
open_question: "Akkordeon öffnen"
close_question: "Akkordeon schließen"
conditions_title: "Sprungregeln"
source_question: "Ausgangsfrage"
answer: "Antwort"
next_question: "Nächste Frage"
update_condition: "Bedingung aktualisieren"
save_condition: "Bedingung speichern"
condition_prefix: "Wenn Antwort = %value%"
continue_to: "weiter zu %target%"
question_fallback: "Frage #%id%"
edit_condition: "Bearbeiten"
delete_condition_confirm: "Bedingung wirklich löschen?"
no_conditions: "Noch keine Bedingungen definiert."
survey:
default_description: "Bitte beantworten Sie die folgenden Fragen. Jede Frage wird einzeln angezeigt."
thanks_title: "Vielen Dank fürs Ausfüllen."
thanks_text: "Ihre Antworten wurden anonym gespeichert. Es wurde keine Teilnehmeridentität mit diesem Umfrage-Durchlauf verknüpft."
question_type_yes_no_maybe: "Ja/Nein/Vielleicht"
question_type_choice: "Auswahl"
question_type_range: "Bewertung"
question_type_text: "Freitext"
answer_yes: "Ja"
answer_no: "Nein"
answer_maybe: "Vielleicht"
question_progress: "Frage %current%"
jump_to: "weiter zu Frage %position%: %label%"
current_value: "Aktueller Wert"
back: "Zurück"
next: "Weiter"
preview_badge: "Entwurf"
preview_notice: "Dies ist eine Entwurfsansicht. Antworten können getestet werden, werden aber nicht gespeichert."
preview_thanks_text: "Der Testlauf ist abgeschlossen. Antworten wurden nicht gespeichert."
results:
no_description: "Keine Beschreibung hinterlegt."
completed_submissions: "%count% abgeschlossene Teilnahmen"
participations: "%count% Teilnahmen"
questions: "%count% Fragen"
download_excel: "Ergebnisse als Excel herunterladen"
download_pdf: "Ergebnisse als PDF herunterladen"
answers: "%count% Antworten"
answered: "%count% von %total% beantwortet"
skipped: "%count% übersprungen"
answer_count: "%count%×"
response_rate: "%rate%% Rücklauf"
minimum: "Minimum"
maximum: "Maximum"
average: "Durchschnitt"
no_ratings: "Noch keine Bewertungen vorhanden."
no_text_responses: "Noch keine Freitextantworten vorhanden."
no_questions: "Für diese Umfrage sind noch keine Fragen angelegt."
pdf:
no_description: "Keine Beschreibung hinterlegt."
completed_submissions: "%count% abgeschlossene Teilnahmen"
participations: "%count% Teilnahmen"
questions: "%count% Fragen"
export_prefix: "Export %date%"
answers: "%count% Antworten"
answered: "%count% von %total% beantwortet"
skipped: "%count% übersprungen"
response_rate: "%rate%% Rücklauf"
minimum: "Minimum"
maximum: "Maximum"
average: "Durchschnitt"
chart_hint: "Die Punkte sind farblich den Werten in der Tabelle zugeordnet."
color: "Farbe"
option: "Option"
value: "Wert"
answer_group: "Antwortgruppe"
count: "Anzahl"
share: "Anteil"
no_data: "Noch keine Daten vorhanden."
no_ratings: "Noch keine Bewertungen vorhanden."
no_text_responses: "Noch keine Freitextantworten vorhanden."
no_questions_title: "Keine Fragen vorhanden"
no_questions_text: "Für diese Umfrage sind noch keine Fragen angelegt."
footer: "PDF-Export des Survey-Bundles"