Локализация приложений Microsoft Teams больше не работает - PullRequest
3 голосов
/ 04 августа 2020

Мы пытаемся создать многоязычного чат-бота, который поддерживает как английский sh (en-us), так и немецкий (de-de). Мы без проблем использовали его в Microsoft Teams примерно до середины июня 2020 года. После этого мы заметили, что локализация больше не работает должным образом. Мы также заметили, что это было примерно в то же время, когда Teams представили манифест версии 1.7 . Наблюдается следующее событие:

  • Если администратор Teams загружает приложение, пока их клиентский язык MS Teams является en-us, все пользовательские приложения игнорируют информацию о локализации de-de и вся информация, а также команды отображаются только на английском языке sh, даже если языком клиента для пользователей является немецкий.

  • Совершенно обратное произойдет, если язык админ был де-де, когда они загрузили приложение. Вся информация от бота будет на немецком языке, тогда как язык по умолчанию (Engli sh) будет проигнорирован.

В качестве образца я делюсь этим снимком экрана.

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 шаблон от Microsoft.

Вот наши файлы манифеста: 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"
  ]
}

Де-де-де файла локализации. 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 голосов
/ 05 августа 2020

У нас здесь та же проблема, только мы смогли определить, что язык, на котором приложение отображается пользователю, является языком, на котором установлено приложение.

Итак, в вашем случае приложение было, вероятно, установлено, когда для вашего языка Teams был выбран немецкий, если теперь вы переключитесь на другой язык, приложение все равно будет на немецком языке. Мы опробовали это для нескольких приложений, нескольких пользователей и нескольких клиентов. Всегда используется язык клиента, с которого установлено приложение, а не язык, который использует текущий пользователь.

Так, например, когда приложение установлено с клиентом, который, например, на немецком языке, приложение будет настроено на немецком языке для этого пользователя и всех остальных пользователей клиента, для которого установлено приложение. Если пользователь, установивший приложение, переключил язык (например, Engli sh) на другой поддерживаемый язык, язык останется на немецком языке (даже при перезапуске клиента). То же самое и для других пользователей: если пользователь в момент установки, например, использовал приложение на английском языке sh, тогда приложение также будет на немецком языке для этого пользователя, а не на английском sh, поскольку оно было установлено пользователем. у которых по умолчанию был немецкий язык.

0 голосов
/ 05 августа 2020

Не могли бы вы попробовать обновить версию до 1.2 в манифесте? enter image description here

here is the result after updating the version введите описание изображения здесь

...