Споделяне чрез


Функция Language

Отнася се за: Canvas apps 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:

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

    Записът с празно за език колоната ще бъде използвана по подразбиране, ако не е намерен конкретен текстов низ за даден език. Този запис трябва да се появи след всички останали записи за дадена информация TextID.

    За нашите цели трябва да гледаме само езика на локала, а не региона. Ако регионалните съображения са важни, бихме могли да включим стойността на пълния езиков етикет в таблицата по-горе.

  2. Използвайте лентата Вмъкване, команда Таблица, за да направите това в подходяща таблица на Excel. По подразбиране той ще бъде кръстен Table1, но можете да го наречете каквото ви хареса с Инструменти за таблици / Дизайн лентата и Име на таблицата: текстово поле от крайната лява страна.

  3. Запазете файла на Excel във вашата локална файлова система.

  4. В Power Apps в десния прозорец щракнете или докоснете раздела Източници на данни и след това щракнете или натиснете Добавете източник на данни.

  5. Щракнете или докоснете Добавете статични данни към приложението, щракнете или докоснете Excel файла, което сте записали, след което щракнете или докоснете Отваряне.

  6. Изберете таблицата, които сте създали, след което щракнете върху или докоснете Свързване.

В приложението си, където и да сте използвали текста "Hello" преди, вместо това използвайте тази формула:

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

Тази формула ще търси подходящите стойности LocalizedText стойност за езика на потребителя и ако това не бъде намерено, ще се върне по подразбиране празно версия.

Имайте предвид, че преведените низове на други езици могат да бъдат значително по-дълги, отколкото са на вашия език. В много случаи етикетите и другите елементи, които показват низовете в потребителския ви интерфейс, ще трябва да бъдат по-широки, за да се поберат.

Translation service

Можете да превеждате текст при поискване с помощта на услуга за превод, като например услугата на Microsoft Translator:

  1. В Power Apps в десния прозорец щракнете или докоснете раздела Източници на данни и след това щракнете или натиснете Добавете източник на данни.
  2. Щракнете върху или докоснете Microsoft Translator.

В приложението си, където и да сте използвали текста "Hello" преди, вместо това използвайте тази формула:

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

Услугата Microsoft Translator използва същите езикови тагове, които и Language функцията връща.

Този подход има някои недостатъци в сравнение с предишния пример, който използва предварително преведена таблица от текстови низове:

  • Преводът ще отнеме време, за да завърши, което изисква обаждане до услуга в цялата мрежа. Това ще доведе до закъснение за преглед на преведения текст във вашето приложение.
  • Преводът ще бъде механичен и може да не е това, което очаквате или да бъде най-добрият избор за ситуацията във вашето приложение.