適用於: 畫布應用程式
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”,), 然後捲動瀏覽第二個引數建議的地區設定清單。
Text 和 Value 函式也會使用語言標記。 以全球關注的方式使用這些函式來回翻譯文字字串。 將語言標籤傳遞給這些函式,且區域不會產生任何差異時,您可以只使用標籤的語言部分。
語法
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,因為翻譯人員可以輕鬆在應用程式外部編輯和管理它。
在 Excel 中建立下列資料表︰
如果找不到指定語言的特定文字字串,則會使用資料行為Language空白的專案作為預設值。 此項目必須出現在指定 TextID 之後的所有其他項目。
針對本文目的,我們只需要查看語言的地區設定而不需要查看區域。 如果區域考量很重要,我們可以在上表中包含完整的語言標籤值。
使用 Insert 功能區,Table 命令,將此設為適當的 Excel 資料表。 預設情況下,它名為 Table1 ,但您可以使用 [表格工具/設計 ] 功能區和最左側的 [表格名稱: ] 文字方塊來命名它。
將 Excel 檔案儲存至本機檔案系統。
在 Power Apps 的右側窗格中,按一下或點選 資料來源 索引標籤,然後按一下或點選 新增資料來源。
按一下或點選將 靜態資料新增至您的應用程式,按一下或點選您儲存的 Excel 檔案,然後按一下或點選 [開啟]。
選取您建立的資料表,然後按一下或點選 [連線]。
在您的應用程式中,無論您之前在何處使用文字 「Hello」 ,請改用下列公式:
- LookUp( Table1, TextID = “Hello” &&; (LanguageTag = Left( Language(), 2 ) ||IsBlank( LanguageTag ))) 的本地化文字
此公式會查閱使用者語言的適當 LocalizedText 值,如果找不到,則會回復 至預設空白 版本。
其他語言的翻譯字串可能比你的語言更長。 在許多情況下,在使用者介面中顯示字串的標籤和其他元素需要更寬才能容納。
翻譯服務
您可以使用 translation service (例如 Microsoft Translator service) 隨需翻譯文字︰
- 在 Power Apps 右窗格中,按一下或點選 Data Sources 索引標籤,然後按一下或點選 Add data source。
- 按一下或點選 Microsoft Translator。
在您的應用程式中,在您之前使用過文字 「Hello」 之處,改為使用此公式︰
- MicrosoftTranslator.Translate( “你好”, Language() )
Microsoft Translator 服務會使用函式傳回的 Language 相同語言標籤。
與上一個使用預先翻譯的文字字串表的範例相比,此方法有一些缺點:
- 轉換需要一些時間才能完成,需要透過網路呼叫服務。 這會導致在您的應用程序中查看翻譯文本的延遲。
- 翻譯是機械的,可能不是您預期的,也不是應用程式內情況的最佳選擇。