建置多重語言應用程式
在本文中,您將瞭解如何建立具有當地語系化體驗的多語言應用程式。 用此方法,您可以使用畫布應用程式元件,並使用統一的公式語法在應用程式中提供翻譯。
重要
本文所述的方法使用公開預覽版的畫布應用程式元件。 如需詳細資訊,請參閱為畫布應用程式建立元件
建立翻譯元件
使用多語言應用程式時,第一個步驟是建立可重複使用的翻譯元件。 在此元件中,您將儲存一個資料表,其會做為您所需的所有翻譯的字典。 輸出屬性將用於根據執行使用此元件的應用程式的使用者語言,提供此字典資料表中的輸出字串。
登入 Power Apps。
在左窗格中,選取應用程式。
在應用程式下,選取元件程式庫 (預覽版)。
選取 + 新增元件程式庫 (預覽版)。
輸入名稱,例如「翻譯元件」,然後選取建立,在 Power Apps Studio 中開啟元件。
在左窗格中選取 ... 以重新命名 "Component1",然後選取重新命名做為「翻譯元件」。
從畫面右側的屬性窗格中,選取 + 新自訂屬性。
設定以下屬性值:
屬性名稱 值 顯示名稱 語言 名字 語言 描述 要將文字翻譯成的語言。 屬性類型 輸入 資料類型 文字 選取當值變更時引發 OnReset 核取方塊。
選取 建立。
注意
此輸入屬性會接收登入使用者的目前地區設定識別碼 (LCID)。
從畫面右側的屬性窗格中,選取 + 新自訂屬性。
設定以下屬性值:
屬性名稱 值 顯示名稱 標籤 名字 標籤 描述 已翻譯的標籤。 屬性類型 輸出 資料類型 錄製 選取 建立。
注意
此輸出屬性會根據輸入地區設定識別碼公開已翻譯的標籤。
在畫面的左上側,選取 [屬性清單] 下拉式清單,然後選擇元件的 OnReset 屬性。
在 OnReset 屬性的資料編輯列中,複製並貼上以下公式。
Set( varTranslations, Table( { Language: "en-us", Labels: { Title: "UI Tips for building canvas apps", JobTitle: "Power Platform Specialist" } }, { Language: "pt-br", Labels: { Title: "Dicas de UI para construir canvas apps", JobTitle: "Especialista de Power Platform" } } ) )
該公式使用 Set() 函數來建立資料表,將不同語言的標籤做為字典。 若要將此表格自訂為您的翻譯字典,請變更控制項名稱,例如 Title、JobTitle、Platform、Close、Open、Cancel 等。 您可以根據業務需求新增或移除控制項名稱的翻譯。
該資料表還應為您應用程式支援的每種語言提供項目。 每個項目都會有一個標籤屬性,其中包含應用程式中所有可能的按鈕、輸入和標籤的翻譯內容。
在畫面的左上側,選取 [屬性清單] 下拉式清單,然後選擇元件的標籤屬性。
在 Labels 屬性的資料編輯列中,複製並貼上以下公式。
LookUp( varTranslations, Language = Lower( Coalesce( Self.Language, Language() ) )).Labels
該公式使用 Lookup() 函數根據輸入 Language 尋找正確的翻譯項目。 如果未設定語言,則公式會透過 Coalesce 函數使用目前使用者的語言做為篩選。
選取檔案 -> 儲存來儲存元件程式庫。
選取發佈以發佈元件程式庫。
提示
若要深入了解如何建立、儲存及發佈元件程式庫,請移至建立範例元件程式庫
您的翻譯元件程式庫已建立、儲存並發佈以供使用。
在您的應用程式中使用翻譯元件
先前,您已建立翻譯元件程式庫以供重複使用。 在本節中,您將建立使用翻譯元件程式庫的應用程式,並根據所選語言來示範語言翻譯。
先建立具有手機配置的空白畫布應用程式。
在畫面左側,選取 + (插入)。
在畫面左下側,選取取得更多元件。
選取翻譯元件。
注意
如果您使用不同的名稱儲存先前建立的元件程式庫,則名稱可能會有所不同。
選取匯入。
在畫面左側,選取 + (插入)。
在程式庫元件下,選取翻譯元件,將元件新增至此應用程式。
在畫面左側,選取樹狀檢視。
選取翻譯元件。
在畫面的左上側,選取 [屬性清單] 下拉式清單,然後選擇元件的 Visible 屬性。
將 Visible 屬性的值設為 False,讓元件不顯示在應用程式上。
在控制項清單中的輸入下,選取切換開關。
在畫面的左上側,選取 [屬性清單] 下拉式選單,然後選擇元件的 OnChange 屬性。
將切換開關控制項 OnCheck 屬性的公式更新為以下內容。
Set(varLanguage,"pt-br")
在此公式中,切換開關使用函數 Set() 為葡萄牙文 (BR) 語言代碼設定了一個名為 varLanguage 的變數,其值為 "pt-br"。
將切換開關控制項 OnUncheck 屬性的公式更新為以下內容。
Set(varLanguage,"en-us")
在此公式中,切換開關使用函數 Set() 為英文 (US) 語言代碼設定了一個名為 varLanguage 的變數,其值為 "en-us"。
在畫面左側,選取翻譯元件。
在畫面的左上側,選取 [屬性清單] 下拉式清單,然後選擇元件的語言屬性。
將 Language 屬性的公式值設為
varLanguage
。 變數 varLanguage是由先前設定的切換開關所決定。 選取切換開關後,語言會設定為 "pt-br"。 取消選取時,語言會設定為 "en-us"。在畫面左側,選取 + (插入)。
選取文字標籤。
使用屬性窗格在畫面右側將標籤控制項名稱更新為標題。
再選取文字標籤以新增另一個標籤。
將標籤控制項名稱更新為 JobTitle。
在切換開關控制項下設定 Title 及 JobTitle 標籤,讓兩個標籤都可顯示。
將畫面左上側的 Title 和 JobTitle 標籤的 Text 屬性設為以下內容。
標籤 公式 職稱 'Translation component_1'.Labels.Title
JobTitle 'Translation component_1'.Labels.JobTitle
注意
將此公式中的 'Translation component_1' 取代為您應用程式中元件的名稱 (如果不同)。
同樣地,您可以使用不同的標籤及屬性 (如先前建立的元件中所定義) 來傳遞更多的屬性值。 例如,除了 Title 和 JobTitle 之外,您還在具有翻譯文字的元件程式庫中建立更多屬性,例如Description 或 Instructions。 然後,在相應的標籤上使用此類屬性,例如 'Translation component_1'.Labels.Description 或 'Translation component_1'.Labels.Instructions。
選取檔案 -> 儲存,更新應用程式的名稱,然後選取儲存來儲存您的應用程式。 其他資訊:儲存和發佈應用程式
使用翻譯語言來測試您的應用程式
現在您的應用程正在使用翻譯元件。 移至 Power Apps 並選取應用程式以執行。
選取切換開關後,標籤的語言將變更為葡萄牙文 (BR)。 取消選取時,語言會設定回為英文 (US)。
利用這種方法,您現在可以建立自己的元件,其中包含符合業務需求的翻譯字典。 然後,建立更多使用元件的畫布應用程式,讓商務使用者可以使用不同語言。