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


Функція Language

Застосовується до: програм Canvas Desktop flows 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 також використовують теги мов. За допомогою цих функцій можна перекладати текстові рядки загальноприйнятим способом. Під час передавання тегу мови до цих функцій регіон не матиме жодного впливу, тому можна використовувати лише ту частину тегу, що відповідає за мову.

Синтаксис

Language()

Приклади

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

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

Формула Розташування Повернуте значення
Language() Лісабон, Португалія "pt-PT"
Language() Ріо-де-Жанейро, Бразилія "pt-BR"
Language() Атланта, США "en-US"
Language() Манчестер, Сполучене Королівство "en-GB"
Language() Париж, Франція "fr-FR"
Language() Розо, Домініка "en"
Language() Белґрад, Сербія "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 Translator.

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

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

  • MicrosoftTranslator.Translate( "Hello", Language() )

Служба Microsoft Translator використовує ті самі теги мови, які повертає функція Language.

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

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