tractatus/public/locales/de/media-inquiry.json
TheFlow b21cda335d feat(i18n): add multilingual support to case-submission and media-inquiry pages
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>
2025-10-26 16:41:54 +13:00

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."
}
}