Files
RenewCMS/docs/design/screens/localization-metadata-api.md
T

1.7 KiB

Localization: metadata and public API

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.

L10 Metadata and public API

Route: Search and sharing panel · /integration API: existing slug, SEO fields; proposed alternates[], lang; exact lookup by site + lang + slug; resolution by story_id

Slug is unique per (site, lang). Exact lookup is by site + language + slug and never falls back. Language resolution and fallback use the stable story_id. Website URLs come from the site's Public URL pattern; without it the panel says "Public URL not configured" and links to the setting. Canonical is the localized page itself unless an override is set. SEO labels: "Fallback: French title", "No fallback", "Empty. English site default not used."

ID State Trigger Selector Sizes Fixture
loc.seo.noFallback Search and sharing: French Localized slug, canonical, alternates, fallback labels, Edit slug LocaleFrame{s:{v:"seo",x:""}} 1440, 390 Journal
loc.slug.published Edit slug Published version: warning about old links LocaleFrame{s:{v:"seo",x:"editSlug"}} 1440, 390 Journal
loc.url.unset Public URL not configured No pattern, no fabricated URL LocaleFrame{s:{v:"seo",x:"unset"}} 1440, 390 Journal
loc.l10.noSocial Social locale not set fr has no region and none is set: og:locale omitted LocaleFrame{s:{v:"seo",x:"noSocial"}} 1440, 390 Journal
loc.l10.api Integration: languages Exact lookup, resolve by article group, errors LocaleFrame{s:{v:"api",x:""}} 1440, 390 Journal