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>
45 lines
2.6 KiB
JSON
45 lines
2.6 KiB
JSON
{
|
|
"page": {
|
|
"title": "Submit Case Study | Tractatus AI Safety",
|
|
"heading": "Submit Case Study",
|
|
"description": "Share real-world examples of AI safety failures that could have been prevented by the Tractatus Framework."
|
|
},
|
|
"good_case_study": {
|
|
"heading": "What makes a good case study?",
|
|
"criteria": [
|
|
"<strong>Documented failure:</strong> Real incident with evidence (not hypothetical)",
|
|
"<strong>Clear failure mode:</strong> Specific way the AI system went wrong",
|
|
"<strong>Tractatus relevance:</strong> Shows how framework boundaries could have helped",
|
|
"<strong>Public interest:</strong> Contributes to AI safety knowledge"
|
|
]
|
|
},
|
|
"form": {
|
|
"submitter_info_heading": "Your Information",
|
|
"submitter_name_label": "Your Name",
|
|
"submitter_email_label": "Email Address",
|
|
"submitter_email_help": "We'll only use this to follow up on your submission",
|
|
"submitter_organization_label": "Organization (optional)",
|
|
"submitter_public_label": "I consent to my name being published with this case study",
|
|
"submitter_public_help": "Leave unchecked to remain anonymous",
|
|
"case_details_heading": "Case Study Details",
|
|
"case_title_label": "Case Study Title",
|
|
"case_title_help": "Brief, descriptive title (e.g., \"ChatGPT Port 27027 Failure\")",
|
|
"case_description_label": "Detailed Description",
|
|
"case_description_help": "What happened? Provide context, timeline, and outcomes",
|
|
"case_failure_mode_label": "Failure Mode",
|
|
"case_failure_mode_help": "How did the AI system fail? What specific behavior went wrong?",
|
|
"case_tractatus_label": "Tractatus Applicability",
|
|
"case_tractatus_help": "Which Tractatus boundaries could have prevented this failure? (e.g., Section 12.1 Values, CrossReferenceValidator, etc.)",
|
|
"case_evidence_label": "Evidence/Sources",
|
|
"case_evidence_help": "Links to documentation, screenshots, articles, or other evidence (one per line)",
|
|
"submit_button": "Submit Case Study",
|
|
"submit_help": "We review all submissions. High-quality case studies are published with attribution (if consented)."
|
|
},
|
|
"privacy_note": "Your submission is handled according to our <a href=\"/about/values.html\" class=\"hover:underline transition-colors text-tractatus-link\">privacy principles</a>. All case studies undergo human review before publication.",
|
|
"messages": {
|
|
"submitting": "Submitting...",
|
|
"success": "Thank you for your submission. We will review it shortly.",
|
|
"error": "An error occurred. Please try again.",
|
|
"network_error": "Network error. Please check your connection and try again."
|
|
}
|
|
}
|