PowerApps 是全球性產品。 您可以建置眾多不同語言的應用程式並在許多不同區域中使用。

在建置和執行應用程式時,PowerApps 所顯示的文字已經翻譯成各種語言。 您會看到原生語言的功能表項目、對話方塊、功能區索引標籤與其他文字。 輸入和顯示的日期與數字也會根據您特定的語言和區域而調整。 例如,世界上的某些區域使用 "." 做為小數分隔符號,某些則使用 ","。

您所建立的應用程式也可以讓全世界知道。 請使用 LanguageTextValueDateValue 和其他函式,來調整所顯示並作為不同語言之輸入的內容。

語言設定

在使用原生工作室或原生播放程式時,所使用的語言是由主機的作業系統提供。 在 Windows 中,這可以在 [所有設定] > [時間與語言] 設定底下進行控制。 Windows 也可讓您指定小數分隔符號所要使用的字元,以覆寫語言設定。

在使用 Web 體驗時,所使用的語言是由瀏覽器提供。 大部分瀏覽器會預設使用主機作業系統的設定,但有一些也會提供方法讓您手動設定語言。

編寫環境

編寫環境會順應編寫者的語言設定。 應用程式本身會以語言中立的方式儲存,讓使用不同語言的編寫者可以編輯相同的應用程式。

公式中的名稱

公式中的大部分元素一律採用英文︰

  • 函式名稱︰IfNavigateCollect、...
  • 控制項屬性名稱︰Screen.FillButton.OnSelectTextbox.Font、...
  • 列舉名稱︰Color.AquaDataSourceInfo.MaxValueFontWeight.Bold...
  • 訊號記錄︰Compass.HeadingLocation.LatitudeApp.ActiveScreen、...
  • 運算子:ParentinexactIn、...

由於編寫經驗會當地語系化,控制項和其他物件的名稱會以編寫者的原生語言來顯示。 某些控制項的西班牙文名稱會顯示為︰

當您將上述其中一個控制項插入您的應用程式時,其名稱預設使用英文。 這麼做是為了與控制項的屬性名稱和公式的其餘部分保持一致。 例如,上面列出的 Casilla 會插入為 Checkbox1

控制項插入後,您可以將其名稱變更為任何您喜歡的名稱。 在選取的狀況下,[內容] 功能區的最左邊會顯示控制項的名稱。 選取此名稱可下拉出文字方塊供您編輯名稱︰

如有需要,您可以在這裡將控制項重新命名為 Casilla1。 此案例中的紅色曲線是由瀏覽器所顯示,原因是這個名稱不是西班牙文單字,所以沒什麼關係。

下列項目的名稱可隨您喜好命名︰

  • 控制項名稱
  • 集合名稱
  • 內容變數名稱

公式分隔符號和鏈結運算子

某些分隔符號和運算子會隨編寫者所用語言的小數分隔符號而轉變︰

編寫者所用語言的小數分隔符號 PowerApps 小數分隔符號 PowerApps 清單分隔符號 PowerApps 鏈結運算子
. (句點) . (句點) , (逗號) ; (分號)
, (逗號) , (逗號) ; (分號) ;; (雙分號)

PowerApps 清單分隔符號的變化會與 Excel 清單分隔符號的變化一致。 它會影響︰

例如,請設想下列使用 "en-US" 的公式︰

  • If( Slider1.Value > 12.59, UpdateContext( { Validation: true, MovingOn: 1 } ); Navigate( "NextScreen", "" ), UpdateContext( { Validation: false } ) )

在小數分隔符號使用 "," 的語言中,此公式在編寫體驗中會呈現為︰

  • If( Slider1.Value > 12,59; UpdateContext( { Validation: true; MovingOn: 1 } );; Navigate( "NextScreen", "" ); UpdateContext( { Validation: false } ) )

請注意,屬性選擇運算子 .Slider1.Value 中永遠不變,無論小數分隔符號為何。

公式內部並不會改變,所改變的是其顯示方式和編寫者的編輯方式。 使用兩種不同語言的兩位不同編寫者可檢視和編輯相同的公式,但兩位都會看到適用於其語言的分隔符號和運算子。

