Melokalisasi beban kerja Anda

Pelokalan adalah proses adaptasi produk untuk melayani pasar lain dengan mengubah bahasa atau konten. Melokalisasi beban kerja memungkinkan Anda menjangkau audiens yang lebih luas dan memberi pelanggan Anda pengalaman terbaik yang paling dipersonalisasi. Misalnya, beban kerja yang dilokalkan lebih menarik bagi pengguna yang bahasa defaultnya bukan bahasa Inggris di hub beban kerja Microsoft Fabric.

Gambar berikut menunjukkan contoh beban kerja yang dilokalkan di hub beban kerja.

Cuplikan layar sampel produk yang dilokalkan ke Bahasa Spanyol.

Untuk beban kerja Fabric, pelokalan melibatkan dua aspek.

  • Menerjemahkan teks dalam iframe, secara independen dari shell Fabric, dengan menggunakan bahasa portal Fabric.

  • Mengaktifkan terjemahan kata kunci yang digunakan dalam shell Fabric, seperti nama beban kerja, nama item, dan deskripsi beban kerja. String ini saat ini ditemukan langsung dalam file manifes (product.json dan item.json).

    Untuk deskripsi semua string yang dilokalkan, lihat Target pelokalan nanti di artikel ini.

Bahasa yang didukung

Fabric saat ini mendukung 44 bahasa berikut:

Kode bahasa Bahasa
Ar Bahasa Arab
bg български (Bulgaria)
Ca català (Katala)
cs čeština (Ceko)
Da dansk (Denmark)
De Jerman (bahasa Jerman)
El ελληνικά (Yunani)
id-ID Inggris (Inggris)
es Bahasa Spanyol (español)
dan eesti (Estonia)
Uni Eropa Euskal (Basque)
Fi suomi (Finlandia)
Prancis français (Prancis)
Gl galego (Galisia)
dia עברית (Ibrani)
Hai हिन्दी (Hindi)
jam hrvatski (Kroasia)
Uh magyar (Hungaria)
Id Bahasa Indonesia (Indonesia)
itu italiano (Italia)
Ja Jepang
kk Қазақ (Kazakh)
Ko 한국의 (Korea)
liter Lietuvos (Lituania)
Lv Latvia (Latvia)
Ms Bahasa Melayu (Melayu)
Nb norsk (Norwegia)
Belanda Nederlands (Bahasa Belanda)
Pl polski (Polandia)
pt-BR português (Portugis - Brasil)
pt-PT português (Portugis - Portugal)
Ro românesc (Rumania)
Ru русский (Rusia)
Sk slovenský (Slowakia)
Sl slovenski (Slovenia)
sr-Cyrl српски (bahasa Serbia - Sirilik)
sr-Latn srpski (Serbia - Latin)
Swedia svenska (Swedia)
Th ไทย (Thailand)
Tr Türk (Turki)
Inggris український (Ukraina)
Vi tiếng Việt (Vietnam)
zh-Hans 中国 (Tionghoa - Sederhana)
zh-Hant 中國 (Tionghoa - Tradisional)

Anda dapat memilih untuk menyediakan beberapa atau semua bahasa ini. Satu-satunya bahasa yang diperlukan adalah Bahasa Inggris (AS), karena ini adalah bahasa default Fabric.

Struktur paket

Semua string dalam manifes harus diganti dengan kunci. Nilai untuk setiap kunci berada dalam file terpisah.

Misalnya, jika manifes Anda product.json sebelumnya dimulai sebagai berikut:

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

Manifest Anda, product.json sekarang harus seperti contoh ini:

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

Untuk mendukung pelokalan, paket Anda harus memiliki struktur berikut:

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

Setiap lokal memiliki foldernya sendiri di bawah assets/locales. Setiap lokal berisi satu file, translations.json. File ini berisi kamus pasangan kunci/nilai. Misalnya, translations.json file untuk bahasa Inggris dapat berisi:

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

Sedangkan file translation.json untuk bahasa Spanyol dapat berisi:

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

