chore: redesign article localization before implementation
This commit is contained in:
1 parent
99a74dc3a2
commit
8c4a1825ab
31 files changed
+3365
-882
No files matched your search
@@ -1,14 +1,14 @@
|
||||
# Article localization implementation handoff
|
||||
|
||||
Baseline imported 2026-10-31 from `.claude/design`. This is a target design, not a statement that the feature exists. The user authorized this import and reconciliation. Feature and QA acceptance still happen per slice before implementation.
|
||||
Baseline imported 2026-10-31 and refreshed 2026-11-01 (completion pass) from `.claude/design`. This is a target design, not a statement that the feature exists. The user authorized this import and reconciliation. Feature and QA acceptance still happen per slice before implementation.
|
||||
|
||||
## Authority and imported artifacts
|
||||
|
||||
For localization, use this document for integration rules and corrections, `localization-tables.md` for the imported product tables, and `screens/localization-*.md` for the state inventory. Use `source/LocaleFrame.dc.html` for layout and rendered copy. This document supersedes conflicting board notes and older title/slug assumptions. Existing accepted `features/` behavior remains binding until a new accepted slice explicitly changes it. Report any remaining conflict at specification time; do not silently change behavior to match a mockup.
|
||||
For localization, use this document for integration rules and corrections, `localization-tables.md` (generated from `source/locale-spec.js`) for the product tables, `screens/localization-*.md` and `states.md` for the state inventory, and `localization-corrections.md` for what the last design pass rendered, inspected and left open. Use `source/LocaleFrame.dc.html` for layout and rendered copy. This document supersedes conflicting board notes and older title/slug assumptions. Existing accepted `features/` behavior remains binding until a new accepted slice explicitly changes it. Report any remaining conflict at specification time; do not silently change behavior to match a mockup.
|
||||
|
||||
Imported sources are the Localization board, LocaleFrame, locale-spec.js, and LocalizationShell. LocalizationShell is a snapshot of the exporter’s AppFrame, renamed only in LocaleFrame's import. Existing AppFrame and other board sources were not overwritten. Do not introduce a second application shell in production: continue using DashboardShell and existing editor components.
|
||||
Imported sources are the Localization board, LocaleFrame, locale-spec.js, locale-fixtures.js (the single fixture set every list, count and pager derives from), and LocalizationShell. LocalizationShell is a snapshot of the exporter’s AppFrame with the optional editor-header slots and width option added, renamed only in LocaleFrame's import. Existing AppFrame and other board sources were not overwritten. Do not introduce a second application shell in production: continue using DashboardShell and existing editor components.
|
||||
|
||||
The exported README and correction report are stale and were not imported. The connected Prototype and Handoff boards remain unchanged and do not demonstrate localization. This written handoff replaces the missing localization handoff, not the missing interactive prototype. No rendered visual parity, keyboard flow, browser console check or production test is claimed by this import.
|
||||
The LocaleLive prototype was deliberately not imported. The Prototype and Handoff boards remain unchanged and do not demonstrate localization. This written handoff replaces the missing localization handoff, not the missing interactive prototype. No rendered visual parity, keyboard flow, browser console check or production test is claimed by this import.
|
||||
|
||||
## Product model
|
||||
|
||||
@@ -82,7 +82,7 @@ Content revision changes include title/body/excerpt/slug/alt/SEO/social text. Au
|
||||
|
||||
## Visual validation and implementation gaps
|
||||
|
||||
The board contains 12 groups and 109 states. Screen files map stable IDs to exported selectors. Markups are illustrations, not production accessible controls. Implement actual Nuxt UI input/menu/tab behavior. Retain the full existing editor toolbar; the shortened mockup toolbar does not authorize removing features.
|
||||
The board contains 15 groups and 169 states (L6 and L9 are release 2). Screen files map stable IDs to exported selectors. Markups are illustrations, not production accessible controls. Implement actual Nuxt UI input/menu/tab behavior. Retain the full existing editor toolbar; the shortened mockup toolbar does not authorize removing features.
|
||||
|
||||
The existing visual checker must be extended to discover localization's groups, state tables and 1024px reference where needed, with scoped fixtures and API mocks. Do not claim `task visual:check` can already verify the import. No threshold increases or exceptions are authorized. Clock-sensitive skips only apply to states whose rendering actually depends on current time, not whole features containing dates.
|
||||
|
||||
@@ -101,3 +101,18 @@ Known board limitations to settle in the relevant accepted slice: partial sample
|
||||
9. Atomic story moves/deletion and integration regression coverage.
|
||||
|
||||
Split further to keep accepted slices reviewable. Include required backend support before each SPA slice. Each slice follows specifier acceptance → coder → size-gated cleaner/architect → hardener → qa. This order is planning guidance, not acceptance of Gherkin or permission to skip a gate.
|
||||
|
||||
## Open decisions and known design gaps (2026-11-01)
|
||||
|
||||
Settle these during specification of the slice named, before coding.
|
||||
|
||||
| Topic | Gap | Slice |
|
||||
| --- | --- | --- |
|
||||
| Setup route | The route is `/settings/sites/:key/languages/setup` but the page lists every site, and the proposed setup API is global. Decide one global page reached from a per-site banner, or a per-site page. | Languages and setup |
|
||||
| Article-level delete copy | The design uses "article" for the whole group of translations and for a single version. "Delete article" must say it removes all translations, and the dialog names the readable languages. Needs a copy change in the frames. | Editor |
|
||||
| Conflict dialog weight | "Save over theirs" and "Reload theirs" have equal weight. Add a destructive cue to "Save over theirs". Needs a frame change. | Editor |
|
||||
| Visual coverage | About 45 of the 169 states were rendered and inspected by the designer (see `localization-corrections.md`). Icons were never checked. Unseen frames may be broken; the visual check will reveal them. | All SPA slices |
|
||||
| Header widths | Editor header widths between 1024 and 1440 are specified, not drawn. The checker captures 1440, 1024 and 390 only. | Editor |
|
||||
| Mobile Languages rows | Rows are taller than needed. Tune in implementation. | Languages and setup |
|
||||
| Partial fixtures | Archive, Notes and Gallery exist only as single states. | Languages and setup |
|
||||
|
||||
Reference in new issue
Block a user