diff --git a/msteams-platform/bots/bot-features.md b/msteams-platform/bots/bot-features.md index f170bdb7277..0b741ca0dce 100644 --- a/msteams-platform/bots/bot-features.md +++ b/msteams-platform/bots/bot-features.md @@ -75,7 +75,7 @@ Bots work better in a channel in the following cases: Group chats are non-threaded conversations between three or more people. They tend to have fewer members than a channel and are more transient. Similar to a channel, your bot only has access to messages where it's `@mentioned` directly. -In the cases where bots work better in a channel also work better in a group chat. +Bots that work better in a channel also work better in a group chat. ### In a one-to-one chat @@ -228,7 +228,7 @@ protected override async Task OnMessageActivityAsync(ITurnContext { // MessageFactory.text(): Specifies the type of text data in a message attachment. - await context.sendActivity(MessageFactory.text("Your message is:" + context.activity.text)); + await context.sendActivity(MessageFactory.text("Your message is: " + context.activity.text)); await next(); }); ``` @@ -240,7 +240,7 @@ this.onMessage(async (context, next) => { |Sample name | Description | .NETCore | Node.js | Python| Manifest |----------------|-----------------|--------------|----------------|-------|-------| | Teams conversation bot | This sample app shows how to use different bot conversation events available in bot framework v4. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation/csharp)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-conversation/python)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-conversation/csharp/demo-manifest/bot-conversation.zip)| -| Bot samples | Set of bot framework v4 samples | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples#bots-samples-using-the-v4-sdk)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples#bots-samples-using-the-v4-sdk)| +| Bot samples | Set of bot framework v4 samples. | [View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples) |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples#bots-samples-using-the-v4-sdk)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples#bots-samples-using-the-v4-sdk)| ## Next step diff --git a/msteams-platform/concepts/build-and-test/apps-localization.md b/msteams-platform/concepts/build-and-test/apps-localization.md index 9db6e411120..7b440f729fd 100644 --- a/msteams-platform/concepts/build-and-test/apps-localization.md +++ b/msteams-platform/concepts/build-and-test/apps-localization.md @@ -3,7 +3,7 @@ title: App Localization - Factors to Consider description: Learn considerations for localizing your Microsoft Teams app, localize strings in your app manifest, and handle localized text submissions from your users. ms.topic: conceptual ms.localizationpriority: medium -ms.date: 05/15/2018 +ms.date: 10/17/2024 --- # Localize your app @@ -44,6 +44,8 @@ Add the `localizationInfo` property with the default language that your applicat > [!NOTE] > Manifest version must be same for both manifest.json and localization.json files. +Starting with app manifest v1.19, Copilot agents are also localizable. For more information, see [Localizing your agent](/microsoft-365-copilot/extensibility/agents-are-apps#localizing-your-agent) in Microsoft 365 Copilot extensibility documentation. + ### Example manifest.json change The following `manifest.json` helps to add the `localizationInfo` property with the default language that your application supports along with `additionalLanguages`: diff --git a/msteams-platform/m365-apps/cards-loop-component.md b/msteams-platform/m365-apps/cards-loop-component.md index 2db345aa2fa..30222949e9b 100644 --- a/msteams-platform/m365-apps/cards-loop-component.md +++ b/msteams-platform/m365-apps/cards-loop-component.md @@ -9,9 +9,7 @@ ms.date: 10/11/2024 # Adaptive Card-based Loop components > [!NOTE] -> -> * Adaptive Card-based Loop components require Adaptive Card schema version 1.6 or later. -> * Adaptive Card-based Loop components aren't available in Microsoft Teams and Microsoft Outlook on macOS and mobile clients. +> Adaptive Card-based Loop components aren't available in Microsoft Teams and Microsoft Outlook on macOS and mobile clients. Adaptive Card-based Loop components enable you to build collaborative experiences within your Teams message extensions that work across Microsoft 365. Adaptive Card-based Loop components have actionable content that enables users to make live updates without having to switch contexts between Microsoft 365 apps, such as Teams and Outlook. diff --git a/msteams-platform/mstdd-landing.yml b/msteams-platform/mstdd-landing.yml index f3b210be805..c9fe2789bed 100644 --- a/msteams-platform/mstdd-landing.yml +++ b/msteams-platform/mstdd-landing.yml @@ -61,6 +61,10 @@ landingContent: linkLists: - linkListType: whats-new links: + - text: Introducing app manifest v1.19 with copilotAgents, declarativeAgents, and defaultLanguageFile. + url: ./resources/schema/manifest-schema.md + - text: Localize your Copilot agents + url: /microsoft-365-copilot/extensibility/agents-are-apps#localizing-your-agent - text: Build a personal tab with offline functionality url: tabs/how-to/create-personal-tab.md#offline-tabs - text: Specify runtime requirements so your app only runs in applicable Microsoft 365 hosts (Developer preview) @@ -77,10 +81,6 @@ landingContent: url: apps-in-teams-meetings/build-apps-for-teams-meeting-stage.md#screen-share-content-to-meetings - text: Extend bot-based message extension plugins to Teams meetings url: messaging-extensions/build-bot-based-plugin.md#enable-message-extension-as-a-plugin-for-copilot-for-meetings - - text: Introduced AI label, citations, feedback buttons, and sensitivity labels in bot messages - url: bots/how-to/format-ai-bot-messages.md - - text: Static tabs are generally available for chats, channels, and meetings - url: tabs/what-are-tabs.md - linkListType: reference links: diff --git a/msteams-platform/resources/schema/localization-schema.md b/msteams-platform/resources/schema/localization-schema.md index 055b4d4db64..87acfbc1482 100644 --- a/msteams-platform/resources/schema/localization-schema.md +++ b/msteams-platform/resources/schema/localization-schema.md @@ -1,29 +1,29 @@ --- -title: Localize JSON Schema Properties -description: Learn about the localization JSON schema supported by the localization file for Microsoft Teams including schema properties and versions. +title: Localize JSON Schema Reference +description: Describes the localization schema supported by the localization file for Microsoft Teams using an example schema ms.topic: reference ms.localizationpriority: medium -ms.date: 05/20/2019 +ms.date: 10/17/2024 --- # Localize JSON schema reference -The Microsoft Teams localization file describes language translations that are served based on the client language settings. Your file must conform to the schema hosted at [`https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.Localization.schema.json`](https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.Localization.schema.json). +The Microsoft Teams localization file describes language translations that are served based on the client language settings. Your file must conform to the schema hosted at [https://developer.microsoft.com/en-us/json-schemas/teams/v1.19/MicrosoftTeams.Localization.schema.json](https://developer.microsoft.com/en-us/json-schemas/teams/v1.19/MicrosoftTeams.Localization.schema.json). > [!TIP] -> Specify the schema at the beginning of your manifest to enable `IntelliSense` or similar support from your code editor: `"$schema": "". +> Specify the schema at the beginning of your manifest to enable `IntelliSense` or similar support from your code editor: `"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json".` ## Example -Example of localization JSON schema v1.16 is as follows: +Example of localization JSON schema v1.19 is as follows: ```json { - "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.Localization.schema.json", + "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.19/MicrosoftTeams.Localization.schema.json", "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -55,10 +55,153 @@ The schema defines the following properties: |`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification.|| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you".|| -|`meetingExtensionDefinition.scenes \\[[0-9]\\]\\.name$`|String|128|Replaces the corresponding strings from the app manifest. | +|`\\[\\[[a-zA-Z_][a-zA-Z0-9_]*\\]\\]`|String|4000| Represents custom tokenized keys, for example with [localized Copilot agents](/microsoft-365-copilot/extensibility/agents-are-apps#localizing-your-agent).|| +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest. || +|`extensions\\[[0]\\]\\.audienceClaimUrl$`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.customMobileRibbonGroups\\[[0-9]\\]\\.label`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.customMobileRibbonGroups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.icons\\[[0-8]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.customMobileRibbonGroups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.label`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.icons\\[[0-2]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.icons\\[[0-2]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.supertip\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.supertip\\.description`|String|250|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.icons\\[[0-2]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.supertip\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.supertip\\.description`|String|250|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.runtimes\\[[1]?[0-9]\\]\\.code\\.page`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.runtimes\\[[1]?[0-9]\\]\\.code\\.script`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.runtimes\\[[1]?[0-9]\\]\\.actions\\[[1]?[0-9]\\]\\.displayName`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.alternates\\[[0-9]\\]\\.alternateIcons\\.icon\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.alternates\\[[0-9]\\]\\.alternateIcons\\.highResolutionIcon\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.||
+
Localization schema v1.17 + +## Localization schema v1.17 + +Link to localization schema v1.17: [https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.Localization.schema.json](https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.Localization.schema.json) + +Example: + +```json +{ + "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.17/MicrosoftTeams.Localization.schema.json", + "name.short": "Portail de Développement", + "name.full": "Portail des développeurs", + "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "staticTabs[0].name": "Accueil", + "staticTabs[1].name": "Applications", + "staticTabs[2].name": "Outils", + "staticTabs[3].name": "Developer Portal", + "bots[0].commandLists[0].commands[0].title": "Rechercher", + "bots[0].commandLists[0].commands[0].description": "Rechercher la documentation Teams appropriée" +} +``` + +The schema defines the following properties: + +|Property|Type|Maximum length|Description|Required| +|---------------|--------|---------|------------------|----| +|`$schema`|URI|NA|The `https://` URL referencing the JSON Schema for the manifest.|| +|`name.short`|String|30|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`name.full`|String|100|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`description.short`|String|80|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`description.full`|String|4000|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`staticTabs\\[([0-9]/1[0-5])\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title`|String|32|Replaces the corresponding string from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value`|String|512|Replaces the corresponding string from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.samplePrompts\\[[0-4]\\]\\.text`|String|128|Content for the sample prompt.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification.|| +|`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you".|| +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest. || +|`extensions\\[[0]\\]\\.audienceClaimUrl$`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.customMobileRibbonGroups\\[[0-9]\\]\\.label`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.customMobileRibbonGroups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.icons\\[[0-8]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.customMobileRibbonGroups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.label`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.icons\\[[0-2]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.icons\\[[0-2]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.supertip\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.supertip\\.description`|String|250|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.icons\\[[0-2]\\]\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.label`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.supertip\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.ribbons\\[[0-9]\\]\\.tabs\\[[1]?[0-9]\\]\\.groups\\[[0-9]\\]\\.controls\\[[1]?[0-9]\\]\\.items\\[[1]?[0-9]\\]\\.supertip\\.description`|String|250|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.runtimes\\[[1]?[0-9]\\]\\.code\\.page`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.runtimes\\[[1]?[0-9]\\]\\.code\\.script`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.runtimes\\[[1]?[0-9]\\]\\.actions\\[[1]?[0-9]\\]\\.displayName`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.alternates\\[[0-9]\\]\\.alternateIcons\\.icon\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`extensions\\[[0]\\]\\.alternates\\[[0-9]\\]\\.alternateIcons\\.highResolutionIcon\\.url`|String|2048|Replaces the corresponding strings from the app manifest with the value provided here.|| + +
+
+ +
Localization schema v1.16 + +## Localization schema v1.16 + +Link to localization schema v1.16: [https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.Localization.schema.json](https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.Localization.schema.json) + +Example: + +```json +{ + "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.Localization.schema.json", + "name.short": "Portail de Développement", + "name.full": "Portail des développeurs", + "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "staticTabs[0].name": "Accueil", + "staticTabs[1].name": "Applications", + "staticTabs[2].name": "Outils", + "staticTabs[3].name": "Developer Portal", + "bots[0].commandLists[0].commands[0].title": "Rechercher", + "bots[0].commandLists[0].commands[0].description": "Rechercher la documentation Teams appropriée" +} +``` + +The schema defines the following properties: + +|Property|Type|Maximum length|Description|Required| +|---------------|--------|---------|------------------|----| +|`$schema`|URI|NA|The `https://` URL referencing the JSON Schema for the manifest.|| +|`name.short`|String|30|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`name.full`|String|100|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`description.short`|String|80|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`description.full`|String|4000|Replaces the corresponding string from the app manifest with the value provided here. The property is required in the localization JSON.|✔️| +|`staticTabs\\[([0-9]/1[0-5])\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.title`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`bots\\[0\\]\\.commandLists\\[[0-2]\\]\\.commands\\[[0-9]\\]\\.description`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.title`|String|32|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.description`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.title`|String|32|Replaces the corresponding string from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.description`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.value`|String|512|Replaces the corresponding string from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.parameters\\[[0-4]\\]\\.choices\\[[0-9]\\]\\.title`|String|128|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.samplePrompts\\[[0-4]\\]\\.text`|String|128|Content for the sample prompt.|| +|`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.|| +|`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification.|| +|`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you".|| +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest.|| + +
+
+
Localization schema v1.15 ## Localization schema v1.15 @@ -73,7 +216,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -104,7 +247,7 @@ The schema defines the following properties: |`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you"| -|`meetingExtensionDefinition.scenes \\[[0-9]\\]\\.name$`|String|128| Replaces the corresponding strings from the app manifest. | +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128| Replaces the corresponding strings from the app manifest.||