建立全球性應用程式

您所建立的應用程式可順應不同語言,為您在世界各地的使用者提供絕佳的使用者體驗。

語言函式

Language 函式會傳回目前使用者慣用語言的語言標記。 例如,若是英國的使用者,此函式會傳回 "en-GB",若是德國的使用者,此函式會傳回 "de-DE"

此外,您可以使用 Language 來為使用者顯示翻譯過的文字。 您的應用程式中可以包含翻譯值的資料表︰

然後,使用如下所示的公式從資料表中提取已翻譯的字串︰

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

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

如需詳細資訊,請參閱 Language 函式的文件。

設定數字、日期和時間的格式

世界各地的數字、日期和時間會以不同格式來書寫。 不同地方的逗號、小數以及月、日和年的順序會有不同意義。

Text 函式會使用使用者的語言設定,來設定數字和日期的格式。

Text 需要格式字串才能知道您要如何設定數字或日期的格式。 此格式字串可採用下列兩種形式的其中一種︰

  • 全球感知列舉。 例如,Text( Now(), DateTimeFormat.LongDate )。 此公式會以適用於該語言的格式來設定目前日期的格式。 這是比較好的格式字串指定方式。
  • 自訂格式字串。 例如,Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ) 在用於 "en-US" 語言時,會顯示和列舉相同的文字。 自訂格式字串的優點是您可以指定完全符合需求的字串。

自訂格式字串前的 "[$-en-US]" 會對 Text 指出該以何種語言解譯自訂格式字串。 此引數會自動插入,且預設使用您在編寫時所用的語言。 您通常不需要變更此引數。 當使用不同語言的編寫者在編輯相同的應用程式時,此引數會很有用。

Text 的第三個引數會指定函式的結果所要使用的語言。 預設值是目前使用者的語言設定。

如需詳細資訊,請參閱 Text 函式的文件。

讀取數字、日期和時間

有四個函式可讀取使用者所提供的數字、日期和時間︰

  • Value︰將文字字串中的數字轉換為數值。
  • DateValue:將文字字串中的日期值轉換為日期/時間值。 文字字串中指定的任何時間都會遭到忽略。
  • TimeValue:將文字字串中的時間值轉換為日期/時間值。 文字字串中指定的任何日期都會遭到忽略。
  • DateTimeValue:將文字字串中的日期和時間值轉換為日期/時間值。

如果您已使用 Excel,這些函式會全部結合成單一 Value 函式。 這些函式在這裡會分拆開來,因為 PowerApps 對於日期/時間值和數字有不同的類型。

這些函式全都具有相同的引數︰

  • 字串 (必要)︰使用者提供的字串。 例如,輸入到文字輸入控制項,並使用 Text 屬性從控制項中讀取的字串。
  • 語言 (選擇性)︰用來解譯 String 的語言。 預設值是使用者的語言設定。

例如:

  • Value( "12,345.678", "en-US" )Value( "12,345.678" ) 若位於使用者語言為 "en-US" 的地方,會傳回 12345.678 以供計算。
  • DateValue( "1/2/01", "es-ES" )DateValue( "1/2/01" ) 若位於使用者語言為 "es-ES" 的地方,會傳回日期/時間值 February 1, 2001 at midnight
  • TimeValue( "11:43:02", "fr-FR" )DateValue( "11:43:02" ) 若位於使用者語言為 "fr-FR" 的地方,會傳回日期/時間值 January 1, 1970 at 11:43:02
  • TimeDateValue( "11:43:02 1/2/01", "de-DE" )DateValue( "11:43:02" ) 若位於使用者語言為 "de-DE" 的地方,會傳回日期/時間值 February 1, 2001 at 11:43:02

如需詳細資訊,請參閱 ValueDateValue、TimeValue 和 DateTimeValue 函式以及處理日期和時間的文件。

日曆和時鐘資訊

CalendarClock 函式可提供使用者目前所用語言的日曆和時鐘資訊。

此外,請使用這些函式來提供下拉式清單控制項與選項清單。

如需詳細資訊,請參閱 CalendarClock 函式的文件。