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


Функція Language

Застосовується до: програм Canvas Desktop flows Power Pages Power Platform CLI

Повернення тегу мови поточного користувача.

Опис

Функція Language повертає мову, сценарій та регіон поточного користувача як тег мови.

За допомогою відомостей про мову можна адаптувати програму до різних регіональних параметрів. Наприклад, у разі створення програми для використання в Італії та Франції можна використати функцію Language для автоматичного відображення рядків італійською або французькою мовами для користувачів у цих регіонах.

Теги мови

Тег мови може мати один із зазначених нижче форматів.

Значення, що повертається Опис
"lg-RE" lg – це двосимвольна абревіатура для мови, а RE – це двосимвольна абревіатура для регіону. Такий формат значення, що повертається, є найпоширенішим. Наприклад, «en-GB» повертається для Сполученого Королівства.
"LG" LG – це двосимвольна абревіатура для мови. Цей формат використовується, якщо Power Apps має відомості про мову, але не має інформації про конкретний регіон.
"lg-scrp-RE" lg — це двосимвольна абревіатура для мови, scrp — це чотирисимвольна абревіатура для письма, а RE — це двосимвольна абревіатура для регіону.

Power Apps використовує формат тегів мови, що відповідає IETF BCP-47.

Для перегляду списку тегів підтримуваних мов уведіть Value( "1", ) у рядку формул або розширеному поданні та прокрутіть список мов, що пропонуються для другого аргументу.

Функції Text і Value також використовують теги мов. За допомогою цих функцій можна перекладати текстові рядки загальноприйнятим способом. Під час передавання тегу мови до цих функцій регіон не матиме жодного впливу, тому можна використовувати лише ту частину тегу, що відповідає за мову.

Синтаксис

Мова()

Приклади

Регіональні параметри користувача

Передбачається, що операційна система хоста та/або браузер використовують регіональні параметри за замовчуванням для конкретного розташування.

Формула Розташування Повернуте значення
Мова() Лісабон, Португалія "pt-PT"
Мова() Ріо-де-Жанейро, Бразилія "pt-BR"
Мова() Атланта, США "en-US"
Мова() Манчестер, Сполучене Королівство "en-GB"
Мова() Париж, Франція "fr-FR"
Мова() Розо, Домініка "en"
Мова() Белґрад, Сербія "sr-cyrl-RS" або "sr-latn-RS", залежно від настройок системи користувача

Таблиця локалізації

Простий підхід до локалізації полягає у створенні електронної таблиці Excel, що зіставляє вказаний автором TextID з перекладеним текстом для мови користувача. Хоча для цієї таблиці можна використати колекцію або будь-яке інше джерело даних, ми вибрали Excel через простоту редагування та керування перекладачами за межами програми.

  1. У програмі Excel створіть наступну таблицю.

    Таблиця локалізації.

    Запис зі значенням blank (пусте значення) у стовпці Language (Мова) буде використовуватися за замовчуванням, якщо для вказаної мови не буде знайдено певний текстовий рядок. Цей запис має відображатися після всіх інших записів для вказаного TextID.

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

  2. Скористайтеся стрічкою Вставити (команда Таблиця), щоб привести таблицю Excel до належного вигляду. За замовчуванням вона матиме ім’я Таблиця1, проте його можна змінити на будь-яке інше за допомогою стрічки Табличні знаряддя/Конструктор і текстового поля Ім’я таблиці: зліва.

  3. Збережіть файл Excel у локальній файловій системі.

  4. У Power Apps, в області праворуч, клацніть вкладку Джерела даних (або торкніться її), а потім виберіть Додати джерело даних.

  5. Клацніть елемент Додати статичні дані до програми (або торкніться його), виберіть збережений файл Excel, а потім натисніть кнопку Відкрити.

  6. Виберіть створену таблицю, а потім натисніть кнопку Пов’язати.

У програмі, замість використаного раніше тексту «Hello» (Привіт), використайте нижченаведену формулу.

  • LookUp( Таблиця1, TextID = "Привіт" && (LanguageTag = Left( Language(), 2 ) || IsBlank( LanguageTag ))). Локалізований текст

Формула підставить відповідне значення аргументу LocalizedText для мови користувача або, якщо його не буде знайдено, використає версію за замовчуванням – пусте значення.

Зауважте, що перекладені рядки в інших мовах можуть бути значно довшими, ніж у вашій мові. У багатьох випадках надписи та інші елементи, які відображають рядки в інтерфейсі користувача, мають бути ширшими для пристосування.

Служба перекладу

Ви можете перекласти текст за запитом за допомогою послуги перекладу, наприклад Microsoft , послуги Перекладача:

  1. У Power Apps, в області праворуч, клацніть вкладку Джерела даних (або торкніться її), а потім виберіть Додати джерело даних.
  2. Натисніть Microsoft Перекладач.

У програмі, замість використаного раніше тексту «Hello» (Привіт), використайте нижченаведену формулу.

  • MicrosoftTranslator.Translate( "Привіт", Language() )

Служба Microsoft «Перекладач» використовує ті самі language теги, які повертає функція «Мова ».

Цей підхід має деякі недоліки в порівнянні з попереднім прикладом, у якому використовувалася попередньо перекладена таблиця текстових рядків.

  • Для виконання перекладу знадобиться час, протягом якого здійснюватиметься виклик служби через мережу. Це призведе до затримки відображення перекладеного тексту в програмі.
  • Переклад буде машинним і може не відповідати очікуванням чи конкретній ситуації з програмою.