共用方式為


Language 函數

適用於: 畫布應用程式 Copilot Studio 桌面流程 Power Platform CLI Dataverse 函數 Power Pages

傳回目前使用者慣用語言的語言標記。

Description

函式會 Language 傳回目前使用者的語言、腳本和區域作為語言標籤。

使用語言資訊自訂您在地區設定的應用程式。 例如,如果您要建立在義大利和法國使用的應用程式,則可以使用來 Language 自動向這些不同位置的使用者顯示義大利文和法文字串。

Language 標籤

語言標記 可為三種格式之一︰

傳回值 Description
lg-RE lg 是語言的雙字元縮寫, RE 是區域的雙字元縮寫。 這是最常見的傳回類型。 例如,英國會傳回「en-GB」。
LG LG 是該語言的雙字元縮寫。 這是當 Power Apps 有語言相關資訊,但沒有特定區域的資訊時使用的格式。
lg-scrp-RE lg 是語言的雙字元縮寫, scrp 是腳本的四字元縮寫, RE 是區域的雙字元縮寫。

Power Apps 使用 IETF BCP-47 語言標記格式。

若要查看支援的語言標籤清單,請在資料編輯列或進階檢視中輸入 Value(“1”,), 然後捲動瀏覽第二個引數建議的地區設定清單。

TextValue 函式也會使用語言標記。 以全球關注的方式使用這些函式來回翻譯文字字串。 將語言標籤傳遞給這些函式,且區域不會產生任何差異時,您可以只使用標籤的語言部分。

語法

Language()

範例

使用者的地區設定

假設主機作業系統和/或瀏覽器使用該位置的預設地區設定。

公式 地點 退貨價值
Language() 里斯本,葡萄牙 「pt-PT」
Language() 里約熱內盧,巴西 「pt-BR」
Language() 亞特蘭大,美國 「en-US」
Language() 英國曼徹斯特 「en-gb」
Language() 巴黎,法國 「fr-FR」
Language() 羅索,多米尼克 「en」
Language() 貝爾格勒,塞爾維亞 “sr-cyrl-RS”或“sr-latn-RS”,具體取決於用戶的系統設置

當地語系化資料表

當地語系化的簡單方法是建立作者定義的 Excel 試算表 TextID 對應到使用者語言的翻譯文字。 雖然您可以針對此資料表使用集合或任何其他資料來源,但我們選擇 Excel,因為翻譯人員可以輕鬆在應用程式外部編輯和管理它。

  1. 在 Excel 中建立下列資料表︰

    當地語系化資料表。

    如果找不到指定語言的特定文字字串,則會使用資料行為Language空白的專案作為預設值。 此項目必須出現在指定 TextID 之後的所有其他項目。

    針對本文目的,我們只需要查看語言的地區設定而不需要查看區域。 如果區域考量很重要,我們可以在上表中包含完整的語言標籤值。

  2. 使用 Insert 功能區,Table 命令,將此設為適當的 Excel 資料表。 預設情況下,它名為 Table1 ,但您可以使用 [表格工具/設計 ] 功能區和最左側的 [表格名稱: ] 文字方塊來命名它。

  3. 將 Excel 檔案儲存至本機檔案系統。

  4. 在 Power Apps 的右側窗格中,按一下或點選 資料來源 索引標籤,然後按一下或點選 新增資料來源

  5. 按一下或點選將 靜態資料新增至您的應用程式,按一下或點選您儲存的 Excel 檔案,然後按一下或點選 [開啟]。

  6. 選取您建立的資料表,然後按一下或點選 [連線]。

在您的應用程式中,無論您之前在何處使用文字 「Hello」 ,請改用下列公式:

  • LookUp( Table1, TextID = “Hello” &&; (LanguageTag = Left( Language(), 2 ) ||IsBlank( LanguageTag ))) 的本地化文字

此公式會查閱使用者語言的適當 LocalizedText 值,如果找不到,則會回復 至預設空白 版本。

其他語言的翻譯字串可能比你的語言更長。 在許多情況下,在使用者介面中顯示字串的標籤和其他元素需要更寬才能容納。

翻譯服務

您可以使用 translation service (例如 Microsoft Translator service) 隨需翻譯文字︰

  1. 在 Power Apps 右窗格中,按一下或點選 Data Sources 索引標籤,然後按一下或點選 Add data source
  2. 按一下或點選 Microsoft Translator

在您的應用程式中,在您之前使用過文字 「Hello」 之處,改為使用此公式︰

  • MicrosoftTranslator.Translate( “你好”, Language() )

Microsoft Translator 服務會使用函式傳回的 Language 相同語言標籤。

與上一個使用預先翻譯的文字字串表的範例相比,此方法有一些缺點:

  • 轉換需要一些時間才能完成,需要透過網路呼叫服務。 這會導致在您的應用程序中查看翻譯文本的延遲。
  • 翻譯是機械的,可能不是您預期的,也不是應用程式內情況的最佳選擇。