Files
RenewCMS/docs/design/screens/localization-list.md
T

3.4 KiB
Raw Blame History

Localization: article list and coverage

Board: RenewCMS Screens Localization. Frame: LocaleFrame. Data: locale-fixtures.js (single fixture source), tables in locale-spec.js. UI copy says "article", never "story". No revision numbers, IDs or HTTP status names in user-facing text.

L7 Article list and coverage

Route: /articles?site&lang&tab=all|missing|review&q&status&author&seo&page&size API: proposed: lang, tab=all|missing|review on GET /v1/article/ (same names as the URL)

Journal: 8 articles, 17 versions, page size 5. The list header shows the unit: "8 articles" (all languages, one row per article with its translations), "4 French versions" (language selected), "4 articles not in French" (missing tab), "7 articles need translation", "2 articles need review". Coverage chips: default language first, then other existing versions, then disabled-language versions, then dashed missing chips (only for languages the user can create). Chips collapse after 5 at 1440 and 4 at 1024 and 390, leaving a "+N" chip. Row actions are the same on every width: Open, Open another language, Add translation, Publish or Unpublish, Copy API URL, Delete version; every row has the row menu button. All state is in the URL.

ID State Trigger Selector Sizes Fixture
loc.l7.all All languages, page 1 5 of 8 articles LocaleFrame{s:{v:"li",x:"all"}} 1440, 1024, 390 Journal
loc.l7.page2 All languages, page 2 (last) 3 of 8 articles LocaleFrame{s:{v:"li",x:"page2"}} 1440, 1024, 390 Journal
loc.l7.fr French selected 4 French versions LocaleFrame{s:{v:"li",x:"fr"}} 1440, 1024, 390 Journal
loc.l7.frMissing Not in French 4 articles not in French LocaleFrame{s:{v:"li",x:"frMissing"}} 1440, 1024, 390 Journal
loc.l7.emptyMissing Nothing missing Press: all articles translated; no summary, no pager LocaleFrame{s:{v:"li",x:"emptyMissing"}} 1440, 1024, 390 Press
loc.l7.noResults No results Search "zinc"; every count 0 LocaleFrame{s:{v:"li",x:"noResults"}} 1440, 1024, 390 Journal
loc.l7.frLoading Loading Counts shown as – LocaleFrame{s:{v:"li",x:"frLoading"}} 1440, 1024, 390 Journal
loc.l7.listFail Failed Filters kept LocaleFrame{s:{v:"li",x:"listFail"}} 1440, 1024, 390 Journal
loc.l7.limited Limited access Reads English only, can't create: no dashed chips LocaleFrame{s:{v:"li",x:"limited"}} 1440, 1024, 390 Journal (limited scope)
loc.l7.review Needs review tab 2 articles need review LocaleFrame{s:{v:"li",x:"review"}} 1440, 1024, 390 Journal
loc.l7.author Author filter Marta Alves: 3 articles, chips and Clear all LocaleFrame{s:{v:"li",x:"author"}} 1440, 1024, 390 Journal
loc.l7.langFilter Language filter Enabled and Disabled groups LocaleFrame{s:{v:"li",x:"langFilter"}} 1440, 1024, 390 Journal
loc.l7.rowMenu Row menu Same actions on desktop and mobile LocaleFrame{s:{v:"li",x:"rowMenu"}} 1440, 1024, 390 Journal
loc.l7.filters Mobile filter sheet Journal, French, Draft: 2 results LocaleFrame{s:{v:"li",x:"filters"}} 1440, 1024, 390 Journal
loc.l7.tabsScroll Tabs scrolled Not in French reachable; fade and chevrons LocaleFrame{s:{v:"li",x:"tabsScroll"}} 1440, 390 Journal
loc.l7.long Eight languages, long labels, filters Atelier: chips collapse to +3, +4, +4; Draft and SEO filters LocaleFrame{s:{v:"li",x:"long"}} 1440, 1024, 390 Atelier