Adds German and French translations for form submission pages with
dynamic message handling and language selector integration.
**Pages Updated:**
- case-submission.html: Added data-i18n attributes and language selector
- media-inquiry.html: Added data-i18n attributes and language selector
**Translation Files Created:**
- EN/DE/FR for case-submission (form labels, help text, dynamic messages)
- EN/DE/FR for media-inquiry (form labels, help text, dynamic messages)
**JavaScript Updates:**
- case-submission.js: Added i18n translation helper for dynamic content
- media-inquiry.js: Added i18n translation helper for dynamic content
- Submit buttons and error messages now translate based on selected language
**Features:**
- Language flags visible in navbar for easy switching
- Form labels and help text translate on language change
- Submit button text updates during submission ("Submitting..." → "Einreichen..." in DE)
- Success/error messages display in user's selected language
- All translations via DeepL API for professional quality
**Technical Details:**
- Uses cache-busting timestamps for translation fetches (prevents stale cache)
- Submit buttons use <span data-i18n> for translatable content
- Form JavaScript uses window.i18nTranslations for dynamic text
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
29 lines
No EOL
1.6 KiB
JSON
29 lines
No EOL
1.6 KiB
JSON
{
|
|
"page": {
|
|
"title": "Medienrecherche | Tractatus AI Sicherheit",
|
|
"heading": "Medien-Anfrage",
|
|
"description": "Presse- und Medienanfragen über den Tractatus-Rahmen. Wir prüfen alle Anfragen und antworten umgehend."
|
|
},
|
|
"form": {
|
|
"contact_info_heading": "Kontaktinformationen",
|
|
"contact_name_label": "Your Name",
|
|
"contact_email_label": "E-Mail Adresse",
|
|
"contact_outlet_label": "Medienvertrieb/Organisation",
|
|
"contact_outlet_help": "Veröffentlichung, Website, Podcast oder Organisation, die Sie vertreten",
|
|
"contact_phone_label": "Telefonnummer (optional)",
|
|
"inquiry_details_heading": "Anfrage Details",
|
|
"inquiry_subject_label": "Thema",
|
|
"inquiry_message_label": "Nachricht",
|
|
"inquiry_deadline_label": "Frist (falls zutreffend)",
|
|
"inquiry_deadline_help": "Bis wann benötigen Sie eine Antwort?",
|
|
"submit_button": "Anfrage einreichen",
|
|
"submit_help": "Wir prüfen alle Medienanfragen und antworten in der Regel innerhalb von 24-48 Stunden."
|
|
},
|
|
"privacy_note": "Ihre Kontaktinformationen werden nach unseren <a href=\"/about/values.html\" class=\"hover:underline transition-colors text-tractatus-link\">Datenschutzgrundsätzen</a> behandelt. Wir geben Medienanfragen niemals an Dritte weiter.",
|
|
"messages": {
|
|
"submitting": "Einreichen...",
|
|
"success": "Vielen Dank für Ihre Anfrage. Wir werden sie prüfen und in Kürze beantworten.",
|
|
"error": "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
|
|
"network_error": "Netzwerkfehler. Bitte überprüfen Sie Ihre Verbindung und versuchen Sie es erneut."
|
|
}
|
|
} |