# EDUT Web Public-facing EDUT web surfaces and deployment specs. ## Repository Layout ```text public/ index.html downloads/desktop/index.html downloads/ios/index.html downloads/android/index.html store/index.html store/offers.json trust/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 membership-tier-extension.md availability-boundary-model.md wallet-ownership-payment-model.md catalog-distribution-policy.md failure-state-matrix.md legal-copy-matrix.md localization-qa-matrix.md mobile-wallet-handoff.md chain-operations-runbook.md security-hardening-checklist.md policy-hash-versioning.md integration-test-plan.md implementation-mapping.md public-trust-page-spec.md migration-policy-v1-to-v2.md issuer-onboarding-pack.md launcher-free-tier-spec.md release-gate.md app-channel-spec.md governance-install-spec.md repo-boundary-blueprint.md repo-split-publish-runbook.md review-notes.md platform-spec-alignment-review.md contracts/ membership-platform-interfaces.md conformance/ membership-gating-vectors.md member-channel-vectors.md governance-install-vectors.md availability-boundary-vectors.md deployment/ README.md public-surface-checklist.md chain-config.template.json contract-addresses.template.json environment-invariants.md api/ secret-system.openapi.yaml marketplace.openapi.yaml member-channel.openapi.yaml governance-installer.openapi.yaml examples/ secret-system.examples.md marketplace.examples.md member-channel.examples.md governance-installer.examples.md handoff/ membership-backend-checklist.md marketplace-backend-checklist.md member-channel-backend-checklist.md governance-backend-checklist.md schemas/ offer.v1.schema.json entitlement.v1.schema.json issuer-manifest.v1.schema.json evidence-receipt.v1.schema.json launch-offers-catalog.v1.schema.json examples/ offer.v1.example.json entitlement.v1.example.json issuer-manifest.v1.example.json launch-offers-catalog.v1.example.json README.md ``` ## Scripts 1. `scripts/publish_split_repos.sh` - creates/pushes `launcher`, `governance`, `contracts` repos using either a provided Gitea PAT or git credential-helper auth for `git.workvsg.com`. ## 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.