@@ -123,7 +266,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -154,7 +297,7 @@ The schema defines the following properties: |`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you"| -|`meetingExtensionDefinition.scenes \\[[0-9]\\]\\.name$`|String|128|Replaces the corresponding strings from the app manifest. | +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest. |
@@ -173,7 +316,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -204,7 +347,7 @@ The schema defines the following properties: |`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you"| -|`meetingExtensionDefinition.scenes \\[[0-9]\\]\\.name$`|String|128|Replaces the corresponding strings from the app manifest. | +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest. |
@@ -223,7 +366,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -254,7 +397,7 @@ The schema defines the following properties: |`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you"| -|`meetingExtensionDefinition.scenes \\[[0-9]\\]\\.name$`|String|128|Replaces the corresponding strings from the app manifest. | +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest. |
@@ -273,7 +416,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -304,7 +447,7 @@ The schema defines the following properties: |`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you"| -|`meetingExtensionDefinition.scenes \\[[0-9]\\]\\.name$`|String|128|Replaces the corresponding strings from the app manifest. | +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest. |
@@ -323,7 +466,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -354,7 +497,7 @@ The schema defines the following properties: |`composeExtensions\\[0\\]\\.commands\\[[0-9]\\]\\.taskInfo\\.title`|String|64|Replaces the corresponding strings from the app manifest with the value provided here.| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.description`|String|128|A brief description of the notification| |`activities.activityTypes\\[\\b([0-9]|[1-8][0-9]|9[0-9]|1[01][0-9]|12[0-7])\\b]\\.templateText`|String|128|Ex: "{actor} created task {taskId} for you"| -|`meetingExtensionDefinition.scenes \\[[0-9]\\]\\.name$`|String|128|Replaces the corresponding strings from the app manifest. | +|`meetingExtensionDefinition.scenes\\[[0-9]\\]\\.name`|String|128|Replaces the corresponding strings from the app manifest. |
@@ -373,7 +516,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -422,7 +565,7 @@ Example: "name.short": "Portail de Développement", "name.full": "Portail des développeurs", "description.short": "Configurer, distribuer et gérer vos applications Microsoft Teams", - "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", + "description.full": "Anciennement App Studio, le portail des développeurs peut vous aider où que vous soyez dans votre parcours de développement d’applications Microsoft Teams.1. Configurez une nouvelle application ou importez une application existante.2. Configurez les fonctionnalités de votre application et d’autres métadonnées importantes.3. Obtenez des ressources pour vous aider à créer une application de haute qualité.3. Testez votre application directement dans Teams.4. Distribuez votre application dans votre organisation ou dans le Store Teams.5. Analysez l’utilisation, l’engagement et d’autres informations sur votre application. Le portail inclut également des outils pour concevoir des scènes virtuelles personnalisées, des cartes adaptatives et l’intégration à la Plateforme d’identités Microsoft.", "staticTabs[0].name": "Accueil", "staticTabs[1].name": "Applications", "staticTabs[2].name": "Outils", @@ -459,4 +602,4 @@ The schema defines the following properties: ## See also * [Localize your app](~/concepts/build-and-test/apps-localization.md) -* [App manifest](manifest-schema.md) +* [App manifest](manifest-schema.md) \ No newline at end of file diff --git a/msteams-platform/resources/schema/manifest-schema.md b/msteams-platform/resources/schema/manifest-schema.md index 466bfeae172..1e44fc44eda 100644 --- a/msteams-platform/resources/schema/manifest-schema.md +++ b/msteams-platform/resources/schema/manifest-schema.md @@ -3,12 +3,12 @@ title: App Manifest Reference description: In this article, you'll have the latest version of the public manifest schema for Microsoft Teams reference, schema, and sample full manifest. ms.topic: reference ms.localizationpriority: high -ms.date: 09/16/2024 +ms.date: 10/17/2024 --- # App manifest -The app manifest (previously called Teams app manifest) describes how your app integrates into the Microsoft Teams product. Your app manifest must conform to the schema hosted at [`https://developer.microsoft.com/json-schemas/teams/v1.17/MicrosoftTeams.schema.json`](https://developer.microsoft.com/json-schemas/teams/v1.17/MicrosoftTeams.schema.json). Previous versions 1.0, 1.1,...,1.16, and the current version is 1.17 are each supported (using "v1.x" in the URL). +The app manifest (previously called Teams app manifest) describes how your app integrates into the Microsoft Teams product. Your app manifest must conform to the schema hosted at [https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json](https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json). Previous versions 1.0, 1.1,...,1.17, and the current version is 1.19 are each supported (using "v1.x" in the URL). Version 1.18 is not available. For more information on the changes made in each version, see [app manifest change log](https://github.com/OfficeDev/microsoft-teams-app-schema/releases) and for previous versions, see [app manifest versions](https://github.com/microsoft/json-schemas/tree/main/teams). The following table lists TeamsJS version and app manifest versions as per different app scenarios: @@ -24,16 +24,17 @@ The following is the sample app manifest schema: ```json { - "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.17/MicrosoftTeams.schema.json", - "manifestVersion": "1.17", + "$schema": "https://developer.microsoft.com/json-schemas/teams/v1.19/MicrosoftTeams.schema.json", + "manifestVersion": "1.19", "version": "1.0.0", "id": "%MICROSOFT-APP-ID%", "localizationInfo": { - "defaultLanguageTag": "en-us", + "defaultLanguageTag": "en", + "defaultLanguageFile": "en.json", "additionalLanguages": [ { - "languageTag": "es-es", - "file": "en-us.json" + "languageTag": "es", + "file": "es.json" } ] }, @@ -57,6 +58,14 @@ The following is the sample app manifest schema: "color": "A relative path to a full color .png icon — 192px X 192px" }, "accentColor": "A valid HTML color code.", + "copilotAgents": { + "declarativeAgents": [ + { + "id": "agent1", + "file": "declarativeAgent1.json" + } + ] + }, "configurableTabs": [ { "configurationUrl": "https://contoso.com/teamstab/configure", @@ -422,20 +431,21 @@ Ensure that your description describes your experience and helps potential custo **Optional** – Object -Allows the specification of a default language and provides pointers to more language files. For more information, see [localization](~/concepts/build-and-test/apps-localization.md). +Allows the specification of a default language, and pointers to additional language files. See [localization](~/concepts/build-and-test/apps-localization.md). -|Name| Maximum size | Required | Description| +|Name| Type | Maximum size | Required | Description| |---|---|---|---| -|`defaultLanguageTag`||✔️|The language tag of the strings in this top-level app manifest file.| +|`defaultLanguageTag`| String | |✔️|The language tag for the strings in this top-level app manifest file. Default is `en-us`.| +|`defaultLanguageFile`| String | 2048 characters|| A relative file path to the .json file that contains the strings. If unspecified, strings are taken directly from the app manifest file. A default language file is required for [Copilot agents that support multiple languages](/microsoft-365-copilot/extensibility/agents-are-apps#localizing-your-agent).| ### localizationInfo.additionalLanguages -An array of objects specifying more language translations. +An array of objects, each with the following properties to specify additional language translations. |Name| Type | Maximum size | Required | Description| -|---|---|---|---|---| -|`languageTag`|String||✔️|The language tag of the strings in the provided file.| -|`file`|String|2048 characters|✔️|A relative file path to the .json file containing the translated strings.| +|---|---|---|---| +|`languageTag`| String | |✔️|The language tag of the strings in the provided file. For example, `es`| +|`file`| String | 2048 characters|✔️|A relative file path to the .json file that contains the translated strings.| ## icons @@ -456,6 +466,25 @@ A color to use and as a background for your color icons. The value must be a valid HTML color code starting with '#', for example `#4464ee`. For more information, see [accentColor](../../task-modules-and-cards/cards/cards-reference.md#properties-of-the-connector-card-for-microsoft-365-groups). +## copilotAgents + +**Optional** – Object + +Defines one or more agents to Microsoft 365 Copilot. [Declarative agents](/microsoft-365-copilot/extensibility/overview-declarative-agent) are customizations of Microsoft 365 Copilot that run on its same orchestrator and foundation models. + +|Name| Type| Maximum size | Required | Description| +|---|---|---|---|---| +|`declarativeAgents`|Array of objects| 1 |✔️| Array of objects that each define a declarative agent. | + +### declarativeAgents + +Represents a customization of Microsoft 365 Copilot, as defined by its manifest file. + +|Name| Type| Maximum size | Required | Description| +|---|---|---|---|---| +|`id`|String| |✔️| Unique identifier for the agent. When using Microsoft Copilot Studio to build agents, this is auto-generated. Otherwise, manually assign the value according to your own conventions or preference. | +|`file`| String | 2048 characters |✔️| Relative file path within the app package to the [declarative agent manifest](/microsoft-365-copilot/extensibility/declarative-agent-manifest) file. | + ## configurableTabs **Optional** – Array diff --git a/msteams-platform/task-modules-and-cards/cards/cards-format.md b/msteams-platform/task-modules-and-cards/cards/cards-format.md index 77f0ecb06b6..faa881e0d76 100644 --- a/msteams-platform/task-modules-and-cards/cards/cards-format.md +++ b/msteams-platform/task-modules-and-cards/cards/cards-format.md @@ -965,8 +965,7 @@ In the following example, there are two primary actions and one secondary action ``` > [!NOTE] -> -> * The overflow menu behaves differently on a bot sent card and a message extension card for the root level `actions` in an Adaptive Card. The overflow menu on a bot sent card appears as a pop-up context menu and on the message extension card it appears at the upper-right corner under the More options (**...**) icon. The behavior isn't applicable to the `ActionSet` in an Adaptive Card. +> The overflow menu behaves differently on a bot sent card and a message extension card for the root level `actions` in an Adaptive Card. The overflow menu on a bot sent card appears as a pop-up context menu and on the message extension card it appears at the upper-right corner under the More options (**...**) icon. The behavior isn't applicable to the `ActionSet` in an Adaptive Card. The following image is an example of overflow menu in a bot sent card and a message extension card: diff --git a/msteams-platform/whats-new.md b/msteams-platform/whats-new.md index 8cabb36be6d..827c86f2285 100644 --- a/msteams-platform/whats-new.md +++ b/msteams-platform/whats-new.md @@ -32,7 +32,9 @@ Teams platform features that are available to all app developers. **2024 October** -***October 17, 2024***: [Use app analytics in Developer Portal to analyze your app usage metrics to gain valuable insights into how users interact with your app.](concepts/build-and-test/analyze-your-apps-usage-in-developer-portal.md) +* ***October 17, 2024***: [Introducing app manifest v1.19](./resources/schema/manifest-schema.md) with copilotAgents, declarativeAgents, and defaultLanguageFile. +* ***October 17, 2024***: [Localize your Copilot agents](/microsoft-365-copilot/extensibility/agents-are-apps#localizing-your-agent). +* ***October 17, 2024***: [Build a personal tab with offline functionality.](tabs/how-to/create-personal-tab.md#offline-tabs). :::column-end::: :::row-end:::