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

說明

Language 函式會傳回目前使用者的語言、指令碼和區域做為語言標記。

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

語言標記

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

傳回值 說明
"lg‑RE" lg 是語言的兩個字元縮寫,而 RE 是區域的兩個字元縮寫。 這是最常見的傳回類型。 例如,英國會傳回 "en-GB"。
"lg" lg 是語言的兩個字元縮寫。 這是當 PowerApps 具有語言的相關資訊,但並沒有特定區域的資訊時所使用的格式。
"lg‑scrp‑RE" lg 是語言的兩個字元縮寫,scrp 是指令碼的四個字元縮寫,而 RE 是區域的兩個字元縮寫。

PowerApps 使用 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 中建立下列資料表︰

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

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

  2. 使用 [插入] 功能區,資料表命令,將此設為適當的 Excel 資料表。 根據預設,它將會命名為 Table1,但您可以使用 [資料表工具/設計]功能區和最左邊的 [資料表名稱︰]文字方塊將它任意命名。

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

  4. 在 PowerApps 中,按一下或點選 [資料來源] 索引標籤,然後按一下或點選 [新增資料來源]。

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

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

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

  • LookUp( Table1, TextID = "Hello" && (LanguageTag = Left( Language(), 2 ) || IsBlank( LanguageTag ))).LocalizedText

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

請注意,其他語言的翻譯字串可能會比您所用語言的字串長得多。 在許多情況下,於使用者介面中顯示字串的標籤和其他元素必須更寬才能容納得下。

轉譯服務

您可以使用轉譯服務 (例如 Microsoft Translator 服務) 隨需轉譯文字︰

  1. 在 PowerApps 中,按一下或點選 [資料來源] 索引標籤,然後按一下或點選 [新增資料來源]。

  2. 按一下或點選 Microsoft Translator

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

  • MicrosoftTranslator.Translate( "Hello", Language() )

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

相較於上一個範例利用文字字串的預先轉譯資料表,這種方法有一些缺點︰

  • 轉譯需要時間才能完成,需要透過網路呼叫服務。 這會導致在您的應用程式中查看轉譯文字的延隔時間。
  • 轉譯會很機械化,且可能不如您所預期,或應用程式內情況的最佳選擇。