Глобальна підтримка
Нотатка
Microsoft Power Fx — це нове назва мови формул компонованих програм. Робота над цим циклом статей триває, оскільки ми поступово виокремлюємо згадану мову з компонованих програм, інтегруємо її з іншими продуктами Microsoft Power Platform і робимо відповідний код відкритим. Почніть знайомство з мовою формул з Огляду Microsoft Power Fx.
Під час створення та запуску логіки, текст, що відображається Power Fx відображатиметься відповідними мовами. Введення та відображення дат і чисел пристосовано для конкретної мови та регіону.
Наприклад, у деяких регіонах світу в ролі десяткового роздільника використовується .(крапка), а в інших — , (кома). І все це робить Excel. Зазвичай це не робиться іншими мовами програмування, в яких використовується канонічна крапка . як десятковий роздільник для всіх користувачів світу. Щоб бути якомога більш прийнятним для розробників на всіх рівнях, важливо, щоб 3,14
було десятковим числом для особи, яка живе у Франції і використовувала цей синтаксис упродовж усього свого життя.
Програми, які ви створюєте, також можуть орієнтуватися на весь світ. Щоб адаптувати те, що відображається і використовується як вхідний код різними мовами, скористайтеся функціями Language, Language і 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. Це впливає на:
Наприклад, розглянемо таку формулу, виражену мовою та в регіоні, де як десятковий роздільник використовується крапка, наприклад у Японії або Сполученому Королівстві.
Тепер погляньмо на цю саму формулу мовою та в регіоні, де як десятковий роздільник використовується кома, наприклад у Франції або Іспанії.
Виділено оператори, відмінні у двох версіях. Оператор вибору властивості (крапка) у 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 має окремі типи для значень дати/часу та чисел.
Усі ці функції мають однакові аргументи:
- String, обов’язково: Рядок від користувача. Наприклад, рядок вводиться в елемент керування Введення тексту та зчитується з елемента керування за допомогою властивості Text.
- Мова, необов’язкова: мова, якою слід інтерпретувати Рядок. За замовчуванням, це мовний параметр користувача.
Наприклад:
- 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" є мовою користувача, повертає значення дати/часу 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 надають відомості про календар і годинник для поточної мови користувача.
Крім того, ці функції можна використовувати для надання елементу керування Розкривний список списку варіантів.
Додаткову інформацію див. в документації до функцій Calendar і Clock.