PowerApps はグローバル製品です。 さまざまな言語や地域でアプリをビルドおよび使用できます。

アプリのビルド中および実行中、PowerApps によって表示されるテキストはさまざまな言語に翻訳されています。 メニュー項目、ダイアログ ボックス、リボンのタブなどのテキストがお使いの言語で表示されます。 日付や数字の入力と表示にも、お使いの言語とリージョンが適用されています。 たとえば、世界の一部の地域では "." が、その他の地域では "," が小数点として使用されます。

作成したアプリをグローバル対応にすることもできます。 LanguageTextValueDateValue やその他の関数を使用して、さまざまな言語で何が表示され、入力として使用されるかを適用します。

言語の設定

ネイティブのスタジオまたはネイティブのプレーヤーを使用している場合は、使用する言語がホスト オペレーティング システムによって提供されます。 Windows の場合、これは "すべての設定"、次に "時間と言語" の設定で制御できます。 さらに Windows では、言語設定を上書きして、小数点区切り文字として使用する文字を指定できます。

Web の使用が発生しているときに使用される言語は、ブラウザーによって提供されます。 多くのブラウザーでは、既定でホスト オペレーティング システムの設定が使用されますが、一部のブラウザーでは手動で言語を設定することもできます。

オーサリング環境

オーサリング環境は、作成者の言語設定に適応します。 さまざまな言語を使用する作成者たちが同じアプリを編集できるように、アプリ自体は言語に依存しない方法で格納されます。

数式での名前

数式のほとんどの要素は常に英語です。

  • 関数名: IfNavigateCollect、…
  • コントロールのプロパティ名: Screen.FillButton.OnSelectTextbox.Font、…
  • 列挙名: Color.AquaDataSourceInfo.MaxValueFontWeight.Bold、…
  • 信号レコード: Compass.HeadingLocation.LatitudeApp.ActiveScreen、…
  • 演算子: ParentinexactIn、…

オーサリング環境がローカライズされることにともない、コントロールやその他のオブジェクト名が作成者のネイティブ言語で表示されます。 スペイン語の場合、一部のコントロールは次のように表示されます。

アプリに次のいずれかを挿入すると、その名前は既定で英語になります。 これは、コントロールのプロパティ名と、数式の残りの部分との一貫性を保つために行われます。 たとえば、上記で一覧表示されている CasillaCheckbox1 として挿入します。

コントロールの挿入後に、好きな名前に変更できます。 選択した状態では、"コンテンツ" リボンの左側にコントロールの名前が表示されます。 この名前を選択すると、名前を編集できるテキスト ボックスが現れます。

必要に応じて、コントロールの名前を 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 は、小数点が何であろうと常に同じです。

内部的には数式は変更されず、変更されるのは表示方法と作成者による編集方法のみです。 2 つの異なる言語を使用する 2 人の作成者が、それぞれの言語に応じた区切り文字と演算子を見ながら同じ数式を編集することができます。

グローバルなアプリの作成

作成したアプリは、さまざまな言語に適応し、世界中のユーザーに優れたユーザー エクスペリエンスを提供することができます。

Language 関数

Language 関数は、現在のユーザーの言語タグを返します。 たとえば、この関数は英国のユーザーには "en-GB" を、ドイツのユーザーには "de-DE" を返します。

特に、Language を使用すると、ユーザー向けに翻訳されたテキストを表示できます。 アプリには、アプリの翻訳済みの値のテーブルを含めることができます。

その後、次のような数式を使用して、テーブルから翻訳された文字列をプルします。

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

その他の言語に翻訳された文字列は、お使いの言語での文字列よりもはるかに長くなる可能性があることに注意してください。 多くの場合、ユーザー インターフェイスでこれらの文字列を表示するラベルやその他の要素を、大きくして適応させる必要があります。

詳細については、Language 関数のドキュメントを参照してください。

数値、日付、および時刻の書式設定

世界各地で、数値、日付、および時刻はさまざまな形式で表記されています。 コンマの意味、小数点以下桁数、および月、日、年の順序は場所によって異なります。

Text 関数は、ユーザーの言語設定を使用して数値および日付を書式設定します。

Text には、数値や日付をどのように書式設定するかを把握するために、書式設定文字列が必要です。 この書式設定文字列は、以下の 2 つの書式のいずれかである可能性があります。

  • グローバル対応列挙体。 たとえば、Text( Now(), DateTimeFormat.LongDate ) のようになります。 この数式は、言語に適切な形式で現在の日付の書式を設定します。 これは、書式設定文字列を指定する場合にお勧めします。
  • カスタム書式設定文字列。 たとえば、Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ) とすると、言語 "en-US" で使用される場合の列挙と同様のテキストが表示されます。 カスタム書式設定文字列の利点は、特定の項目を指定できることです。

カスタム書式設定文字列の前にある "[$-en-US]" は、その言語でカスタム書式設定文字列を解釈するのかを Text に指示しています。 これが挿入され、既定でユーザーのオーサリング言語になります。 通常、これを変更する必要はありません。 これは、さまざまな言語を使用する作成者が同じアプリを編集するときに便利です。

Text に対する 3 つ目の引数は、関数の結果にどの言語を使用するかを指定します。 既定では、現在のユーザーの言語設定です。

詳細については、Text 関数のドキュメントを参照してください。

数値、日付、および時刻の読み取り

数値、日付、および、ユーザーが指定した時刻を読み取るための 4 つの関数があります。

  • Value: テキスト文字列の数字を数値に変換します。
  • DateValue: 文字列の日付値を日付/時刻値に変換します。 テキスト文字列で指定された時刻は無視されます。
  • TimeValue: テキスト文字列の時刻値を日付/時刻値に変換します。 テキスト文字列で指定された日付は無視されます。
  • DateTimeValue: テキスト文字列の日付と時刻の値を日付/時刻値に変換します。

Excel を使用したことがある場合、これらの関数はすべて単一の Value 関数にまとめられています。 PowerApps には日付/時刻および数字に個別の型がありるため、ここでは分割されます。

これらすべての関数には、同じ引数があります。

  • String, required: ユーザーからの文字列です。 これには、テキスト入力コントロールに入力され、Text プロパティによってこのコントロールから読み取られる文字列などがあります。
  • Language, optional: 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" がユーザーの言語であり、日付/時刻の値 2001 年 2 月 1 日深夜を返します。
  • TimeValue( "11:43:02", "fr-FR" ) または DateValue( "11:43:02" ) の場合、"fr-FR" がユーザーの言語であり、日付/時刻の値 1970 年 1 月 1 日 11:43:02 を返します。
  • TimeDateValue( "11:43:02 1/2/01", "de-DE" ) または DateValue( "11:43:02" ) の場合、"de-DE" がユーザーの言語であり、日付/時刻の値 2001 年 2 月 1 日 11:43:02 を返します。

詳細については、Value 関数および DateValue 関数、TimeValue 関数、DateTimeValue 関数に関するドキュメント、および日付と時刻の処理を参照してください。

カレンダーと時計の情報

Calendar 関数および Clock 関数は、ユーザーの現在の言語でのカレンダーと時計の情報を提供します。

特に、これらの関数を使用すると、選択肢が一覧表示されたドロップダウンコントロールが提供されます。

詳細については、Calendar 関数および Clock 関数のドキュメントを参照してください。