Third and final batch of the shared-library strings, in the shepherd's order:
SemanticTreeLegend (4), PosterPreview (2), PosterWall (2) and
VerticalTabsLayout (2), plus PosterWall's "people groups" which already had a
key and was still typed in.
These are all LOADING and OVERFLOW states — "Loading data…", "Showing top 500 of
2,107", "use the geocoder above to find the rest", "Loading map snapshot…",
"preview unavailable", "Could not load X". Text a reader meets exactly when
something is slow or has gone wrong, which is the worst moment to be handed a
language they do not read. PosterWall's own source called one of them "i18n
DEBT" in a comment; it is paid now.
The counted ones take a placeholder rather than being split around an
interpolation — legend.showingTop is "Showing top {n} of {m}" — so a translator
can move the numbers within the sentence. Languages do not agree about where a
count goes, and a sentence assembled from fragments cannot be reordered at all.
VerticalTabsLayout needed a different shape: it is an options-API component, so
a module-level helper compiles fine and then renders nothing, because its
template can only see what the component returns. T is exposed from setup().
★ THE NEW GATE CAUGHT SOMETHING I WOULD HAVE MISSED, on its first real batch.
Adding these keys flipped two strings in
plugin-designs/pplr-data-maps/src/components/SemanticTreeLegend.vue from "no
catalogue entry" to "has a key and is still hardcoded" — that file is a COPY of
the library component I just fixed, carrying the same debt. It is another lane's
plugin so I have not touched it, and it is reported rather than quietly
baselined away. The baseline is refreshed to today's truth so the gate guards
the new line: 285 → 273 without a key, and the two copies recorded as known debt
rather than as a regression.
|
||
|---|---|---|
| .. | ||
| slots | ||
| PosterDialog.vue | ||
| PosterPreview.vue | ||
| PosterWall.vue | ||
| README.md | ||
library/components/poster/ — poster export UI
The dialog and preview surfaces that turn a live map into a printable poster. Used by
research-map.vue.
PosterDialog.vue ← pick size, orientation, title → export
PosterPreview.vue ← live preview, updates as you change settings
PosterWall.vue ← grid of poster previews
slots/ ← the composable regions of a poster (own README)
fed by useMapPoster() · sizes from constants/posterSizes.js
- Open/close state comes from
inject('uiStore'); the preview is fed byuseMapPoster(). - Page sizes:
library/constants/posterSizes.js. Defaults:library/constants/posterDefaults.js.
Full wiring + slot contract: ../../../documentation/architecture/components.md.