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
1.4 KiB
JSON
29 lines
1.4 KiB
JSON
{
|
|
"page": {
|
|
"title": "Media Inquiry | Tractatus AI Safety",
|
|
"heading": "Media Inquiry",
|
|
"description": "Press and media inquiries about the Tractatus Framework. We review all inquiries and respond promptly."
|
|
},
|
|
"form": {
|
|
"contact_info_heading": "Contact Information",
|
|
"contact_name_label": "Your Name",
|
|
"contact_email_label": "Email Address",
|
|
"contact_outlet_label": "Media Outlet/Organization",
|
|
"contact_outlet_help": "Publication, website, podcast, or organization you represent",
|
|
"contact_phone_label": "Phone Number (optional)",
|
|
"inquiry_details_heading": "Inquiry Details",
|
|
"inquiry_subject_label": "Subject",
|
|
"inquiry_message_label": "Message",
|
|
"inquiry_deadline_label": "Deadline (if applicable)",
|
|
"inquiry_deadline_help": "When do you need a response by?",
|
|
"submit_button": "Submit Inquiry",
|
|
"submit_help": "We review all media inquiries and typically respond within 24-48 hours."
|
|
},
|
|
"privacy_note": "Your contact information is handled according to our <a href=\"/about/values.html\" class=\"hover:underline transition-colors text-tractatus-link\">privacy principles</a>. We never share media inquiries with third parties.",
|
|
"messages": {
|
|
"submitting": "Submitting...",
|
|
"success": "Thank you for your inquiry. We will review and respond shortly.",
|
|
"error": "An error occurred. Please try again.",
|
|
"network_error": "Network error. Please check your connection and try again."
|
|
}
|
|
}
|