Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Configure your app to support multiple languages and regions, ensuring accessibility and usability across various locales.
The localization JSON schema defines how to add support of a client language settings in the App manifest. For detailed instructions on how to enable localization for your app, refer to the App localization guidance. For instructions on how to localize an agent, see Localize agents for Microsoft 365 Copilot.
In the manifest schema, the localizationInfo
property lets developers support multiple languages for their apps using additionalLanguages
. The file
sub-property indicates the relative path to the JSON file that defines the app's supported languages.
Syntax
{
"$schema": "{string}",
"name.short": "{string}",
"name.full": "{string}",
"description.short": "{string}",
"description.full": "{string}",
"localizationKeys": {
"^\[\[[a-zA-Z_][a-zA-Z0-9_]*\]\]$": "{string}"
},
"staticTabs.name": "{string}",
"bots.commandLists.commands.title": "{string}",
"bots.commandLists.commands.description": "{string}",
"composeExtensions.commands.title": "{string}",
"composeExtensions.commands.description": "{string}",
"composeExtensions.commands.parameters.title": "{string}",
"composeExtensions.commands.parameters.description": "{string}",
"composeExtensions.commands.parameters.value": "{string}",
"composeExtensions.commands.parameters.choices.title": "{string}",
"composeExtensions.commands.taskInfo.title": "{string}",
"activities.activityTypes.description": "{string}",
"activities.activityTypes.templateText": "{string}",
"meetingExtensionDefinition.scenes.name": "{string}",
"meetingExtensionDefinition.videoFilters.name": "{string}",
"extensions.audienceClaimUrl": "{string}",
"extensions.ribbons.tabs.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.groups.icons.url": "{string}",
"extensions.ribbons.tabs.groups.label": "{string}",
"extensions.ribbons.tabs.groups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.description": "{string}",
"extensions.ribbons.tabs.groups.controls.items.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.items.label": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.description": "{string}",
"extensions.runtimes.code.page": "{string}",
"extensions.runtimes.code.script": "{string}",
"extensions.runtimes.actions.displayName": "{string}",
"extensions.alternates.alternateIcons.icon.url": "{string}",
"extensions.alternates.alternateIcons.highResolutionIcon.url": "{string}",
"extensions.getStartedMessages.title": "{string}",
"extensions.getStartedMessages.description": "{string}",
"extensions.getStartedMessages.learnMoreUrl": "{string}",
"extensions.contentRuntimes.code.page": "{string}",
"extensions.runtimes.customFunctions.functions.name": "{string}",
"extensions.runtimes.customFunctions.functions.description": "{string}",
"extensions.runtimes.customFunctions.functions.parameters.name": "{string}",
"extensions.runtimes.customFunctions.functions.parameters.description": "{string}",
"extensions.runtimes.customFunctions.namespace.name": "{string}",
"copilotAgents.customEngineAgents.disclaimer.text": "{string}"
}
{
"$schema": "{string}",
"name.short": "{string}",
"name.full": "{string}",
"description.short": "{string}",
"description.full": "{string}",
"localizationKeys": {
"^\[\[[a-zA-Z_][a-zA-Z0-9_]*\]\]$": "{string}"
},
"staticTabs.name": "{string}",
"bots.commandLists.commands.title": "{string}",
"bots.commandLists.commands.description": "{string}",
"composeExtensions.commands.title": "{string}",
"composeExtensions.commands.description": "{string}",
"composeExtensions.commands.parameters.title": "{string}",
"composeExtensions.commands.parameters.description": "{string}",
"composeExtensions.commands.parameters.value": "{string}",
"composeExtensions.commands.parameters.choices.title": "{string}",
"composeExtensions.commands.samplePrompts.text": "{string}",
"composeExtensions.commands.taskInfo.title": "{string}",
"activities.activityTypes.description": "{string}",
"activities.activityTypes.templateText": "{string}",
"meetingExtensionDefinition.scenes.name": "{string}",
"extensions.audienceClaimUrl": "{string}",
"extensions.ribbons.tabs.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.icons.url": "{string}",
"extensions.ribbons.tabs.groups.label": "{string}",
"extensions.ribbons.tabs.groups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.description": "{string}",
"extensions.ribbons.tabs.groups.controls.items.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.items.label": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.description": "{string}",
"extensions.ribbons.fixedControls.label": "{string}",
"extensions.ribbons.fixedControls.supertip.title": "{string}",
"extensions.ribbons.fixedControls.supertip.description": "{string}",
"extensions.ribbons.spamPreProcessingDialog.title": "{string}",
"extensions.ribbons.spamPreProcessingDialog.description": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamFreeTextSectionTitle": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.title": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.options": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.text": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.url": "{string}",
"extensions.runtimes.code.page": "{string}",
"extensions.runtimes.code.script": "{string}",
"extensions.runtimes.actions.displayName": "{string}",
"extensions.alternates.alternateIcons.icon.url": "{string}",
"extensions.alternates.alternateIcons.highResolutionIcon.url": "{string}",
"copilotAgents.customEngineAgents.disclaimer.text": "{string}"
}
{
"$schema": "{string}",
"name.short": "{string}",
"name.full": "{string}",
"description.short": "{string}",
"description.full": "{string}",
"localizationKeys": {
"^\[\[[a-zA-Z_][a-zA-Z0-9_]*\]\]$": "{string}"
},
"staticTabs.name": "{string}",
"bots.commandLists.commands.title": "{string}",
"bots.commandLists.commands.description": "{string}",
"composeExtensions.commands.title": "{string}",
"composeExtensions.commands.description": "{string}",
"composeExtensions.commands.parameters.title": "{string}",
"composeExtensions.commands.parameters.description": "{string}",
"composeExtensions.commands.parameters.value": "{string}",
"composeExtensions.commands.parameters.choices.title": "{string}",
"composeExtensions.commands.samplePrompts.text": "{string}",
"composeExtensions.commands.taskInfo.title": "{string}",
"activities.activityTypes.description": "{string}",
"activities.activityTypes.templateText": "{string}",
"meetingExtensionDefinition.scenes.name": "{string}",
"extensions.audienceClaimUrl": "{string}",
"extensions.ribbons.tabs.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.icons.url": "{string}",
"extensions.ribbons.tabs.groups.label": "{string}",
"extensions.ribbons.tabs.groups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.description": "{string}",
"extensions.ribbons.tabs.groups.controls.items.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.items.label": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.description": "{string}",
"extensions.ribbons.fixedControls.label": "{string}",
"extensions.ribbons.fixedControls.supertip.title": "{string}",
"extensions.ribbons.fixedControls.supertip.description": "{string}",
"extensions.ribbons.spamPreProcessingDialog.title": "{string}",
"extensions.ribbons.spamPreProcessingDialog.description": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamFreeTextSectionTitle": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.title": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.options": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.text": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.url": "{string}",
"extensions.runtimes.code.page": "{string}",
"extensions.runtimes.code.script": "{string}",
"extensions.runtimes.actions.displayName": "{string}",
"extensions.alternates.alternateIcons.icon.url": "{string}",
"extensions.alternates.alternateIcons.highResolutionIcon.url": "{string}"
}
{
"$schema": "{string}",
"name.short": "{string}",
"name.full": "{string}",
"description.short": "{string}",
"description.full": "{string}",
"localizationKeys": {
"^\[\[[a-zA-Z_][a-zA-Z0-9_]*\]\]$": "{string}"
},
"staticTabs.name": "{string}",
"bots.commandLists.commands.title": "{string}",
"bots.commandLists.commands.description": "{string}",
"composeExtensions.commands.title": "{string}",
"composeExtensions.commands.description": "{string}",
"composeExtensions.commands.parameters.title": "{string}",
"composeExtensions.commands.parameters.description": "{string}",
"composeExtensions.commands.parameters.value": "{string}",
"composeExtensions.commands.parameters.choices.title": "{string}",
"composeExtensions.commands.samplePrompts.text": "{string}",
"composeExtensions.commands.taskInfo.title": "{string}",
"activities.activityTypes.description": "{string}",
"activities.activityTypes.templateText": "{string}",
"meetingExtensionDefinition.scenes.name": "{string}",
"extensions.audienceClaimUrl": "{string}",
"extensions.ribbons.tabs.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.icons.url": "{string}",
"extensions.ribbons.tabs.groups.label": "{string}",
"extensions.ribbons.tabs.groups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.description": "{string}",
"extensions.ribbons.tabs.groups.controls.items.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.items.label": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.description": "{string}",
"extensions.ribbons.fixedControls.label": "{string}",
"extensions.ribbons.fixedControls.supertip.title": "{string}",
"extensions.ribbons.fixedControls.supertip.description": "{string}",
"extensions.ribbons.spamPreProcessingDialog.title": "{string}",
"extensions.ribbons.spamPreProcessingDialog.description": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamFreeTextSectionTitle": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.title": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.options": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.text": "{string}",
"extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.url": "{string}",
"extensions.runtimes.code.page": "{string}",
"extensions.runtimes.code.script": "{string}",
"extensions.runtimes.actions.displayName": "{string}",
"extensions.alternates.alternateIcons.icon.url": "{string}",
"extensions.alternates.alternateIcons.highResolutionIcon.url": "{string}"
}
{
"$schema": "{string}",
"name.short": "{string}",
"name.full": "{string}",
"description.short": "{string}",
"description.full": "{string}",
"localizationKeys": {
"^\[\[[a-zA-Z_][a-zA-Z0-9_]*\]\]$": "{string}"
},
"staticTabs.name": "{string}",
"bots.commandLists.commands.title": "{string}",
"bots.commandLists.commands.description": "{string}",
"composeExtensions.commands.title": "{string}",
"composeExtensions.commands.description": "{string}",
"composeExtensions.commands.parameters.title": "{string}",
"composeExtensions.commands.parameters.description": "{string}",
"composeExtensions.commands.parameters.value": "{string}",
"composeExtensions.commands.parameters.choices.title": "{string}",
"composeExtensions.commands.samplePrompts.text": "{string}",
"composeExtensions.commands.taskInfo.title": "{string}",
"activities.activityTypes.description": "{string}",
"activities.activityTypes.templateText": "{string}",
"meetingExtensionDefinition.scenes.name": "{string}",
"extensions.audienceClaimUrl": "{string}",
"extensions.ribbons.tabs.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.label": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.customMobileRibbonGroups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.icons.url": "{string}",
"extensions.ribbons.tabs.groups.label": "{string}",
"extensions.ribbons.tabs.groups.controls.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.label": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.supertip.description": "{string}",
"extensions.ribbons.tabs.groups.controls.items.icons.url": "{string}",
"extensions.ribbons.tabs.groups.controls.items.label": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.title": "{string}",
"extensions.ribbons.tabs.groups.controls.items.supertip.description": "{string}",
"extensions.runtimes.code.page": "{string}",
"extensions.runtimes.code.script": "{string}",
"extensions.runtimes.actions.displayName": "{string}",
"extensions.alternates.alternateIcons.icon.url": "{string}",
"extensions.alternates.alternateIcons.highResolutionIcon.url": "{string}"
}
Properties
$schema
The https:// URL referencing the JSON Schema for the manifest.
Type
string
Required
—
Constraints
Supported values
name.short
This property specifies a localized value for the name.short property. The short display name for the app. It replaces the corresponding string from the app manifest with the value provided here.
Type
string
Required
✅
Constraints
Maximum string length: 30.
Supported values
name.full
This property specifies a localized value for the name.full property. The full name of the app. It replaces the corresponding string from the app manifest with the value provided here.
Type
string
Required
—
Constraints
Maximum string length: 100.
Supported values
name.full
This property specifies a localized value for the name.full property. The full name of the app. It replaces the corresponding string from the app manifest with the value provided here.
Type
string
Required
✅
Constraints
Maximum string length: 100.
Supported values
description.short
This property specifies a localized value for the description.short property. A short description of the app, used when space is limited. It replaces the corresponding string from the app manifest with the value provided here.
Type
string
Required
✅
Constraints
Maximum string length: 80.
Supported values
description.full
This property specifies a localized value for the description.full property. The full description of the app. It replaces the corresponding string from the app manifest with the value provided here.
Type
string
Required
✅
Constraints
Maximum string length: 4000.
Supported values
localizationKeys
Represents custom tokenized keys for localized strings in agents. Each key is represented by a property name that matches a regular expression (with the following format: ^\[\[[a-zA-Z_][a-zA-Z0-9_]*\]\]$
) and the value provides the localized string value.
"localizationKeys": {
"DA_Name": "Agent de Communications",
"DA_Description": "Un assistant pour les professionnels de la communication et des relations publiques chez Contoso."
}
For more information, see localize your agent.
Type
object
Required
—
Constraints
Supported values
staticTabs.name
This property specifies a localized value for the staticTabs.name property. The property name should be a JSON path expression in the following form: staticTabs[0-15].name
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
bots.commandLists.commands.title
This property specifies a localized value for the bots.commandLists.commands.title property. The property name should be a JSON path expression in the following form: bots[0].commandLists[0-2].commands[0-9].title
.
Type
string
Required
—
Constraints
Maximum string length: 32.
Supported values
bots.commandLists.commands.description
This property specifies a localized value for the bots.commandLists.commands.description property. The property name should be a JSON path expression in the following form: bots[0].commandLists[0-2].commands[0-9].description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
composeExtensions.commands.title
This property specifies a localized value for the composeExtensions.commands.title property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].title
.
Type
string
Required
—
Constraints
Maximum string length: 32.
Supported values
composeExtensions.commands.description
This property specifies a localized value for the composeExtensions.commands.description property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
composeExtensions.commands.parameters.title
This property specifies a localized value for the composeExtensions.commands.parameters.title property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].parameters[0-4].title
.
Type
string
Required
—
Constraints
Maximum string length: 32.
Supported values
composeExtensions.commands.parameters.description
This property specifies a localized value for the composeExtensions.commands.parameters.description property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].parameters[0-4].description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
composeExtensions.commands.parameters.value
This property specifies a localized value for the composeExtensions.commands.parameters.value property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].parameters[0-4].value
.
Type
string
Required
—
Constraints
Maximum string length: 512.
Supported values
composeExtensions.commands.parameters.choices.title
This property specifies a localized value for the composeExtensions.commands.parameters.choices.title property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].parameters[0-4].choices[0-9].title
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
composeExtensions.commands.taskInfo.title
This property specifies a localized value for the composeExtensions.commands.taskInfo.title property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].taskInfo.title
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
activities.activityTypes.description
This property specifies a localized value for the activities.activityTypes.description property. The property name should be a JSON path expression in the following form: activities.activityTypes[0-127].description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
activities.activityTypes.templateText
This property specifies a localized value for the activities.activityTypes.templateText property. The property name should be a JSON path expression in the following form: activities.activityTypes[0-127].templateText
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
meetingExtensionDefinition.scenes.name
This property specifies a localized value for the meetingExtensionDefinition.scenes.name property. The property name should be a JSON path expression in the following form: meetingExtensionDefinition.scenes[0-4].name
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
meetingExtensionDefinition.videoFilters.name
This property specifies a localized value for the meetingExtensionDefinition.videoFilters.name property. The property name should be a JSON path expression in the following form: meetingExtensionDefinition.videoFilters[0-31].name
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.audienceClaimUrl
This property specifies a localized value for the extensions.audienceClaimUrl property. The property name should be a JSON path expression in the following form: extensions[0].audienceClaimUrl
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.ribbons.tabs.label
This property specifies a localized value for the extensions.ribbons.tabs.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].label
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.tabs.customMobileRibbonGroups.label
This property specifies a localized value for the extensions.ribbons.tabs.customMobileRibbonGroups.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].customMobileRibbonGroups[0-9].label
.
Type
string
Required
—
Constraints
Maximum string length: 32.
Supported values
extensions.ribbons.tabs.customMobileRibbonGroups.controls.icons.url
This property specifies a localized value for the extensions.ribbons.tabs.customMobileRibbonGroups.controls.icons.url property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].customMobileRibbonGroups[0-9].controls[0-19].icons[0-8].url
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.ribbons.tabs.groups.icons.url
This property specifies a localized value for the extensions.ribbons.tabs.groups.icons.url property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].icons[0-2].url
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.ribbons.tabs.groups.label
This property specifies a localized value for the extensions.ribbons.tabs.groups.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].label
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.tabs.groups.controls.icons.url
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.icons.url property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].icons[0-2].url
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.ribbons.tabs.groups.controls.label
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].label
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.tabs.groups.controls.supertip.title
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.supertip.title property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].supertip.title
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.tabs.groups.controls.supertip.description
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.supertip.description property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].supertip.description
.
Type
string
Required
—
Constraints
Maximum string length: 250.
Supported values
extensions.ribbons.tabs.groups.controls.items.icons.url
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.items.icons.url property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].items[0-19].icons[0-2].url
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.ribbons.tabs.groups.controls.items.label
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.items.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].items[0-19].label
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.tabs.groups.controls.items.supertip.title
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.items.supertip.title property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].items[0-19].supertip.title
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.tabs.groups.controls.items.supertip.description
This property specifies a localized value for the extensions.ribbons.tabs.groups.controls.items.supertip.description property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].groups[0-9].controls[0-19].items[0-19].supertip.description
.
Type
string
Required
—
Constraints
Maximum string length: 250.
Supported values
extensions.runtimes.code.page
This property specifies a localized value for the extensions.runtimes.code.page property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].code.page
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.runtimes.code.script
This property specifies a localized value for the extensions.runtimes.code.script property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].code.script
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.runtimes.actions.displayName
This property specifies a localized value for the extensions.runtimes.actions.displayName property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].actions[0-19].displayName
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.alternates.alternateIcons.icon.url
This property specifies a localized value for the extensions.alternates.alternateIcons.icon.url property. The property name should be a JSON path expression in the following form: extensions[0].alternates[0-9].alternateIcons.icon.url
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.alternates.alternateIcons.highResolutionIcon.url
This property specifies a localized value for the extensions.alternates.alternateIcons.highResolutionIcon.url property. The property name should be a JSON path expression in the following form: extensions[0].alternates[0-9].alternateIcons.highResolutionIcon.url
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.getStartedMessages.title
This property specifies a localized value for the extensions.getStartedMessages.title property. The property name should be a JSON path expression in the following form: extensions[0].getStartedMessages[0-2].title
.
Type
string
Required
—
Constraints
Maximum string length: 125.
Supported values
extensions.getStartedMessages.description
This property specifies a localized value for the extensions.getStartedMessages.description property. The property name should be a JSON path expression in the following form: extensions[0].getStartedMessages[0-2].description
.
Type
string
Required
—
Constraints
Maximum string length: 250.
Supported values
extensions.getStartedMessages.learnMoreUrl
This property specifies a localized value for the extensions.getStartedMessages.learnMoreUrl property. The property name should be a JSON path expression in the following form: extensions[0].getStartedMessages[0-2].learnMoreUrl
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.contentRuntimes.code.page
This property specifies a localized value for the extensions.contentRuntimes.code.page property. The property name should be a JSON path expression in the following form: extensions[0].contentRuntimes[].code.page
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
extensions.runtimes.customFunctions.functions.name
This property specifies a localized value for the extensions.runtimes.customFunctions.functions.name property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].customFunctions.functions[0-19999].name
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.runtimes.customFunctions.functions.description
This property specifies a localized value for the extensions.runtimes.customFunctions.functions.description property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].customFunctions.functions[0-19999].description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.runtimes.customFunctions.functions.parameters.name
This property specifies a localized value for the extensions.runtimes.customFunctions.functions.parameters.name property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].customFunctions.functions[0-19999].parameters[0-127].name
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.runtimes.customFunctions.functions.parameters.description
This property specifies a localized value for the extensions.runtimes.customFunctions.functions.parameters.description property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].customFunctions.functions[0-19999].parameters[0-127].description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.runtimes.customFunctions.namespace.name
This property specifies a localized value for the extensions.runtimes.customFunctions.namespace.name property. The property name should be a JSON path expression in the following form: extensions[0].runtimes[0-19].customFunctions.namespace.name
.
Type
string
Required
—
Constraints
Maximum string length: 32.
Supported values
copilotAgents.customEngineAgents.disclaimer.text
This property specifies a localized value for the copilotAgents.customEngineAgents.disclaimer.text property. The property name should be a JSON path expression in the following form: copilotAgents.customEngineAgents[0].disclaimer.text
.
Type
string
Required
—
Constraints
Maximum string length: 500.
Supported values
composeExtensions.commands.samplePrompts.text
This property specifies a localized value for the composeExtensions.commands.samplePrompts.text property. The property name should be a JSON path expression in the following form: composeExtensions[0].commands[0-9].samplePrompts[0-4].text
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.tabs.customMobileRibbonGroups.controls.label
This property specifies a localized value for the extensions.ribbons.tabs.customMobileRibbonGroups.controls.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].tabs[0-19].customMobileRibbonGroups[0-9].controls[0-19].label
.
Type
string
Required
—
Constraints
Maximum string length: 32.
Supported values
extensions.ribbons.fixedControls.label
This property specifies a localized value for the extensions.ribbons.fixedControls.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].fixedControls[0].label
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.fixedControls.label
This property specifies a localized value for the extensions.ribbons.fixedControls.label property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].fixedControls[].label
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.fixedControls.supertip.title
This property specifies a localized value for the extensions.ribbons.fixedControls.supertip.title property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].fixedControls[0].supertip.title
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.fixedControls.supertip.title
This property specifies a localized value for the extensions.ribbons.fixedControls.supertip.title property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].fixedControls[].supertip.title
.
Type
string
Required
—
Constraints
Maximum string length: 64.
Supported values
extensions.ribbons.fixedControls.supertip.description
This property specifies a localized value for the extensions.ribbons.fixedControls.supertip.description property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].fixedControls[0].supertip.description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.fixedControls.supertip.description
This property specifies a localized value for the extensions.ribbons.fixedControls.supertip.description property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].fixedControls[].supertip.description
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.spamPreProcessingDialog.title
This property specifies a localized value for the extensions.ribbons.spamPreProcessingDialog.title property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].spamPreProcessingDialog.title
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.spamPreProcessingDialog.description
This property specifies a localized value for the extensions.ribbons.spamPreProcessingDialog.description property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].spamPreProcessingDialog.description
.
Type
string
Required
—
Constraints
Maximum string length: 250.
Supported values
extensions.ribbons.spamPreProcessingDialog.spamFreeTextSectionTitle
This property specifies a localized value for the extensions.ribbons.spamPreProcessingDialog.spamFreeTextSectionTitle property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].spamPreProcessingDialog.spamFreeTextSectionTitle
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.title
This property specifies a localized value for the extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.title property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].spamPreProcessingDialog.spamReportingOptions.title
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.options
This property specifies a localized value for the extensions.ribbons.spamPreProcessingDialog.spamReportingOptions.options property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].spamPreProcessingDialog.spamReportingOptions.options[]
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.text
This property specifies a localized value for the extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.text property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].spamPreProcessingDialog.spamMoreInfo.text
.
Type
string
Required
—
Constraints
Maximum string length: 128.
Supported values
extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.url
This property specifies a localized value for the extensions.ribbons.spamPreProcessingDialog.spamMoreInfo.url property. The property name should be a JSON path expression in the following form: extensions[0].ribbons[0-19].spamPreProcessingDialog.spamMoreInfo.url
.
Type
string
Required
—
Constraints
Maximum string length: 2048.
Supported values
Remarks
The JSON schema uses regular expression to define how the localization file should be structured. For instance, it defines the pattern property for staticTabs
as:
"patternProperties": {
"^staticTabs\\[([0-9]|1[0-5])\\]\\.name$": {
"type": "string",
"maxLength": 128
},
}
^
asserts the start of the string, followed by the propertystaticTab
.\\[
and\\]\\
are escape characters for the square brackets.([0-9]|1[0-5])
means any digit between 0-15 is allowed.$
asserts the end of the string.
This allows up to 15 string translations of the staticTabs.name
property at a max length of 128 characters, as shown in the following example for Spanish:
{
"staticTabs[0].name": "Editeur de manifest",
"staticTabs[1].name": "Editeur de cartes",
"staticTabs[2].name": "Bibliothèque de contrôles",
}
Examples
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.Localization.schema.json",
"name.short": "Le App",
"name.full": "App pour Microsoft Teams",
"description.short": "Créez d'excellentes applications pour Microsoft Teams avec App.",
"description.full": "Créez de nouvelles applications Microsoft Teams, concevez et prévisualisez des cartes bot, et explorez la documentation avec App.",
"staticTabs[0].name": "Editeur de manifest",
"staticTabs[1].name": "Editeur de cartes",
"staticTabs[2].name": "Bibliothèque de contrôles",
"bots[0].commandLists[0].commands[0].title": "chercher",
"bots[0].commandLists[0].commands[0].description": "Rechercher la documentation Teams pertinente"
}