- Add i18n data-i18n attributes to navbar.js (~30 elements) and expand
all 4 common.json files with navbar translation keys (EN/DE/FR/MI)
- Replace broken HuggingFace Space links with local audit analytics
dashboard across 4 HTML files; update counts to 171,800+
- Add Steering Vectors, Taonga Governance, and Home AI sections to
researcher.html, leader.html, and implementer.html
- Update stale metrics: development period (11+ months), sessions
(1,000+), instructions (68), model references (Opus 4.6)
- Update roadmap Multi-LLM status to reflect Home AI as first non-Claude
deployment; add Sovereign Training Pipeline and Taonga Registry items
- Update all EN/DE/FR translation files with new section keys
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add 'Company' section to footer with MySovereignty website links
- Link to main website (mysovereignty.digital)
- Link to Village Ecosystem page
- Link to About Us page
- Add 'Company' section to navbar mobile menu
- Link to main website (mysovereignty.digital)
- Update footer grid layout: md:grid-cols-4 → md:grid-cols-2 lg:grid-cols-5
- Include translations for all 3 languages (EN, DE, FR)
- EN: Company
- DE: Unternehmen
- FR: Entreprise
Files modified:
- public/js/components/footer.js (lines 52-62)
- public/js/components/navbar.js (lines 110-116)
- public/locales/en/common.json
- public/locales/de/common.json
- public/locales/fr/common.json
Tested locally on port 9000 - all links functional, translations verified.
Implements comprehensive GDPR compliance documentation explaining how the
Tractatus Framework enforces data protection through architectural constraints
rather than policy documents.
Key features:
- 8 sections covering GDPR Articles 5, 6, 15-22, 25, 32, 33
- Framework positioning: BoundaryEnforcer, CrossReferenceValidator, PluralisticDeliberationOrchestrator
- Full trilingual support (EN/DE/FR) via DeepL API (322 translations)
- Footer links and i18n integration across all languages
- Professional translations for legal accuracy
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
**Contact Modal:**
- Added complete DE/FR translations for contact form
- Added 17 data-i18n attributes to modal elements
- Form labels, buttons, messages now translate
- Languages: EN, DE (Nachricht senden), FR (Envoyer le message)
**Fixed Translations:**
- media-inquiry.json: Fixed "Your Name" → "Ihr Name" (DE), "Votre nom" (FR)
- common.json: Added contact_modal section with all form text
**Translations Added:**
- Modal heading, description, all form labels
- Inquiry type options (general, partnership, technical, feedback)
- Submit/cancel buttons, success/error messages
- Dynamic "Sending..." text (Senden.../Envoi en cours...)
**Technical:**
- Contact modal in footer.js now fully i18n-enabled
- Uses window.I18n.translations for dynamic content
- All text translates when language selector is used
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Full WCAG accessibility: ARIA attributes (aria-expanded, aria-controls), keyboard navigation (Enter/Space)
- Reframed research context: Berlin/Weil as primary intellectual foundation (moral pluralism, categorical imperative)
- Bibliography with proper academic citations: Weil (The Need for Roots, Gravity and Grace), Berlin (Four Essays on Liberty)
- Fixed footer i18n: Implemented recursive deepMerge() to preserve nested translation objects
- Root cause: Shallow merge {...obj1, ...obj2} was overwriting entire footer object from common.json
- Consolidated all footer translations in common.json, removed from page-specific files
- Mobile optimization: 44px/48px touch targets, touch-action: manipulation, responsive design
- Progressive enhancement: <noscript> fallback for JavaScript-disabled users
- Version 1.3.0
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
SUMMARY:
Fixed critical bug where footer displayed translation keys (e.g.,
"footer.about_heading") instead of actual text on all pages except homepage.
ROOT CAUSE:
i18n-simple.js only loaded page-specific JSON files (e.g., privacy.json).
Footer translations were in homepage.json, so other pages couldn't access them.
SOLUTION:
1. Created common.json for Shared Translations:
- Created locales/en/common.json (footer translations)
- Created locales/de/common.json (footer translations)
- Created locales/fr/common.json (footer translations)
2. Updated i18n-simple.js to Load Both:
- Always loads common.json (footer, shared UI elements)
- Loads page-specific JSON (privacy.json, about.json, etc.)
- Merges both (page-specific takes precedence)
IMPACT:
✓ Footer now displays correctly in all 3 languages on ALL pages
✓ Privacy page: Footer translates properly (en/de/fr)
✓ All pages: Footer translations work regardless of page-specific JSON
✓ Scalable: Easy to add more shared translations to common.json
TESTING:
- Verified locally on privacy.html (footer displays "Tractatus Framework")
- All 3 languages load correctly from common.json
- Page-specific translations still work (privacy content translates)
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>