# EDUT Web Public-facing EDUT web surfaces and deployment specs. ## Repository Layout ```text public/ index.html store/index.html privacy/index.html terms/index.html translations/ en.json zh.json es.json ar.json fr.json pt.json de.json ja.json ru.json ko.json hi.json he.json docs/ secret-system-spec.md vision.md roadmap-membership-platform.md roadmap-status.md membership-pricing-policy.md review-notes.md platform-spec-alignment-review.md contracts/ membership-platform-interfaces.md conformance/ membership-gating-vectors.md deployment/ README.md chain-config.template.json contract-addresses.template.json schemas/ offer.v1.schema.json entitlement.v1.schema.json issuer-manifest.v1.schema.json examples/ offer.v1.example.json entitlement.v1.example.json issuer-manifest.v1.example.json README.md ``` ## Internationalization Landing-page i18n rules: - Never translated: `edut · עֵדוּת` - Localized: meaning line, descriptor, `acknowledged` label, footer labels, accessibility/AI context abstract - English authoritative at launch: privacy and terms pages Runtime behavior in `/public/index.html`: 1. Resolve language from `localStorage` or `navigator.language` 2. Match to supported locale set 3. Load `translations/.json` 4. Fallback to English 5. Persist chosen language to `localStorage` RTL handling: - Locale bundles set `dir` to `rtl` for Arabic/Hebrew. - Page layout remains LTR. - Localized nodes receive per-node direction. ## Deployment Notes If web root is `public/`, ensure `translations/` is also served at `/translations`. Example options: - copy `translations/` to web root as sibling static directory - configure server alias `/translations -> /translations` ## Legal Note `/public/privacy/index.html` and `/public/terms/index.html` are English-governing versions.