Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
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.jsoneitem.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.jsonpara 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
assetspasta, 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
assetspasta:imageselocales. Nenhum outro arquivo pode estar naassetspasta.
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.