將工作負載本地化

本地化是藉由改變語言或內容來調整產品,以便服務其他市場的過程。 將您的工作進行在地化可讓您觸及更廣泛的受眾,並提供給客戶最佳的個人化體驗。 例如,針對其預設語言不是英文的使用者,當地語系化的工作負載在 Microsoft Fabric 工作負載中心中更具吸引力。

以下圖片顯示在工作負載中心中本地化工作負載的範例。

範例產品的西班牙語化螢幕截圖。

針對 Fabric 工作負載,本地化涉及兩個方面:

  • 獨立於 Fabric 殼層,使用 Fabric 入口網站語言,在 iframe 中翻譯文字。

  • 啟用 Fabric Shell 中使用的關鍵詞翻譯,例如工作負載名稱、項目名稱和工作負載描述。 這些字串目前直接位於指令清單檔案中(product.jsonitem.json)。

    如需所有當地語系化字串的描述,請參閱本文稍後 的當地語系化目標

支援的語言

Fabric 目前支援下列 44 種語言:

語言代碼 語言
阿拉伯語 العربية (阿拉伯文)
bg български (保加利亞文)
ca català (加泰蘭文)
cs čeština (捷克文)
(No improvements can be made without additional context.) dansk (丹麥文)
Deutsche (德語)
el ελληνικά (希臘文)
en-US: 還需要提供英文和繁體中文的翻譯。 English (英文)
es español (西班牙文)
et eesti (愛沙尼亞文)
歐盟 Euskal (巴斯克文)
芬蘭 suomi (芬蘭文)
法國 français (法文)
gl galego (加利西亞文)
עברית (希伯來文)
你好 हिन्दी (印度文)
小時 hrvatski (克羅埃西亞文)
magyar (匈牙利文)
識別碼 Bahasa Indonesia (印尼文)
italiano (義大利文)
ja 日本的
kk Қазақ (哈薩克文)
ko 한국의 (韓文)
The translation remains as "lt" unless additional context is provided to clarify its meaning. Lietuvos (立陶宛文)
低壓 Latvijas (拉脫維亞文)
毫秒 Bahasa Melayu (馬來文)
norsk (挪威文)
nl Nederlands (荷蘭文)
pl polski (波蘭文)
pt-BR português (葡萄牙文 - 巴西)
葡萄牙語(葡萄牙) português (葡萄牙文 - 葡萄牙)
ro românesc (羅馬尼亞文)
RU русский (俄文)
sk slovenský (斯洛伐克文)
sl slovenski (斯洛維尼亞文)
sr-Cyrl српски (塞爾維亞文 - 西里爾字母)
sr-Latn srpski (塞爾維亞文 - 拉丁)
SV svenska (瑞典文)
泰国 ไทย (泰文)
tr Türk (土耳其文)
英國 український (烏克蘭文)
vi tiếng Việt (越南文)
zh-Hans 中國(中文 - 簡體)
zh-Hant 中國

您可以選擇提供部分或全部的語言。 唯一需要的語言是英文(US),因為它是 Fabric 的默認語言。

套件結構

設定檔中的所有字串都必須取代為鍵值。 每個索引鍵的值都位於個別的檔案中。

例如,如果您的 product.json 清單檔先前的開頭如下:

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

您的 product.json 指令清單現在應該類似下列範例:

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

若要支援本地化,您的套件必須具有下列結構:

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

每個區域都有自己的資料夾位於 assets/locales 下。 每個地區設定都包含單一檔案 translations.json 此檔案包含索引鍵/值組的字典。 例如, translations.json 英文的檔案可能包含:

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

而西班牙文的translation.json檔案可以包含:

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

預設行為

  • 如先前所述,當地語系化工作負載的唯一必要語言是英文。
  • 如果工作負載已當地語系化,則所有的本地化目標都必須以英文 檔案中的鍵的形式提供。
  • 其他提供的語言不需要翻譯所有金鑰。 任何未翻譯的鍵值將預設為提供的英文翻譯。 例如,如果您的工作負載名稱一律為英文,您就不需要以任何其他語言提供翻譯。
  • Fabric 同時支援本地化和未本地化的工作負載。 如果任何圖像檔 直接 位於 assets 資料夾中,假設作業未本地化。
  • 若要將工作負載視為本地化,該工作負載在資料夾中必須只有兩個子目錄 assetsimageslocales。 請勿在assets 資料夾中放置其他檔案。

在地化目標

下列所有屬性都會本地化:displayNamefullDisplayName、、displayNamePluraldescriptionintroductiontitle、、 tooltipslogan

在產品和專案指令清單檔案中,這些屬性會對應至下列屬性:

名稱 清單中的結構 說明
項目顯示名稱 item.displayName 在多數情境中顯示的項目的顯示名稱
多個項目的顯示名稱 item.displayNamePlural 項目的複數名稱
操作功能表項顯示名稱 item.contextMenuItems.displayName 如果項目具有功能表項,例如執行作業的快捷方式之類的功能,則該項目的顯示名稱會顯示在項目上。
上下文功能表項目工具提示 item.contextMenuItems.tooltip 如果該項目有選單項目,當滑鼠懸停在項目上方時,會出現工具提示。
快速動作項目顯示名稱 item.quickActionItems.displayName 如果項目有快速動作,例如用於執行任務的快捷方式,動作的顯示名稱為
快速動作項目工具提示 item.quickActionItems.tooltip 如果項目有快速動作,當鼠標滑過項目時出現的工具提示
產品顯示名稱 product.displayName 大多數情境中顯示的工作負載顯示名稱
完整產品顯示名稱 product.fullDisplayName 完整的工作負載顯示名稱
產品描述 product.description 在工作負載主頁上顯示的描述
學習材料卡片標題 product.homePage.learningMaterials[].title 工作負載首頁上學習教材卡片的標題
學習材料卡片描述 product.homePage.learningMaterials[].description ** 在工作負載首頁上對學習教材卡片的描述
學習材料卡片簡介 product.homePage.learningMaterials[].introduction 工作負載首頁引入學習材料卡片(出現在標題下方)
自定義動作標題 product.homePage.newSection.customActions[].title 首頁上自定義動作卡片的標題
建立體驗描述 product.createExperience.description 用於建立中樞時出現的描述
建立卡片標題 product.createExperience.cards[].title 創建卡片的標題
建立卡片描述 product.createExperience.cards[].description 創建卡片的描述
工作負載中心的標語 product.productDetail.slogan 工作負載中心的工作負載頁面上出現的標語
工作負載中樞描述 product.productDetail.description 工作負載中樞中的工作負載頁面上出現的產品描述

Fabric 入口網站的語言

程序 workloadClient 代碼 會提供 API 來擷取工作負載設定,其中包含網狀架構入口網站的目前語言。 例如:

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

使用所提供的 currentLanguageLocale 程式代碼,您可以使用任何您想要的架構,繼續將您的工作負載當地語系化。 例如,範例工作負載存放庫會使用程式庫 i18next 來翻譯訊息列的內容,通知使用者目前語言。