Add German and English survey translations

This commit is contained in:
Jürgen Mummert
2026-05-24 21:24:53 +02:00
parent 6eec9ec537
commit e204da60b6
18 changed files with 498 additions and 127 deletions
@@ -1,3 +1,5 @@
{% trans_default_domain 'messages' %}
<!DOCTYPE html>
<html lang="de">
<head>
@@ -203,12 +205,12 @@
<body>
<header class="page-header">
<h1>{{ survey.title|striptags|trim }}</h1>
<p>{{ (survey.description|striptags|trim) ?: 'Keine Beschreibung hinterlegt.' }}</p>
<p>{{ (survey.description|striptags|trim) ?: 'survey.pdf.no_description'|trans }}</p>
<div class="meta-row">
<span class="meta-pill">{{ completedSubmissionCount }} abgeschlossene Teilnahmen</span>
<span class="meta-pill">{{ questionResults|length }} Fragen</span>
<span class="meta-pill">Export {{ exportedAt }}</span>
<span class="meta-pill">{{ 'survey.pdf.completed_submissions'|trans({'%count%': completedSubmissionCount}) }}</span>
<span class="meta-pill">{{ 'survey.pdf.questions'|trans({'%count%': questionResults|length}) }}</span>
<span class="meta-pill">{{ 'survey.pdf.export_prefix'|trans({'%date%': exportedAt}) }}</span>
</div>
</header>
@@ -221,15 +223,15 @@
{% endif %}
<div class="meta-row">
<span class="meta-pill">{{ question.totalAnswers }} Antworten</span>
<span class="meta-pill">{{ question.responseRate }}% Ruecklauf</span>
<span class="meta-pill">{{ 'survey.pdf.answers'|trans({'%count%': question.totalAnswers}) }}</span>
<span class="meta-pill">{{ 'survey.pdf.response_rate'|trans({'%rate%': question.responseRate}) }}</span>
</div>
{% if question.pdfChartDataUri %}
<div class="chart-box chart-{{ question.pdfChartType ?: 'default' }}">
<img src="{{ question.pdfChartDataUri }}" alt="Diagramm zu {{ question.question|striptags|trim }}">
{% if question.type == 'range' and question.pdfChartLegend %}
<div class="chart-hint">Die Punkte sind farblich den Werten in der Tabelle zugeordnet.</div>
<div class="chart-hint">{{ 'survey.pdf.chart_hint'|trans }}</div>
{% endif %}
</div>
{% endif %}
@@ -238,10 +240,10 @@
<table class="stats-table">
<thead>
<tr>
<th class="swatch-col">Farbe</th>
<th>Option</th>
<th class="numeric">Anzahl</th>
<th class="numeric">Anteil</th>
<th class="swatch-col">{{ 'survey.pdf.color'|trans }}</th>
<th>{{ 'survey.pdf.option'|trans }}</th>
<th class="numeric">{{ 'survey.pdf.count'|trans }}</th>
<th class="numeric">{{ 'survey.pdf.share'|trans }}</th>
</tr>
</thead>
<tbody>
@@ -254,7 +256,7 @@
</tr>
{% else %}
<tr>
<td colspan="4">Noch keine Daten vorhanden.</td>
<td colspan="4">{{ 'survey.pdf.no_data'|trans }}</td>
</tr>
{% endfor %}
</tbody>
@@ -263,14 +265,15 @@
<div class="metric-row">
<div class="metric-box">
<span class="metric-label">Minimum</span>
<span class="metric-label">{{ 'survey.pdf.minimum'|trans({}, 'messages') }}</span>
<span class="metric-value">{{ question.minimum is not null ? question.minimum : '-' }}</span>
</div>
<div class="metric-box">
<span class="metric-label">Maximum</span>
<span class="metric-label">{{ 'survey.pdf.maximum'|trans({}, 'messages') }}</span>
<span class="metric-value">{{ question.maximum is not null ? question.maximum : '-' }}</span>
</div>
<div class="metric-box last">
<span class="metric-label">Durchschnitt</span>
<span class="metric-label">{{ 'survey.pdf.average'|trans({}, 'messages') }}</span>
<span class="metric-value">{{ question.average is not null ? question.average : '-' }}</span>
</div>
</div>
@@ -278,10 +281,10 @@
<table class="stats-table">
<thead>
<tr>
<th class="swatch-col">Farbe</th>
<th>Wert</th>
<th class="numeric">Anzahl</th>
<th class="numeric">Anteil</th>
<th class="swatch-col">{{ 'survey.pdf.color'|trans }}</th>
<th>{{ 'survey.pdf.value'|trans }}</th>
<th class="numeric">{{ 'survey.pdf.count'|trans }}</th>
<th class="numeric">{{ 'survey.pdf.share'|trans }}</th>
</tr>
</thead>
<tbody>
@@ -294,7 +297,7 @@
</tr>
{% else %}
<tr>
<td colspan="4">Noch keine Bewertungen vorhanden.</td>
<td colspan="4">{{ 'survey.pdf.no_ratings'|trans }}</td>
</tr>
{% endfor %}
</tbody>
@@ -304,10 +307,10 @@
<table class="stats-table">
<thead>
<tr>
<th class="swatch-col">Farbe</th>
<th>Antwortgruppe</th>
<th class="numeric">Anzahl</th>
<th class="numeric">Anteil</th>
<th class="swatch-col">{{ 'survey.pdf.color'|trans }}</th>
<th>{{ 'survey.pdf.answer_group'|trans }}</th>
<th class="numeric">{{ 'survey.pdf.count'|trans }}</th>
<th class="numeric">{{ 'survey.pdf.share'|trans }}</th>
</tr>
</thead>
<tbody>
@@ -327,18 +330,18 @@
{% for response in question.responses %}
<li>{{ response|striptags|trim }}</li>
{% else %}
<li>Noch keine Freitextantworten vorhanden.</li>
<li>{{ 'survey.pdf.no_text_responses'|trans }}</li>
{% endfor %}
</ol>
{% endif %}
</section>
{% else %}
<section class="question-card">
<h2>Keine Fragen vorhanden</h2>
<p>Fuer diese Umfrage sind noch keine Fragen angelegt.</p>
<h2>{{ 'survey.pdf.no_questions_title'|trans }}</h2>
<p>{{ 'survey.pdf.no_questions_text'|trans }}</p>
</section>
{% endfor %}
<p class="footer-note">PDF-Export des Survey-Bundles</p>
<p class="footer-note">{{ 'survey.pdf.footer'|trans }}</p>
</body>
</html>