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


Language функция

Применимо к: Приложения На основе холста Copilot Studio Desktop потоки Power Platform CLI Dataverse функций Power Pages

Эта функция возвращает тег языка текущего пользователя.

Description

Функция Language возвращает язык, скрипт и регион текущего пользователя в виде тега языка.

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

Language Теги

Тег языка может быть в одном из трех форматов:

Возвращаемое значение Description
"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:

    Таблица локализации.

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

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

  2. Чтобы сделать это в соответствующей таблице Excel, на ленте Вставка выберите команду Таблица. По умолчанию она называется Table1 , но вы можете присвоить ему имя с помощью ленты "Работа с таблицами" и"Название таблицы": текстовое поле в левой части.

  3. Сохраните файл Excel в локальной файловой системе.

  4. В Power Apps на правой панели щелкните вкладку "Источники данных " или коснитесь вкладки "Источники данных", а затем нажмите кнопку "Добавить источник данных".

  5. Щелкните или коснитесь значка "Добавить статические данные" в приложение, щелкните или коснитесь сохраненного файла Excel, а затем нажмите кнопку "Открыть".

  6. Выберите созданную таблицу и нажмите кнопку "Подключить".

В приложении, где бы вы ни использовали текст Hello, используйте следующую формулу:

  • LookUp( Table1, TextID = "Hello" && (LanguageTag = Left( Language), 2 ) || IsBlank( LanguageTag ))). Локализованный текст

Эта формула будет искать соответствующее значение LocalizedText для языка пользователя, и если оно не найдено, будет возвращено пустой версии по умолчанию.

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

Служба перевода

Вы можете перевести текст по запросу с помощью службы перевода, такой как Microsoft Translator.

  1. В Power Apps на панели справа откройте вкладку Источники данных, а затем нажмите кнопку Добавить источник данных.
  2. Щелкните Microsoft Translator.

В приложении вместо текста Hello, который использовался ранее, вставьте следующую формулу:

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

Служба Microsoft Translator использует те же теги языка, что Language и функция.

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

  • Перевод занимает некоторое время, требуя вызова службы в сети. Это приводит к задержке, чтобы просмотреть переведенный текст в приложении.
  • Перевод является механическим и может не быть тем, что вы ожидаете или будете лучшим выбором для ситуации в приложении.