Localização para aplicativos do Microsoft TeamsLocalization for Microsoft Teams apps

Ao localizar seu aplicativo do Microsoft Teams, há três áreas principais que você precisa considerar.When localizing your Microsoft Teams app there are three major areas you need to consider.

  1. Sua listagem de AppSource (se você estiver publicando na loja de aplicativos).Your AppSource listing (if you're publishing to the app store).
  2. As cadeias de caracteres voltadas para o usuário final em seu manifesto de aplicativo (por exemplo, comandos de bot).The end-user facing strings in your app manifest (for example bot commands).
  3. Responder ao texto localizado enviado de seus usuários.Responding to localized text submitted from your users.

Localizando sua listagem do AppSourceLocalizing your AppSource listing

Se você estiver publicando na loja de aplicativos, precisará estar ciente de que não há suporte para localizar sua listagem de AppSource ainda.If you're publishing to the app store, you need to be aware that localizing your AppSource listing is not yet supported. No entanto, em preparação para suporte para listagens localizadas na loja de aplicativos, você pode adicionar outros idiomas à sua listagem.However, in preparation for support for localized listings in the app store you can add additional languages to your listing. Atualmente, apenas as informações de idioma padrão (inglês) fornecidas no Partner Center para sua listagem aparecerão na lista de sites do AppSource para o seu aplicativo.Currently only the default (English) language information you provide in Partner Center for your listing will appear in the AppSource website listing for your app.

Para configurar um idioma adicional para seu aplicativo, no centro de parceria, selecione tanto o inglês quanto o idioma adicional do aplicativo.To configure an additional language for your app, in Partner Center, select both English and the additional language of the app. Francês é usado neste exemplo.French is used in this example.

  1. Adicionar idioma inglêsAdd English language
    • Preencha o nome do aplicativo.Fill in the app name.
    • Preencha uma breve descrição do aplicativo em inglês.Fill in a short description of the app in English.
    • Preencha a descrição longa do aplicativo em inglês.Fill in the long description of the app in English.
    • Na descrição longa, adicione também a linha "este aplicativo está disponível em" francês ".In the long description, please also add the line “This app is available in “French”.
    • Carregar as imagens da sua interface do usuário do aplicativo (em inglês).Upload the images of your app UI (in English).
  2. Adicionar idioma francêsAdd French language
    • Preencha o nome do aplicativo.Fill in the app name.
    • Preencha uma breve descrição do aplicativo em francês.Fill in a short description of the app in French.
    • Preencha a descrição longa do aplicativo em francês.Fill in the long description of the app in French.
    • Carregar as imagens da sua interface do usuário do aplicativo (em francês).Upload the images of your app UI (in French).

As imagens carregadas com o idioma inglês serão aquelas usadas no AppSource.The images you upload with the English language will be the ones used in AppSource.

Localizando as cadeias de caracteres em seu manifesto de aplicativoLocalizing the strings in your app manifest

Você deve usar o esquema de aplicativos do Microsoft Teams v 1.5 + para localizar corretamente seu aplicativo.You must use the Microsoft Teams app schema v1.5+ to properly localize your app. Você pode fazer isso Configurando o $schema atributo no seu manifest.jsno arquivo para ' https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.Localization.schema.json ' e atualizando a propriedade ' manifestVersion ' para ' 1,7 '.You can do this by setting the $schema attribute in your manifest.json file to 'https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.Localization.schema.json' and updating the 'manifestVersion' property to '1.7'.

Exemplo manifest.jsalteraçãoExample manifest.json change

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.Localization.schema.json",
  "manifestVersion": "1.5",
  ...
}

Em seguida, você poderá adicionar a propriedade ' localizationInfo ' com o idioma padrão ao qual seu aplicativo oferece suporte.You will then want to add the 'localizationInfo' property with the default language that your application supports. O idioma padrão é usado como o idioma de fallback final se as configurações de cliente do usuário não corresponderem a nenhum dos seus idiomas adicionais.The default language is used as the final fallback language if the user's client settings do not match any of your additional languages.

Exemplo manifest.jsalteraçãoExample manifest.json change

{
  ...
  "localizationInfo": {
    "defaultLanguageTag": "en"
  }
  ...
}

