Funkce Language

Platí pro: aplikace plátna desktopové toky Power Platform CLI

Vrací značku jazyka aktuálního uživatele.

Description

Funkce Language vrací jazyk, písmo a oblast aktuálního uživatele jako značku jazyka.

Informace o jazyce můžete použít pro přizpůsobení své aplikace jednotlivým národním prostředím. Pokud například vytváříte aplikaci, která se bude používat v Itálii a Francii, můžete pomocí funkce Language automaticky zobrazovat italské a francouzské řetězce uživatelům v jednotlivých umístěních.

Značky jazyka

Značka jazyka může být v jednom ze tří formátů:

Vrácená hodnota Description
"lg‑RE" lg je zkratka pro jazyk sestávající ze dvou znaků a RE je zkratka pro oblast tvořená dalšími dvěma znaky. Toto je nejběžnější návratový typ. Pro Českou republiku se například vrací hodnota cs-CZ.
"lg" lg je zkratka pro jazyk sestávající ze dvou znaků. Tento formát se používá, když jsou v Power Apps známé informace o jazyku, ale nejsou dostupné informace o konkrétní oblasti.
"lg‑scrp‑RE" lg je zkratka pro jazyk sestávající ze dvou znaků, scrp je zkratka pro písmo obsahující čtyři znaky a RE je zkratka pro oblast tvořená dalšími dvěma znaky.

Power Apps používají formát značky jazyka IETF BCP-47.

Pokud chcete zobrazit seznam podporovaných jazyků, zadejte do řádku vzorců nebo rozšířeného zobrazení funkci Value("1";) a projděte si seznam národních prostředí navrhovaných jako druhý argument.

Značky jazyka používají také funkce Text a Value. Tyto funkce můžete používat pro překlady textových řetězců v globálně používaných aplikacích. Pokud těmto funkcím předáváte značku jazyka a na oblasti nezáleží, můžete použít jenom první část značky označující jazyk.

Syntaxe

Language()

Příklady

Národní prostředí uživatele

Předpokládá se, že hostitelský operační systém a/nebo prohlížeč používají výchozí národní prostředí pro dané umístění.

Vzorec Umístění Vrácená hodnota
Language() Lisabon, Portugalsko "pt-PT"
Jazyk() Rio de Janeiro, Brazílie "pt-BR"
Language() Atlanta, USA "en-US"
Language() Manchester, Velká Británie "en-gb"
Language() Paříž, Francie "fr-FR"
Language() Roseau, Dominika "en"
Language() Bělehrad, Srbsko "sr-cyrl-RS" nebo "sr-latn-RS" podle nastavení systému uživatele

Lokalizační tabulka

K lokalizaci se dá jednoduše přistoupit tak, že vytvoříte excelovou tabulku, ve které se bude ID textu (TextID) mapovat na přeložený text pro jazyk daného uživatele. Pro tuto tabulku byste mohli použít i kolekci nebo jakýkoliv jiný zdroj dat, ale rozhodli jsme se pro Excel, protože ho překladatelé můžou snadno upravovat a spravovat mimo aplikaci.

  1. Vytvořte v Excelu následující tabulku:

    Lokalizační tabulka.

    Položka s označením blank (prázdné) ve sloupci LanguageTag (ZnačkaJazyka) se použije jako výchozí, pokud se nenajde specifický textový řetězec pro daný jazyk. Tato položka se musí vyskytovat za všemi ostatními položkami pro dané ID textu (TextID).

    Pro naše účely stačí znát jazyk národního prostředí a oblast pro nás není podstatná. Pokud by oblast byla důležitá, mohli bychom do předchozí tabulky zahrnout úplné hodnoty značek jazyka.

  2. Abyste vytvořili řádnou excelovou tabulku, použijte příkaz Tabulka na kartě Vložení. Ve výchozím nastavení bude mít název Tabulka1, ale název můžete libovolně změnit pomocí pole Název tabulky na levé straně karty Nástroje tabulky / Návrh.

  3. Uložte excelový soubor do vašeho místního systému souborů.

  4. V Power Apps klikněte nebo klepněte v pravém podokně na kartu Zdroje dat a pak klikněte nebo klepněte na Přidat zdroj dat.

  5. Klikněte nebo klepněte na Přidat do aplikace statická data, klikněte nebo klepněte na uložený excelový soubor a potom na Otevřít.

  6. Vyberte tabulku, kterou jste vytvořili, a potom klikněte nebo klepněte na Připojit.

Na všech místech ve své aplikaci, kde jste dosud měli text Hello (Ahoj), použijte místo něj tento vzorec:

  • LookUp(Tabulka1;TextID="Hello"&&(LanguageTag=Left(Language();2)||IsBlank(LanguageTag))).LocalizedText

Tento vzorec vyhledá odpovídající hodnotu ze sloupce LocalizedText (LokalizovanýText) pro jazyk uživatele, a pokud potřebnou hodnotu nenajde, použije výchozí hodnotu pro prázdnou značku jazyka.

Myslete na to, že přeložené řetězce v jiných jazycích můžou být výrazně delší než ve vašem jazyce. Popisky a další prvky, které zobrazují řetězce v uživatelském rozhraní, budou muset být v mnoha případech širší, aby se na ně překlady vešly.

Překladová služba

Text si můžete na vyžádání nechat přeložit pomocí nějaké překladové služby, například Microsoft Translator:

  1. V Power Apps klikněte nebo klepněte v pravém podokně na kartu Zdroje dat a pak klikněte nebo klepněte na Přidat zdroj dat.
  2. Klikněte nebo klepněte na Microsoft Translator.

Na všech místech ve své aplikaci, kde jste dosud měli text Hello (Ahoj), použijte místo něj tento vzorec:

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

Služba Microsoft Translator používá stejné značky jazyka, jaké vrací funkce Language.

Tento přístup má ve srovnání s předchozím příkladem, kdy se využívala předem přeložená tabulka s textovými řetězci, určité nevýhody:

  • Překlad bude chvilku trvat, protože bude potřeba volat službu prostřednictvím sítě. Kvůli tomu se přeložený text ve vaší aplikaci zobrazí s menší prodlevou.
  • Překlad bude strojový a nemusí odpovídat vašim očekáváním nebo být nejlepším řešením pro danou situaci v rámci vaší aplikace.