Localize sua carga de trabalho

A localização é o processo de adaptação de um produto para atender a outros mercados alterando o idioma ou o conteúdo. Localizar sua carga de trabalho permite que você alcance um público-alvo mais amplo e ofereça aos seus clientes a melhor experiência, mais personalizada. Por exemplo, uma carga de trabalho localizada é mais atraente para um usuário cujo idioma padrão não é inglês no hub de carga de trabalho do Microsoft Fabric.

A imagem a seguir mostra um exemplo de uma carga de trabalho localizada no hub de carga de trabalho.

Captura de tela de um produto de exemplo localizado em espanhol.

Para uma carga de trabalho do Fabric, a localização envolve dois aspectos:

  • Traduzindo texto no iframe, independentemente do shell do Fabric, usando a linguagem do portal do Fabric.

  • Habilitando a tradução de palavras-chave que são usadas no shell do Fabric, como o nome da carga de trabalho, os nomes dos itens e as descrições da carga de trabalho. Atualmente, essas cadeias de caracteres são encontradas diretamente nos arquivos de manifesto (product.json e item.json).

    Para obter uma descrição de todas as cadeias de caracteres localizadas, consulte os destinos de Localização mais adiante neste artigo.

Idiomas com suporte

O Fabric atualmente oferece suporte aos seguintes 44 idiomas:

Código do idioma Linguagem
ar العربية (árabe)
Bg български (búlgaro)
Ca català (catalão)
Cs čeština (tcheco)
da dansk (dinamarquês)
de Deutsche (alemão)
El ελληνικά (grego)
pt-BR Inglês (inglês)
es español (Espanhol)
Et eesti (estoniano)
UE Euskal (basco)
Fi suomi (finlandês)
França français (francês)
Gl galego (língua galega)
ele עברית (hebraico)
Oi हिन्दी (híndi)
RH hrvatski (croata)
Hu magyar (húngaro)
id Bahasa Indonesia (indonésio)
ela italiano (língua italiana)
ja 日本の (japonês)
kk Қазақ (cazaque)
Ko 한국의 (coreano)
Tenente Lietuvos (lituano)
lv Latvijas (letão)
ms Bahasa Melayu (malaio)
Nb norsk (norueguês)
NL Nederlands (holandês)
Pl polski (polonês)
pt-BR português (Português - Brasil)
pt-PT português (Português - Portugal)
Ro românesc (romeno)
Ru русский (russo)
Sk slovenský (eslovaco)
Sl slovenski (esloveno)
sr-Cyrl српски (Sérvio - Cirílico)
sr-Latn srpski (Sérvio - Latino)
Sv Svenska (sueco)
ésimo ไทย (tailandês)
Tr Türk (turco)
Reino Unido український (ucraniano)
vi tiếng Việt (Vietnamês)
zh-Hans 中国 (Chinês - Simplificado)
zh-Hans 中國 (Chinês - Tradicional)

Você pode optar por fornecer alguns ou todos esses idiomas. O único idioma necessário é inglês (EUA), pois é o idioma padrão do Fabric.

Estrutura do pacote

Todas as cadeias de caracteres no manifesto devem ser substituídas por chaves. Um valor para cada chave está em um arquivo separado.

Por exemplo, se o product.json manifesto tiver sido iniciado anteriormente da seguinte maneira:

{
    "name": "Product",
    "displayName": "Fabric Sample Workload",
    "fullDisplayName": "Fabric Sample Workload",
    "description": "Sample Workload Description",
    "favicon": "assets/briefcase.png",
    "icon": {
      "name": "assets/briefcase.png"
    },
    "homePage": {
...

Seu product.json manifesto agora deve ser algo semelhante a este exemplo:

{
    "name": "Product",
    "displayName": "Workload_Display_Name",
    "fullDisplayName": "Workload_Display_Name_Full",
    "description": "Workload_Description",
    "favicon": "assets/images/briefcase.png",
    "icon": {
      "name": "assets/images/briefcase.png"
    },
    "homePage": {
        ...

Para dar suporte à localização, seu pacote deve ter a seguinte estrutura:

FE/
└── assets/
    ├── images/
    |   └── # the images and icons that were previously under the assets folder directly
    └── locales/
        ├── en-US/
        |   └── translations.json
        ├── es/
        |   └── translations.json
        ├── de/
        |   └── translations.json
        ├── fr/
        |   └── translations.json
        └── # more locales

Cada localidade tem sua própria pasta em assets/locales. Cada localidade contém um único arquivo. translations.json Esse arquivo contém um dicionário de pares chave/valor. Por exemplo, o arquivo translations.json para o inglês pode conter:

{
    "Workload_Display_Name" : "Fabric Sample Workload",
    "Workload_Display_Name_Full" : "Fabric Sample Workload",
    "Workload_Description": "Sample Workload Description"
}

Enquanto o arquivo translation.json para o espanhol pode conter:

{
    "Workload_Display_Name" : "Carga de trabajo de muestra",
    "Workload_Display_Name_Full" : "Carga de trabajo de muestra",
    "Workload_Description": "Descripción del producto"
}

Comportamento padrão

  • Conforme declarado anteriormente, o único idioma obrigatório para uma carga de trabalho localizada é o inglês.
  • Se uma carga de trabalho for localizada, todos os destinos de localização deverão ser fornecidos como chaves no arquivo translations.json para o inglês.
  • Não é necessário traduzir todas as chaves nos outros idiomas fornecidos. Qualquer chave que não seja traduzida utilizará, por padrão, a tradução em inglês fornecida. Por exemplo, se o nome da sua carga de trabalho deve sempre estar em inglês, não é necessário fornecer uma tradução em nenhum outro idioma.
  • O Fabric dá suporte a cargas de trabalho localizadas e não localizadas. Se algum arquivo de imagem estiver diretamente na assets pasta, a suposição é que a carga de trabalho não estácalizada.
  • Para que uma carga de trabalho seja tratada como localizada, ela deve ter apenas dois subdiretórios na assets pasta: images e locales. Nenhum outro arquivo pode estar na assets pasta.

Destinos de localização

Todas as seguintes propriedades são localizadas: displayName, , fullDisplayName, displayNamePlural, description, , introduction, title, , tooltipe slogan.

Nos arquivos de manifesto do produto e do item, essas propriedades correspondem aos seguintes atributos:

Nome Esquema no manifesto Descrição
Nome de exibição do item item.displayName O nome de exibição do item que aparece na maioria dos contextos
Nome de exibição do item plural item.displayNamePlural O nome pluralizado do item
Nome de exibição do item do menu de contexto item.contextMenuItems.displayName Se o item tiver uma entrada de menu de contexto, como um atalho para executar um trabalho, o nome de exibição da entrada
Dica de ferramenta do item do menu de contexto item.contextMenuItems.tooltip Se o item tiver uma entrada no menu de contexto, a dica de ferramenta exibida quando o mouse estiver sobre o item
Nome de exibição do item de ação rápida item.quickActionItems.displayName Se o item tiver uma ação rápida, como um atalho para executar um trabalho, o nome de exibição da ação
Dica de ferramenta do item de ação rápida item.quickActionItems.tooltip Se o item tiver uma ação rápida, a dica que aparece ao passar o cursor sobre o item
Nome de exibição do produto product.displayName O nome de exibição da carga de trabalho que aparece na maioria dos contextos
Nome de exibição completo do produto product.fullDisplayName O nome completo de exibição da carga de trabalho
Descrição do produto product.description A descrição que aparece na página inicial da carga de trabalho
Título do cartão de material de aprendizado product.homePage.learningMaterials[].title O título de um cartão de materiais de aprendizagem na página inicial de carga de trabalho
Descrição do cartão de material de aprendizado product.homePage.learningMaterials[].description A descrição em um cartão de materiais de aprendizagem na página inicial da carga de trabalho
Introdução do cartão de material de aprendizado product.homePage.learningMaterials[].introduction A introdução de um cartão de materiais de aprendizagem na página inicial de trabalho (aparece sob o título)
Título da ação personalizada product.homePage.newSection.customActions[].title O título de um cartão de ação personalizado na página inicial
Criar uma descrição da experiência product.createExperience.description A descrição que aparece no hub de criação
Criar o título do cartão product.createExperience.cards[].title O título de um cartão de criação
Criar a descrição do cartão product.createExperience.cards[].description A descrição de um cartão de criação
Slogan do hub de carga de trabalho product.productDetail.slogan O slogan que aparece na página de carga de trabalho no hub de trabalho
Descrição do hub de carga de trabalho product.productDetail.description A descrição do produto que aparece na página de carga de trabalho no hub

Idioma do portal do Fabric

O workloadClient código fornece uma API para recuperar as configurações de carga de trabalho, que contêm o idioma atual do portal do Fabric. Por exemplo:

export async function callLanguageGet(workloadClient: WorkloadClientAPI): Promise<string> {
    const settings = await workloadClient.settings.get();
    return settings.currentLanguageLocale;
}

Com o código fornecido currentLanguageLocale , você pode continuar a localizar sua carga de trabalho usando qualquer estrutura desejada. Por exemplo, o repositório de carga de trabalho de exemplo usa a biblioteca i18next para traduzir o conteúdo de uma barra de mensagens que notifica o usuário do idioma atual.