|
Some checks are pending
build-gate / build (push) Waiting to run
Choosing a language in the studio translated the plugins it mounts but left the studio itself in English: the title, the count, the filter box, Collapse all, the section names, Copy embed, the loading and error messages, and the rail's own Collapse button and aria labels. The studio's strings now live in library/i18n/locales/<lc>/studio.json for all 11 locales, held to key parity by check:i18n-parity like every other catalog. The studio has no vue-i18n instance, so it looks strings up directly (locale, then English, per key). The Explorer tree takes them through a `strings` prop. VerticalTabsLayout gains an optional `labels` prop for its five words; hosts that do not pass it keep the English defaults, so doxa-maps-spa is unchanged until it opts in. Verified by switching the studio through every language its switcher offers (en, es, fr, pt, ar, ru): no English left in the studio chrome. Technical names (CAP n, element tags, tier machine names in tooltips) stay as they are. |
||
|---|---|---|
| .. | ||
| app-wrapper-material | ||
| pane-wrapper | ||
| README.md | ||
| StackLayout.vue | ||
| VerticalTabsLayout.vue | ||
layouts/ — app wrappers
Each folder here is an app wrapper: a host shell that composes doxa-maps plugin-designs (the independently-built custom elements) into one application.
layouts/<wrapper>/ ← the HOST page (not a bundle)
┌──────────┬──────────────────────────────┐
│ sidebar │ mounts an app-profile here │
│ (nav.js) │ ┌──────────────┐ │
│ ├ item │ │ <doxa-map> │ ← a │
│ ├ section│ │ (a bundle) │ micro- │
│ └ folder │ └──────────────┘ frontend │
└──────────┴──────────────────────────────┘
- app-profile = a self-contained custom element (the micro-frontend). app wrapper = the host that mounts them and provides nav/chrome. A wrapper is a host page, not a bundle-in-a-bundle.
- Wrappers today:
app-wrapper-material/,pane-wrapper/. - Icons are inline SVG only (no CDN) — an F-Droid/offline hard requirement.
Sidebar contract, target filtering, sidebar modes, staging: ../documentation/architecture/app-wrappers.md.