diff --git a/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs b/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs index 46c946081a4b..be1372dc7086 100644 --- a/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs +++ b/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs @@ -414,9 +414,12 @@ export class _ExperimentManager { lastSeen: new Date().toJSON(), featureIds, prefs, - localizations, }; + if (localizations) { + experiment.localizations = localizations; + } + if (typeof isRollout !== "undefined") { experiment.isRollout = isRollout; } diff --git a/toolkit/components/nimbus/schemas/NimbusEnrollment.schema.json b/toolkit/components/nimbus/schemas/NimbusEnrollment.schema.json index 13d568b89c6e..9f13c9094319 100644 --- a/toolkit/components/nimbus/schemas/NimbusEnrollment.schema.json +++ b/toolkit/components/nimbus/schemas/NimbusEnrollment.schema.json @@ -209,6 +209,16 @@ }, "additionalProperties": false } + }, + "localizations": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "description": "Per-locale localization substitutions.\n\nThe top level key is the locale (e.g., \"en-US\" or \"fr\"). Each entry is a mapping of string IDs to their localized equivalents.\n\nOnly supported on desktop." } }, "required": [