Преглед изворни кода

fix: adjust language to informal 'Du' and prefix freetext with 'Sonstiges: '

AI пре 2 дана
родитељ
комит
3ac6137dde
5 измењених фајлова са 20 додато и 20 уклоњено
  1. 3 3
      answer.php
  2. 5 5
      assets/js/create.js
  3. 5 5
      create.php
  4. 1 1
      docs/ai_spec.md
  5. 6 6
      submit.php

+ 3 - 3
answer.php

@@ -58,15 +58,15 @@ if ($edit_id) {
                     <p style="margin-bottom:1rem; color:var(--brand-muted);"><?= nl2br(htmlspecialchars($form_data['description'])) ?></p>
                 <?php endif; ?>
                 
-                <h3 style="border-bottom: 1px solid var(--brand-border); padding-bottom: 0.5rem; margin-bottom: 1rem;">Ihre Daten</h3>
+                <h3 style="border-bottom: 1px solid var(--brand-border); padding-bottom: 0.5rem; margin-bottom: 1rem;">Deine Daten</h3>
                 
                 <div class="form-group">
-                    <label for="respondent_name">Ihr Name *</label>
+                    <label for="respondent_name">Dein Name *</label>
                     <input type="text" id="respondent_name" name="respondent_name" required>
                 </div>
                 
                 <div class="form-group">
-                    <label for="respondent_email">Ihre E-Mail (Optional, um eine Kopie zu erhalten)</label>
+                    <label for="respondent_email">Deine E-Mail (Optional, um eine Kopie zu erhalten)</label>
                     <input type="email" id="respondent_email" name="respondent_email">
                 </div>
             </div>

+ 5 - 5
assets/js/create.js

@@ -46,7 +46,7 @@ function addQuestion(type) {
         </div>
         <div class="form-group" style="margin-bottom:0;">
             <label>Fragetext</label>
-            <input type="text" class="question-label" required placeholder="Geben Sie hier Ihre Frage ein">
+            <input type="text" class="question-label" required placeholder="Gib hier deine Frage ein">
         </div>
     `;
 
@@ -75,7 +75,7 @@ function removeQuestion(btn) {
     btn.closest('.builder-item').remove();
     const canvas = document.getElementById('builder-canvas');
     if (canvas.children.length === 0) {
-        canvas.innerHTML = '<div class="alert alert-info" id="empty-state">Noch keine Fragen hinzugefügt. Verwenden Sie die Schaltflächen oben.</div>';
+        canvas.innerHTML = '<div class="alert alert-info" id="empty-state">Noch keine Fragen hinzugefügt. Verwende die Schaltflächen oben.</div>';
     }
 }
 
@@ -85,7 +85,7 @@ function prepareSubmission(e) {
     
     if (items.length === 0) {
         e.preventDefault();
-        alert("Bitte fügen Sie mindestens eine Frage hinzu.");
+        alert("Bitte füge mindestens eine Frage hinzu.");
         return;
     }
 
@@ -126,13 +126,13 @@ function prepareSubmission(e) {
 
     if (hasEmptyLabel) {
         e.preventDefault();
-        alert("Bitte füllen Sie alle Fragetexte aus.");
+        alert("Bitte fülle alle Fragetexte aus.");
         return;
     }
 
     if (hasEmptyOptions) {
         e.preventDefault();
-        alert("Bitte geben Sie mindestens eine Option für Ihre Auswahlfragen an.");
+        alert("Bitte gib mindestens eine Option für deine Auswahlfragen an.");
         return;
     }
     

+ 5 - 5
create.php

@@ -53,11 +53,11 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
 
         // Send email if provided
         if (!empty($admin_email) && filter_var($admin_email, FILTER_VALIDATE_EMAIL)) {
-            $subject = "Ihr Intranet Formular ist bereit: $title";
-            $email_body = "Guten Tag,\n\nIhr Formular '$title' wurde erfolgreich erstellt.\n\n";
+            $subject = "Dein Intranet Formular ist bereit: $title";
+            $email_body = "Hallo,\n\nDein Formular '$title' wurde erfolgreich erstellt.\n\n";
             $email_body .= "Öffentlicher Link (zum Teilen):\n$answer_link\n\n";
             $email_body .= "Geheimer Admin-Link (für Antworten):\n$admin_link\n\n";
-            $email_body .= "Bitte geben Sie den Admin-Link nicht weiter.\n\nVielen Dank.";
+            $email_body .= "Bitte gib den Admin-Link nicht weiter.\n\nVielen Dank.";
             $headers = "From: no-reply@" . $host . "\r\n";
             @mail($admin_email, $subject, $email_body, $headers);
         }
@@ -118,7 +118,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
                     </div>
                     <div class="form-group">
                         <label for="description">Beschreibung (Optional)</label>
-                        <textarea id="description" name="description" rows="3" placeholder="Erklären Sie den Zweck dieses Formulars"></textarea>
+                        <textarea id="description" name="description" rows="3" placeholder="Erkläre den Zweck dieses Formulars"></textarea>
                     </div>
                     <div class="form-group">
                         <label for="admin_email">Admin-E-Mail (Optional)</label>
@@ -139,7 +139,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
                     </div>
                     
                     <div id="builder-canvas">
-                        <div class="alert alert-info" id="empty-state">Noch keine Fragen hinzugefügt. Verwenden Sie die Schaltflächen oben, um eine Frage hinzuzufügen.</div>
+                        <div class="alert alert-info" id="empty-state">Noch keine Fragen hinzugefügt. Verwende die Schaltflächen oben, um eine Frage hinzuzufügen.</div>
                     </div>
                     
                     <input type="hidden" name="questions" id="questions_input" value="[]">

+ 1 - 1
docs/ai_spec.md

@@ -9,7 +9,7 @@ This application serves as a strictly localized web form engine.
 Its primary constraint is **No Database**. All states, identities, responses, and settings must be mapped dynamically to JSON files. 
 
 ## Language Requirement Contract
-The target group operates in German context. **All front-end user interfaces, prompts, notifications, and labels must be written in formal German (Sie).**
+The target group operates in German context. **All front-end user interfaces, prompts, notifications, and labels must be written in informal German (Du).**
 
 ## Data Interface Contract
 All data payloads process through `/data`. Any newly introduced state requires modifying this abstraction carefully without abandoning `.htaccess` safeguards.

+ 6 - 6
submit.php

@@ -36,7 +36,7 @@ if ($is_post) {
             $idx = array_search('__freetext__', $val);
             if ($idx !== false) {
                 if (!empty($answers_freetext[$q_id])) {
-                    $val[$idx] = $answers_freetext[$q_id];
+                    $val[$idx] = "Sonstiges: " . ltrim($answers_freetext[$q_id]);
                 } else {
                     unset($val[$idx]); // they selected 'Sonstiges' but left it blank
                 }
@@ -45,7 +45,7 @@ if ($is_post) {
         } else {
             if ($val === '__freetext__') {
                 if (!empty($answers_freetext[$q_id])) {
-                    $answers[$q_id] = $answers_freetext[$q_id];
+                    $answers[$q_id] = "Sonstiges: " . ltrim($answers_freetext[$q_id]);
                 } else {
                     $answers[$q_id] = ''; // blank fallback
                 }
@@ -76,8 +76,8 @@ if ($is_post) {
     
     // Email notification if provided
     if (!empty($respondent_email) && filter_var($respondent_email, FILTER_VALIDATE_EMAIL)) {
-        $subject = "Ihre Einsendung für: " . $form_data['title'];
-        $body = "Hallo $respondent_name,\n\nVielen Dank für Ihre Einsendung.\nHier sind Ihre Antworten:\n\n";
+        $subject = "Deine Einsendung für: " . $form_data['title'];
+        $body = "Hallo $respondent_name,\n\nVielen Dank für deine Einsendung.\nHier sind deine Antworten:\n\n";
         
         foreach ($answers as $q_id => $val) {
             $label = $questions_map[$q_id] ?? 'Frage';
@@ -134,9 +134,9 @@ $answer_data = json_decode(file_get_contents($answer_file), true);
     <main class="container">
         <?php if ($success): ?>
             <div class="alert alert-success mt-3 mb-3">
-                Ihre Antwort wurde erfolgreich gespeichert.
+                Deine Antwort wurde erfolgreich gespeichert.
                 <?php if (!empty($answer_data['respondent_email'])): ?>
-                    <br><small>Eine Kopie Ihrer Antworten wurde gesendet an <?= htmlspecialchars($answer_data['respondent_email']) ?>.</small>
+                    <br><small>Eine Kopie deiner Antworten wurde gesendet an <?= htmlspecialchars($answer_data['respondent_email']) ?>.</small>
                 <?php endif; ?>
             </div>
         <?php endif; ?>