本地化是藉由改變語言或內容來調整產品,以便服務其他市場的過程。 將您的工作進行在地化可讓您觸及更廣泛的受眾,並提供給客戶最佳的個人化體驗。 例如,針對其預設語言不是英文的使用者,當地語系化的工作負載在 Microsoft Fabric 工作負載中心中更具吸引力。
以下圖片顯示在工作負載中心中本地化工作負載的範例。
針對 Fabric 工作負載,本地化涉及兩個方面:
獨立於 Fabric 殼層,使用 Fabric 入口網站語言,在 iframe 中翻譯文字。
啟用 Fabric Shell 中使用的關鍵詞翻譯,例如工作負載名稱、項目名稱和工作負載描述。 這些字串目前直接位於指令清單檔案中(
product.json和item.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資料夾中,假設作業未本地化。 - 若要將工作負載視為本地化,該工作負載在資料夾中必須只有兩個子目錄
assets:images和locales。 請勿在assets資料夾中放置其他檔案。
在地化目標
下列所有屬性都會本地化:displayName、fullDisplayName、、displayNamePlural、descriptionintroductiontitle、、 tooltip和 slogan。
在產品和專案指令清單檔案中,這些屬性會對應至下列屬性:
| 名稱 | 清單中的結構 | 說明 |
|---|---|---|
| 項目顯示名稱 | 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 來翻譯訊息列的內容,通知使用者目前語言。