Localizzare il carico di lavoro

La localizzazione è il processo di adattamento di un prodotto per servire altri mercati modificando la lingua o il contenuto. La localizzazione del carico di lavoro consente di raggiungere un pubblico più ampio e offrire ai clienti un'esperienza più personalizzata e ottimale. Ad esempio, un carico di lavoro localizzato è più interessante per un utente la cui lingua predefinita non è inglese nell'hub del carico di lavoro di Microsoft Fabric.

L'immagine seguente mostra un esempio di carico di lavoro localizzato nell'hub del carico di lavoro.

Screenshot di un prodotto di esempio localizzato in spagnolo.

Per un carico di elaborazione Fabric, la localizzazione prevede due aspetti:

  • Traduzione di testo all'interno dell'iframe, indipendentemente dalla shell di Fabric, usando la lingua del portale di Fabric.

  • Abilitazione della traduzione delle parole chiave usate nella shell di Fabric, ad esempio il nome del carico di lavoro, i nomi degli elementi e le descrizioni dei carichi di lavoro. Queste stringhe sono attualmente disponibili direttamente nei file manifesto (product.json e item.json).

    Per una descrizione di tutte le stringhe localizzate, vedere Destinazioni di localizzazione più avanti in questo articolo.

Lingue supportate

Fabric supporta attualmente le 44 lingue seguenti:

Codice lingua Lingua
Ar العربية (arabo)
Bg български (bulgaro)
circa català (catalano)
Cs čeština (ceco)
da dansk (danese)
de Deutsche (tedesco)
il ελληνικά (lingua greca)
en-US English (inglese)
ES español (spagnolo)
Et eesti (estone)
UE Euskal (basco)
Fi suomi (finlandese)
FR français (francese)
Gl galego (galiziano)
lui עברית (ebraico)
ciao हिन्दी (hindi)
ora hrvatski (croato)
Hu magyar (ungherese)
Id Bahasa Indonesia (indonesiano)
esso italiano (italiano)
Ja 日本の (Giapponese)
okay Қазақ (Kazako)
Ko 한국의 (coreano)
litri Lietuvos (lituano)
lv Latvijas (Lettonia)
ms Bahasa Melayu (malese)
Nb norsk (norvegese)
nl Nederlands (olandese)
Pl polski (polacco)
pt-BR português (portoghese - Brasile)
pt-PT português (portoghese - Portogallo)
Ro românesc (rumeno)
Ru русский (russo)
Sk slovenský (slovacco)
Sl slovenski (sloveno)
sr-Cyrl српски (serbo - cirillico)
sr-Latn srpski (serbo - latino)
Sv svenska (svedese)
giovedì ไทย (thai)
Tr Türk (Turco)
Regno Unito український (ucraino)
vi tiếng Việt (Vietnamita)
zh-Hans 中国 (cinese - semplificato)
zh-Hant 中國 (cinese - tradizionale)

È possibile scegliere di fornire alcune o tutte queste lingue. L'unica lingua richiesta è l'inglese (STATI UNITI), perché è la lingua predefinita di Fabric.

Struttura del pacchetto

Tutte le stringhe nel manifesto devono essere sostituite con le chiavi. Un valore per ogni chiave si trova in un file separato.

Ad esempio, se il product.json manifest è stato avviato in precedenza nel modo seguente:

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

Il product.json manifesto dovrebbe ora essere simile all'esempio seguente:

