PowerApps является глобальным продуктом. Вы можете создать приложения на разных языках и для разных регионов и использовать их.

Текст, отображающийся в PowerApps во время создания и выполнения приложений, переведен на разные языки. Элементы меню, диалоговые окна, вкладки ленты и другие элементы пользовательского интерфейса доступны на вашем языке. Даты и числа (ввод и отображение) также адаптированы для конкретного языка и региона. Например, в некоторых регионах в качестве десятичного разделителя используется знак ".", а в некоторых — ",".

Создаваемые вами приложения доступны повсеместно. Чтобы адаптировать отображаемое содержимое и входные данные для разных языков, вы можете использовать функции Language, Text, Value, DateValue и другие.

Языковые параметры

Если вы работаете с собственной студией или проигрывателем, используемый язык зависит от параметров операционной системы компьютера. Для устройств с Windows языковыми параметрами можно управлять, выбрав "Все параметры", а затем — "Время и язык". Windows также позволяет выбрать предпочтительный знак десятичного разделителя, переопределяя языковые параметры.

Если вы работаете с Интернетом, используемый язык зависит от настроек браузера. Большинство браузеров по умолчанию используют языковые параметры операционной системы компьютера. Некоторые из них также позволяют задать язык вручную.

Среда разработки

Среда разработки адаптируется в соответствии с языковыми параметрами на компьютере автора. Так как само приложение поддерживает любой язык, одно и то же приложение могут редактировать авторы, использующие разные языки.

Имена в формулах

Большинство элементов в формуле всегда используются только на английском языке.

  • Имена функций: If, Navigate, Collect и другие.
  • Имена свойств элементов управления: Screen.Fill, Button.OnSelect, Textbox.Font и другие.
  • Имена обозначения: Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold и другие.
  • Записи сигналов: Compass.Heading, Location. Latitude, App.ActiveScreen и другие.
  • Операторы: Parent, in, exactIn и другие.

Так как среда разработки локализована, имена элементов управления и других объектов будут представлены на языке разработчика. Ниже приведены некоторые имена элементов управления на испанском языке.

Если вы добавите одно из них в приложение, оно по умолчанию будет использоваться на английском языке. Это необходимо для согласованности с именами свойств элементов управления и остальными элементами формулы. Если взять в качестве примера имя 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

Функция 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.

Все эти функции имеют те же аргументы.

  • String (обязательно). Строка пользователя. Например, строку вводят в элементе управления Text input, а считывают с элемента управления с помощью свойства Text.
  • Language (необязательно). Язык для интерпретации строки. По умолчанию это язык, заданный в параметрах языка пользователя.

Пример.

  • 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.

Дополнительные сведения см. в руководстве о функциях Value, DateValue, TimeValue и DateTimeValue, а также в руководстве о работе с датами и временем.

Функции Calendar и Clock

Функции Calendar и Clock предоставляют сведения о календаре и времени для текущего языка пользователя.

Помимо прочего, вы можете использовать эти функции, чтобы предоставить элемент управления Раскрывающийся список с элементами списка.

Дополнительные сведения см. в руководстве о функциях Calendar и Clock.