Поделиться через


Глобальная поддержка

Заметка

Microsoft Power Fx — это новое название языка формул приложений на основе холста. Эти статьи находятся в стадии разработки, поскольку мы извлекаем язык из приложений на основе холста, интегрируем его с другими продуктами Microsoft Power Platform и делаем его доступным как открытый исходный код. Начнем с Обзор Microsoft Power Fx для введения в язык.

Как при построении, так и при запуске логики текст, отображаемый Power Fx, будет отображаться на соответствующих языках. Даты и числа (ввод и отображение) адаптированы для конкретного языка и региона.

Например, в некоторых регионах в качестве десятичного разделителя используется . (точка), а в некоторых — , (запятая). Это то, что делает и Excel. Обычно это не делается в других языках программирования, которые используют каноническую точку . в качестве десятичного разделителя для всех пользователей по всему миру. Чтобы быть максимально доступным для создателей на всех уровнях, важно, чтобы 3,14 было десятичным числом для человека во Франции, который использовал этот синтаксис всю свою жизнь.

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

Вы можете использовать имена на свое усмотрение для следующих элементов:

  • Имена элементов управления
  • Имена коллекций
  • Имена переменных контекста

Разделители формул и оператор цепочки

Некоторые разделители и операторы меняются в зависимости от десятичного разделителя, характерного для языка автора.

Десятичный разделитель языка автора Десятичный разделитель Power Apps Разделитель элементов списка Power Apps Оператор цепочки Power Apps
. (точка) . (точка) , (запятая) ; (точка с запятой)
, (запятая) , (запятая) ; (точка с запятой) ;; (двойная точка с запятой)

Поведение при изменении разделителя элементов списка Power Apps подобно поведению в Excel. Это влияет на следующее:

Например, рассмотрим следующую формулу, выраженную на языке и в регионе, в которых в качестве десятичного разделителя используется точка, например в Японии или Великобритании:

Формула Power Apps Если открывающая скобка слайдер 1 точка значение больше 12 точка 59 запятая уведомить открывающая скобка двойная кавычка Действительно! двойные кавычки запятая успешно закрывающая скобка точка с запятой Перейти открывающая скобка двойная кавычка NextScreen двойная кавычка запятая None закрывающая скобка запятая уведомить открывающая скобка двойная кавычка Недействительно, попробовать еще раз двойная кавычка запятая ошибка закрывающая скобка закрывающая скобка.

Теперь просмотрите эту же формулу в языке и регионе, где запятая используется для десятичного разделителя, например во Франции или Испании:

Формула Power Apps Если открывающая скобка слайдер 1 точка значение больше 12 запятая 59 точка с запятой уведомить открывающая скобка двойная кавычка Действительно! двойные кавычки точка с запятой успешно закрывающая скобка двойная точка с запятой Перейти открывающая скобка двойная кавычка NextScreen двойная кавычка точка с запятой None закрывающая скобка точка с запятой уведомить открывающая скобка двойная кавычка Недействительно, попробовать еще раз двойная кавычка точка с запятой ошибка закрывающая скобка закрывающая скобка.

Выделение показывает операторы, которые меняются между двумя версиями. Правильный выбор оператора . (точка) в Slider1.Value не изменяется, независимо от того, чем выражен десятичный разделитель.

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

Создание глобального приложения

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

Функция Language

Функция Language возвращает тег языка текущего пользователя. Например, эта функция возвращает en-GB для пользователей в Великобритании и de-DE для пользователей, которые находятся в Германии.

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

Таблица с локализованным текстом.

Чтобы извлечь переведенные строки из таблицы, используйте следующую формулу:

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

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

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

Форматирование чисел, дат и времени

В разных частях мира используются свои форматы чисел, дат и времени. Десятичные знаки, запятые, порядок указания месяца, даты и года — все это имеет разный формат в разных регионах.

Функция Text форматирует числа и даты в соответствии с параметрами языка пользователя.

Тексту требуется строка формата, чтобы знать, как вы хотите отформатировать число или дату. Строку форматирования можно представить в нескольких формах.

  • Глобальное перечисление. Например, Text( Now(), DateTimeFormat.LongDate ). Эта формула отформатирует текущую дату в соответствующем для языка формате. Этот метод является предпочтительным способом определения строки форматирования.
  • Пользовательская строка форматирования. Например, Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ). Эта строка отображает тот же текст, что и строка перечисления для языка в формате "en-US". Преимуществом пользовательской строки форматирования является то, что вы можете указать именно то, что вам нужно.

Элемент "[$-en-US]" в начале пользовательской строки форматирования задает для функции Text язык, который нужно использовать для интерпретации этой строки. Эта строка вставляется автоматически в соответствии с языком разработки. Обычно эту строку изменять не нужно. Это особенно эффективно, когда одно приложение редактируют несколько авторов, использующих разные языки.

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

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

Чтение чисел, дат и времени

Существует четыре функции для чтения чисел, дат и времени, которые задает пользователь.

  • Значение: преобразует число в текстовой строке в числовое значение.
  • DateValue: преобразует значение даты в текстовой строке в значение даты/времени. Любое время, указанное в текстовой строке, игнорируется.
  • TimeValue: преобразует значение времени в текстовой строке в значение даты/времени. Любая дата, указанная в текстовой строке, игнорируется.
  • DateTimeValue: преобразует значение даты и времени в текстовой строке в значение даты/времени.

В Excel все эти функции объединяются в одну функцию Value. Они рассматриваются отдельно, так как в Power Apps существует несколько типов для значений даты, времени и чисел.

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

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

Например:

  • Значение( "12,345.678", "en-US" ) или Значение( "12,345.678" ) при расположении там, где "en-US" — язык пользователя, возвращает число 12345.678, готовое для вычислений.
  • DateValue( "1/2/01", "es-ES" ) или DateValue( "1/2/01" ) при расположении там, где "es-ES" — язык пользователя, возвращает значение даты/времени 1 февраля 2001 года в полночь.
  • TimeValue( "11:43:02", "fr-FR" ) или TimeValue( "11:43:02" ) при расположении там, где "fr-FR" — язык пользователя, возвращает значение даты/времени 1 января 1970 года в 11:43:02.
  • DateTimeValue( "11:43:02 1/2/01", "de-DE" ) или DateTimeValue( "11:43:02 1/2/01" ) при расположении там, где "de-DE" — язык пользователя, возвращает значение даты/времени 1 февраля 2001 г. в 11:43:02.

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

Функции Calendar и Clock

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

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

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