Files
RenewCMS/docs/design/localization-changelog.md
T

10 KiB
Raw Blame History

Localization board changelog (pass 3)

Board: RenewCMS Screens Localization. Frame: LocaleFrame. Spec: locale-spec.js. State IDs are unchanged; seven IDs moved to a different frame selector (marked "selector"). 183 states in 16 groups (was 169 after the corrections pass).

Where a board and the spec disagreed, the spec won. Decisions the spec did not make are marked Decided. Frames were redrawn from code and not compared against the shipped app, so each Decided item is the thing to check first.

A. Redrawn to match the spec

ID Expected copy and layout
loc.l8.saveFailPublish Error banner above the editor: "Couldn't save French" / "Your changes are kept here. Nothing was published. Try saving again." Badge "Save failed", primary "Try saving again". Error toast: "Couldn't save French" / "Nothing was published. Your changes are kept. Try again."
loc.l8.done Info banner "This version is online. Saving updates the live page right away." Badge Published, status "Saved". Toast "French published" / "Other versions weren't changed."
loc.l4.empty Start empty selected. Source version reads "No source", help "Optional. Freshness shows No source until you pick a tracked source in the editor."
loc.l4.unreadable Alert "The source isn't available to you" / "Choose another source you can read, or start empty. Your title is kept." Source version "Choose a version", error "Choose a version you can read." Create disabled
loc.l3.translation Same fields as Add translation: kind radios (Translation selected), Article ("No French version yet."), Language ("Only enabled languages this article doesn't have yet."), Source version, "Title in French", Starting content (Start empty / Copy from English, selected). Button "Create French draft"
loc.l11b.moveSlug Alert "An address is already used on Atelier" / "An address must be unique within its language on Atelier. Change the address below, then move again. Nothing was moved." Then "Conflicting version": French, the address in mono, "Edit slug". Note "Only versions you can read are named."
loc.conflict (and every dialog built from it) "Save over theirs" is outlined in --ui-error with a triangle-alert icon and an error-colour title icon. Keep my changes stays the only filled button
Chip row, Articles list The stray "0" came from m && shift && … rendering the number 0 in the mobile tab strip. Fixed with !!shift. Filter chips keep width:max-content
loc.l7.* (all list states) Pager is AppPaginator (see components.md). Desktop: "Showing 1–5 of 8", "5 per page", first, previous, 1 2, next, last. 390: summary and select, then Previous, "Page 2 of 2", Next. +N overflow chip keeps 22 px visual height and gets a 44 px tap area at 390. The tab strip is no longer shifted by the stray character

B. Redrawn inside the AppFrame

ID Now
loc.seo.noFallback, loc.url.unset, loc.l10.noSocial Editor in the shell, with the Search and sharing slide-over (960 px; bottom sheet 92% at 390)
loc.slug.published Edit slug dialog over the same slide-over
loc.l12.seoPreview (selector v:seo x:preview), loc.l12.siteFallback (selector v:seo x:siteFallback) Same slide-over; siteFallback shows French and Arabic versions side by side as cards
loc.l10.api Integration page: sidebar item Integration active, breadcrumb "Integration"
loc.l12.media Media page (grid, one card selected) with the 420 px image detail panel: "Used in 2 articles · 4 versions · 1 file". Bottom sheet at 390
loc.l12.menu (selector v:li x:menuLang) Articles list, French selected, row menu open: Open French, Open another language…, Publish French, Copy API URL, Delete French version (danger). 390: bottom sheet
loc.l12.apiCopy (selector v:li x:apiCopy) Articles list with toast "API URL copied" / "/v1/article/14?lang=fr". 390: toast across the bottom with 16 px margins
loc.l1.single "Social locale" and "Derived: pt_BR" on their own line at 390. The value was previously empty and is now drawn

C. Missing frames and copy

Item Decision
Banners save failed, publish failed and online banners as in the Copy decisions table of the board
Row menu All languages: Open , Open another language…, Add translation…, Unpublish , Copy API URL, Delete version. Language selected: Publish or Unpublish replaces Add translation…
Disabled-language picker New state loc.l5.menuDisabled. Spanish row shows Draft and a Disabled tag. Footer: "Spanish is disabled on this site. Its version stays readable and editable. It can't be published until an owner re-enables Spanish."
Setup done "Languages assigned" / "16 articles now have a language. Nothing was translated, and no articles were grouped."
Version count line, 390 Decided: shown, on its own line under each language name ("4 versions · 2 published"). Desktop unchanged
Public URL preview Decided: site default language. Uses the most recently updated article that has a version in the default language. Journal: https://journal.example.com/en/how-we-price-a-bathroom-renovation. A site with no articles previews a sample address. The Valid example in the spec changed from the French address
invalid_host New state loc.l1b.invalidHost. Pattern https://journal..example.com/{lang}/{slug}. Message "Enter a valid host name, such as journal.example.com." Added to the 422 list
site.* activity labels Added to the Activity frame and the board table: site.language.add "Added French to Journal"; .enable "Re-enabled Spanish on Journal"; .disable "Disabled German on Journal"; .remove "Removed Italian from Journal"; .default "Made French the default language of Journal"; .social_locale "Set the social locale for French on Journal to fr_FR"; site.public_url.update "Changed the public URL pattern of Journal"; site.language.setup "Assigned languages to 16 articles on Journal, Notes and Archive"; article.move "Moved "