Perilaku bawaan

  • Seperti yang dinyatakan sebelumnya, satu-satunya bahasa yang diperlukan untuk beban kerja yang dilokalkan adalah bahasa Inggris.
  • Jika beban kerja dilokalkan, semua target pelokalan harus disediakan sebagai kunci dalam translations.json file untuk bahasa Inggris.
  • Bahasa lain yang disediakan tidak diperlukan untuk menerjemahkan semua kunci. Setiap kunci yang dibiarkan tidak diterjemahkan akan secara otomatis menggunakan terjemahan bahasa Inggris yang disediakan. Misalnya, jika nama beban kerja Anda harus selalu dalam bahasa Inggris, Anda tidak perlu memberikan terjemahan dalam bahasa lain.
  • Fabric mendukung beban kerja yang dilokalkan dan tidak dilokalkan. Jika ada file gambar yang langsung berada di assets folder, asumsinya adalah bahwa beban kerja tidak dilokalkan.
  • Agar beban kerja diperlakukan sebagai dilokalkan, beban kerja harus hanya memiliki dua subdirektori assets dalam folder: images dan locales. Tidak ada file lain yang dapat berada di assets folder.

Target pelokalan

Semua properti berikut dilokalkan: displayName, , fullDisplayName, displayNamePluraldescription, introduction, title, tooltip, dan slogan.

Dalam file manifes produk dan item, properti tersebut sesuai dengan atribut berikut:

Nama Skema dalam manifes Deskripsi
Nama tampilan item item.displayName Nama tampilan item yang ditampilkan di sebagian besar konteks
Nama tampilan untuk item jamak item.displayNamePlural Nama item yang di-pluralisasi
Nama tampilan item menu konteks item.contextMenuItems.displayName Jika item memiliki entri menu konteks, seperti jalan pintas untuk menjalankan tugas, nama tampilan entri
Tipsalat item menu konteks item.contextMenuItems.tooltip Jika item memiliki entri menu konteks, tooltip yang muncul saat diarahkan
Nama tampilan item tindakan cepat item.quickActionItems.displayName Jika item memiliki tindakan cepat, seperti pintasan untuk menjalankan pekerjaan, nama tindakan yang ditampilkan
Tipsalat item tindakan cepat item.quickActionItems.tooltip Jika item memiliki tindakan cepat, tooltip yang muncul ketika pointer diarahkan ke item
Nama tampilan produk product.displayName Nama tampilan beban kerja yang muncul di sebagian besar konteks
Nama tampilan produk lengkap product.fullDisplayName Nama tampilan beban kerja lengkap
Deskripsi produk product.description Deskripsi yang muncul di beranda beban kerja
Judul kartu materi pembelajaran product.homePage.learningMaterials[].title Judul kartu materi pembelajaran di halaman beranda beban kerja
Deskripsi kartu materi pembelajaran product.homePage.learningMaterials[].description Deskripsi pada kartu materi pembelajaran di halaman beranda beban kerja
Pengenalan kartu materi pembelajaran product.homePage.learningMaterials[].introduction Pengenalan kartu materi pembelajaran di halaman beranda beban kerja (muncul di bawah judul)
Judul tindakan kustom product.homePage.newSection.customActions[].title Judul kartu tindakan kustom di halaman beranda
Membuat deskripsi pengalaman product.createExperience.description Deskripsi yang muncul di hub pembuatan
Membuat judul kartu product.createExperience.cards[].title Judul kartu yang dibuat
Membuat deskripsi kartu product.createExperience.cards[].description Deskripsi kartu yang dibuat
Slogan pusat beban kerja product.productDetail.slogan ** Slogan yang muncul di halaman beban kerja pada pusat beban kerja
Deskripsi pusat beban kerja product.productDetail.description Deskripsi produk yang muncul di halaman muatan kerja di dalam pusat muatan kerja

Bahasa dari portal Fabric

Kode workloadClientmenyediakan API untuk mendapatkan pengaturan beban kerja yang berisi bahasa portal Fabric saat ini. Contohnya:

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

Dengan kode yang disediakan currentLanguageLocale , Anda dapat melanjutkan untuk melokalisasi beban kerja Anda dengan menggunakan kerangka kerja apa pun yang Anda inginkan. Misalnya, repositori beban kerja sampel menggunakan pustaka i18next untuk menerjemahkan konten bilah pesan yang memberi tahu pengguna bahasa saat ini.