Localization
incubatingStatus of this Document
This report was published by the User Journal Graph Community Group . It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups .
Status: incubating supported extension for localization metadata on UJG nodes.
This page provides an exploratory payload shape for localization concerns such as message keys, locale overrides, and fallback behavior. The schema and examples below are informative brainstorming material, not normative conformance artifacts.
1. Namespace
Canonical namespace string:
https://ujg.specs.openuji.org/ed/extensions/l10nPayload location:
extensions["https://ujg.specs.openuji.org/ed/extensions/l10n"]
2. Scope
Applicable UJG objects:
NodeLikely attachment points:
ExperienceStep,Touchpoint,PainPoint
3. Exploratory JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ujg.specs.openuji.org/ed/extensions/l10n/schema",
"title": "UJG Localization Extension Payload",
"type": "object",
"additionalProperties": false,
"properties": {
"version": { "type": "string" },
"namespace": { "type": "string" },
"messageKey": { "type": "string" },
"defaultLocale": { "type": "string" },
"fallbackLocales": {
"type": "array",
"items": { "type": "string" }
},
"rtl": { "type": "boolean" },
"locales": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": { "type": "string" }
}
}
},
"required": ["messageKey"]
} {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://ujg.specs.openuji.org/ed/extensions/l10n/schema",
"title": "UJG Localization Extension Payload",
"type": "object",
"additionalProperties": false,
"properties": {
"version": { "type": "string" },
"namespace": { "type": "string" },
"messageKey": { "type": "string" },
"defaultLocale": { "type": "string" },
"fallbackLocales": {
"type": "array",
"items": { "type": "string" }
},
"rtl": { "type": "boolean" },
"locales": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": { "type": "string" }
}
}
},
"required": ["messageKey"]
} 4. Example
{
"@id": "https://example.com/steps/order-confirmation",
"@type": "ExperienceStep",
"extensions": {
"https://ujg.specs.openuji.org/ed/extensions/l10n": {
"version": "0.1.0",
"namespace": "checkout.confirmation",
"messageKey": "order.confirmation.title",
"defaultLocale": "en",
"fallbackLocales": ["en", "de"],
"rtl": false,
"locales": {
"en": {
"title": "Order confirmed",
"subtitle": "Your receipt is on the way."
},
"de": {
"title": "Bestellung bestaetigt",
"subtitle": "Ihre Quittung ist unterwegs."
}
}
}
}
} {
"@id": "https://example.com/steps/order-confirmation",
"@type": "ExperienceStep",
"extensions": {
"https://ujg.specs.openuji.org/ed/extensions/l10n": {
"version": "0.1.0",
"namespace": "checkout.confirmation",
"messageKey": "order.confirmation.title",
"defaultLocale": "en",
"fallbackLocales": ["en", "de"],
"rtl": false,
"locales": {
"en": {
"title": "Order confirmed",
"subtitle": "Your receipt is on the way."
},
"de": {
"title": "Bestellung bestaetigt",
"subtitle": "Ihre Quittung ist unterwegs."
}
}
}
}
}