{
    "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": {
        ...

Per supportare la localizzazione, il pacchetto deve avere la struttura seguente:

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

Ogni impostazione locale ha una propria cartella in assets/locales. Ogni impostazione locale contiene un singolo file, translations.json. Questo file contiene un dizionario di coppie chiave/valore. Ad esempio, il file per l'inglese translations.json può contenere:

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

Mentre il file di translation.json per lo spagnolo può contenere:

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

Comportamento predefinito

  • Come indicato in precedenza, l'unica lingua necessaria per un carico di lavoro localizzato è l'inglese.
  • Se un carico di lavoro viene localizzato, tutte le destinazioni di localizzazione devono essere specificate come chiavi nel file per l'inglese translations.json .
  • Altre lingue fornite non sono necessarie per tradurre tutte le chiavi. Per impostazione predefinita, le chiavi che non vengono tradotte utilizzano la traduzione inglese fornita. Ad esempio, se il nome del carico di lavoro deve essere sempre in inglese, non è necessario fornire una traduzione in altre lingue.
  • Fabric supporta carichi di lavoro localizzati e non localizzati. Se i file di immagine si trovano direttamente nella assets cartella, si presuppone che il carico di lavoro non sia localizzato.
  • Affinché un carico di lavoro venga considerato localizzato, deve avere solo due sottodirectory nella assets cartella : images e locales. Nessun altro file può trovarsi nella assets cartella .

Destinazioni di localizzazione

Tutte le proprietà seguenti sono localizzate: displayName, fullDisplayName, displayNamePlural, description, introductiontitle, tooltip, e slogan.

Nei file manifesto del prodotto e dell'elemento tali proprietà corrispondono agli attributi seguenti:

Nome Schema nel manifesto Descrizione
Nome visualizzato dell'elemento item.displayName Nome visualizzato dell'elemento che viene mostrato nella maggior parte dei contesti
Nome visualizzato degli elementi plurali item.displayNamePlural Nome pluralizzato dell'elemento
Nome visualizzato della voce del menu contestuale item.contextMenuItems.displayName Se l'elemento ha una voce di menu contestuale, come una scorciatoia per l'esecuzione di un'attività, il nome visualizzato della voce
Suggerimento della voce del menu contestuale item.contextMenuItems.tooltip Se l'elemento ha una voce di menu di scelta rapida, la descrizione comando visualizzata quando si passa col mouse sopra
Nome elemento azione rapida visualizzato item.quickActionItems.displayName Se l'elemento dispone di un'azione rapida, ad esempio una scorciatoia per l'esecuzione di un'attività, il nome visualizzato dell'azione
Descrizione comando dell'elemento azione rapida item.quickActionItems.tooltip Se l'elemento ha un'azione rapida, la descrizione comandi che appare quando si passa con il puntatore del mouse
Nome visualizzato del prodotto product.displayName Nome del carico di lavoro visualizzato nella maggior parte dei contesti
Nome visualizzato completo del prodotto product.fullDisplayName Nome completo di visualizzazione del carico di lavoro
Descrizione del prodotto. product.description Descrizione visualizzata nella home page del carico di lavoro
Titolo della scheda materiale di apprendimento product.homePage.learningMaterials[].title Titolo di una scheda dei materiali di apprendimento nella home page del carico di lavoro
Descrizione della scheda materiale di apprendimento product.homePage.learningMaterials[].description Descrizione nella scheda dei materiali di apprendimento sulla pagina principale delle attività
Introduzione alla scheda materiale di apprendimento product.homePage.learningMaterials[].introduction Introduzione di una scheda dei materiali di apprendimento nella home page del carico di lavoro (visualizzata sotto il titolo)
Titolo azione personalizzata product.homePage.newSection.customActions[].title Titolo di una scheda azione personalizzata nella home page
Creare una descrizione dell'esperienza product.createExperience.description Descrizione visualizzata nell'hub di creazione
Creare il titolo della scheda product.createExperience.cards[].title Titolo di una scheda di creazione
Creare la descrizione della scheda product.createExperience.cards[].description Descrizione di una scheda di creazione
Slogan dell'hub del carico di lavoro product.productDetail.slogan Lo slogan visualizzato nella pagina del flusso di lavoro nell'hub della gestione del lavoro
Descrizione del carico di lavoro dell'hub product.productDetail.description Descrizione del prodotto visualizzata nella pagina del carico di lavoro nell'hub delle attività

Lingua del portale di Fabric

Il workloadClient codice fornisce un'API per recuperare le impostazioni del carico di lavoro, che contengono la lingua corrente del portale di Fabric. Ad esempio:

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

Con il codice fornito currentLanguageLocale , è possibile procedere alla localizzazione del carico di lavoro usando qualsiasi framework desiderato. Ad esempio, il repository del carico di lavoro di esempio usa la libreria i18next per tradurre il contenuto di una barra messaggi che notifica l'utente sulla lingua corrente.