RendererLanguageInputs
What the browser could tell us about which language to render in, reported RAW so the server decides rather than the client.
Every asset type resolves language the same way — an explicit ?data-lang, then the page's own
<html lang>, then the contact's stated preference, then each browser language in turn — and
that arbitration lives server-side for two reasons. It keeps forms, landing pages and CTAs from
drifting apart, and it makes PROVENANCE derived rather than asserted: only a language the PAGE
declared may later be written back onto the contact, and the submission endpoint is public and
unauthenticated, so a claimed provenance would be a way to write a language onto somebody.
Omit entirely for older bundles, which send the single resolved language argument instead.
input RendererLanguageInputs {
dataLang: String
htmlLang: String
browser: [String!]
}
Fields
RendererLanguageInputs.dataLang ● String scalar
The ?data-lang query parameter, verbatim. An explicit instruction for this render.
RendererLanguageInputs.htmlLang ● String scalar
The page's own <html lang> attribute, verbatim.
RendererLanguageInputs.browser ● [String!] list scalar
navigator.languages in the browser's own order — a second choice still counts.
Member Of
callToActionForRenderer query ● formForRenderer query ● landingPageForRenderer query