Você pode fornecer arquivos. JSON adicionais com traduções de todas as cadeias de caracteres voltadas para o usuário em seu manifesto.You can provide additional .json files with translations of all the user facing strings in your manifest. Esses arquivos devem aderir ao esquema JSON do arquivo de localização e devem ser adicionados à propriedade "localizationInfo" do manifesto.These files must adhere to the Localization file JSON schema and they must be added to the 'localizationInfo' property of your manifest. Cada arquivo se correlaciona com uma marca de idioma que o cliente do teams usa para escolher as cadeias de caracteres apropriadas.Each file correlates to a language tag which the Teams client uses to choose the appropriate strings. A marca de idioma tem a forma de - mas é recomendável omitir a parte para direcionar todas as regiões que dão suporte ao idioma desejado.The language tag takes the form of - but it is recommended to omit the portion to target all regions that support the desired language.

O cliente Teams aplicará as cadeias de caracteres nesta ordem: cadeias de caracteres de idioma padrão-> cadeias de caracteres de idiomas do usuário-> idioma do usuário + cadeia de caracteres de região do usuário.The Teams client will apply the strings in this order: default language strings -> user's language only strings -> user's language + user's region strings.

Por exemplo, você fornece um idioma padrão de ' fr ' (francês, todas as regiões) e arquivos de idioma adicionais para ' en ' (Inglês, todas as regiões) e ' en-GB ' (Inglês, Grã-Bretanha).For example, you provide a default language of 'fr' (French, all regions), and additional language files for 'en' (English, all regions) and 'en-gb' (English, Great Britain). Se o idioma do usuário estiver definido como "en-GB":If the user's language is set to 'en-gb':

  1. O cliente Teams usará as cadeias de caracteres ' fr ' substituí-las pelas cadeias de caracteres ' en '.The Teams client will take the 'fr' strings overwrite them with the 'en' strings.
  2. Substitua-os com as cadeias de caracteres "en-GB".Overwrite those with the 'en-gb' strings.

Se o idioma do usuário estiver definido como ' en-CA ':If the user's language is set to 'en-ca':

  1. O cliente Teams usará as cadeias de caracteres ' fr ' substituí-las pelas cadeias de caracteres ' en '.The Teams client will take the 'fr' strings overwrite them with the 'en' strings.
  2. Como nenhuma localização "en-AC" é fornecida, as localizações de "en" serão usadas.Since no 'en-ca' localization is supplied, the 'en' localizations will be used.

Se o idioma do usuário estiver definido como ' es-es ', o cliente do Microsoft Teams usará as cadeias de caracteres ' fr ' e não as substituirá por nenhum dos arquivos de idioma.If the user's language is set to 'es-es', the Teams client will take the 'fr' strings and will not override them with any of the language files.

Portanto, é altamente recomendável fornecer traduções de nível superior, somente de idioma em seu manifesto (' en ' em vez de "en-US ') e fornecer apenas substituições de nível de região para as poucas cadeias de caracteres que precisam delas.Therefore, it is strongly recommended to provide top-level, language-only translations in your manifest ('en' instead of 'en-us') and only provide region-level overrides for the few strings that need them.

Exemplo manifest.jsalteraçãoExample manifest.json change

{
  ...
  "localizationInfo": {
    "defaultLanguageTag": "en",
    "additionalLanguages": [
      {
        "languageTag": "en-gb",
        "file": "en-gb.json"
      },
      {
        "languageTag": "fr",
        "file": "fr.json"
      },
      {
        "languageTag": "pl",
        "file": "pl.json"
      }
    ]
  }
  ...
}

Exemplo de arquivo de localização. JSONExample localization .json file

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/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"
}

Lidando com envios de texto localizado de seus usuáriosHandling localized text submissions from your users

Se você fornecer versões localizadas de seu aplicativo, é provável que seus usuários respondam com o mesmo idioma.If your provide localized versions of your application it is very likely that your users will respond with the same language. O Microsoft Teams não traduz os envios do usuário de volta para o idioma padrão, para que seu aplicativo precise lidar com isso.Teams does not translate the user submissions back to the default language, so your app will need to handle that. Por exemplo, se você fornecer um localizado commandList , as respostas para o bot serão o texto localizado do comando, e não o idioma padrão.For example, if you provide a localized commandList, the responses to your bot will be the localized text of the command, not the default language. Seu aplicativo precisará responder de forma adequada.Your app will need to respond appropriately.