3
votes

We are trying to build a multilingual chatbot which supports English (en-us) as well as German (de-de). We had been using it on Microsoft Teams without any problems until around mid-June 2020. Thereafter, we noticed that the localization didn't work properly anymore. We also noticed that this was around the same time that Teams introduced manifest version 1.7. The following occurrence is observed:

  • If the Teams admin uploads the app while their MS Teams client language is en-us, all custom applications ignore the 'de-de' localization info, and all information, as well as commands, are displayed in English only, even if the client language for the users is German.

  • The exact opposite will happen if the language of the admin was de-de when they uploaded the application. All information from the bot will be in German, whereas the default language (English) will be ignored.

As a sample, I am sharing this screenshot.

screenshot

Here, you can see that although the client language is German, the suggestion commands appear in English. In fact, the bot name and description are also in English. In fact, we observed that the same behaviour is also exhibited for the official manifest template from Microsoft.

Here are our manifest files: manifest.json

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
  "manifestVersion": "1.7",
  "version": "1.0.0",
  "id": "00000000-0000-0000-0000-00000000000",
  "packageName": "com.sample.sample.sample.dev.bot3",
  "developer": {
    "name": "Sample Inc.",
    "websiteUrl": "https:/sample.z6.web.core.windows.net",
    "privacyUrl": "https://sample.z6.web.core.windows.net/privacy.html",
    "termsOfUseUrl": "https://sample.z6.web.core.windows.net/tou.html"
  },
  "localizationInfo": {
    "defaultLanguageTag": "en-us",
    "additionalLanguages": [
      {
        "languageTag": "de-de",
        "file": "de-de.json"
      }
    ]
  },
  "icons": {
    "color": "color.png",
    "outline": "outline.png"
  },
  "name": {
    "short": "Manifest Test EN",
    "full": "Manifest Test EN Bot"
  },
  "description": {
    "short": "Manifest Test EN",
    "full": "Manifest Test EN Bot"
  },
  "accentColor": "#40497E",
  "bots": [
    {
      "botId": "00000000-0000-0000-0000-00000000000",
      "scopes": [
        "personal"
      ],
      "supportsFiles": true,
      "isNotificationOnly": false,
      "commandLists": [
        {
          "scopes": [
            "personal"
          ],
          "commands": [
            {
              "title": "Personal Command 1",
              "description": "Description of Personal Command 1"
            },
            {
              "title": "Personal Command N",
              "description": "Description of Personal Command N"
            }
          ]
        }
      ]
    }
  ],
  "staticTabs": [
  ],
  "permissions": [
    "identity",
    "messageTeamMembers"
  ],
  "validDomains": [
    "sample.z6.web.core.windows.net",
    "token.botframework.com"
  ]
}

Localization file de-de.json

{
    "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.Localization.schema.json",
    "name.short": "Manifest Test DE",
    "name.full": "Manifest Test DE Bot",
    "description.short": "Manifest Test DE",
    "description.full": "Manifest Test DE Bot",
    "bots[0].commandLists[0].commands[0].title": "Persönlicher Befehl 1",
    "bots[0].commandLists[0].commands[0].description": "Beschreibung des persönlichen Befehls 1",
    "bots[0].commandLists[0].commands[1].title": "Beschreibung des persönlichen Befehls N",
    "bots[0].commandLists[0].commands[1].description": "Das ist DE1"
}
2

2 Answers

2
votes

We are experiencing the same issue here only we have been able to determine that the language the app is shown to the user is the language the app is installed with.

So in your case the app was propably installed when your Teams language was set to German, if you would now switch to another language the app would still be in German. We have tried this for multiple apps, multiple users and multiple tenants. The language used is always the one from the client the app is installed from, not the language the current user is using.

So for example when a App is installed with a client that is for example in German, the app will be configured in German for this user and all other users of the tenant the app is installed for. If the user that installed the app switched language (fe: English) to another supported language the language stays in German (even when the client is restarted). The same goes for other users, if a user at the moment of installation for example was using the application in English then the app will also be in German for that user and not English since it was installed by a user who had German as it's default language.

1
votes

Could you please try updating the version to 1.2 in the manifest?enter image description here

here is the result after updating the version enter image description here