Funkce Language v PowerAppsLanguage function in PowerApps

Vrací značku jazyka aktuálního uživatele.Returns the language tag of the current user.

PopisDescription

Funkce Language vrací jazyk, písmo a oblast aktuálního uživatele jako značku jazyka.The Language function returns the language, script, and region of the current user as a language tag.

Informace o jazyce můžete použít pro přizpůsobení své aplikace jednotlivým národním prostředím.Use the language information to tailor your app across locales. 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.For example, if you are creating an app that will be used in Italy and France, you can use Language to automatically display Italian and French strings to your users in those different locations.

Značky jazykaLanguage tags

Značka jazyka může být v jednom ze tří formátů:A language tag can be in one of three formats:

Návratová hodnotaReturn value PopisDescription
"lg‑RE""lg‑RE" ja je zkratka pro jazyk sestávající ze dvou znaků a OB je zkratka pro oblast tvořená dalšími dvěma znaky.lg is the two character abbreviation for the language and RE is the two character abbreviation for the region. Toto je nejběžnější návratový typ.This is the most common return type. Pro Českou republiku se například vrací hodnota cs-CZ.For example, "en-GB" is returned for Great Britain.
"ja""lg" ja je zkratka pro jazyk sestávající ze dvou znaků.lg is the two character abbreviation for the language. Tento formát se používá, když jsou v PowerApps známé informace o jazyku, ale nejsou dostupné informace o konkrétní oblasti.This is the format used when PowerApps has information about the language, but does not have information for the specific region.
"lg‑scrp‑RE""lg‑scrp‑RE" ja je zkratka pro jazyk sestávající ze dvou znaků, písm je zkratka pro písmo obsahující čtyři znaky a OB je zkratka pro oblast tvořená dalšími dvěma znaky.lg is the two character abbreviation for the language, scrp is the four character abbreviation for the script, and RE is the two character abbreviation for the region.

PowerApps používají formát značky jazyka IETF BCP-47.PowerApps uses the IETF BCP-47 language tag format.

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.To see the list of supported language tags, type Value( "1", ) in the formula bar or advanced view and scroll through the list of locales suggested for the second argument.

Značky jazyka používají také funkce Text a Value.The Text and Value functions also use language tags. Tyto funkce můžete používat pro překlady textových řetězců v globálně používaných aplikacích.Use these functions for translating to and from text strings in a globally aware manner. 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.When passing a language tag to these functions and the region would not make a difference, you can use just the language portion of the tag.

SyntaxeSyntax

Language()Language()

PříkladyExamples

Národní prostředí uživateleUser's locale

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í.It is assumed that the host operating system and/or browser are using the default locale for the location.

VzorecFormula UmístěníLocation Návratová hodnotaReturn Value
Language()Language() Lisabon, PortugalskoLisbon, Portugal pt-PT"pt-PT"
Language()Language() Rio de Janeiro, BrazílieRio de Janeiro, Brazil pt-BR"pt-BR"
Language()Language() Atlanta, USAAtlanta, USA en-US"en-US"
Language()Language() Manchester, Velká BritánieManchester, Great Britain en-GB"en-GB"
Language()Language() Paříž, FrancieParis, France fr-FR"fr-FR"
Language()Language() Roseau, DominikaRoseau, Dominica en"en"
Language()Language() Bělehrad, SrbskoBelgrade, Serbia sr-cyrl-RS nebo sr-latn-RS podle nastavení systému uživatele"sr-cyrl-RS" or "sr-latn-RS", depending on the user's system settings

Lokalizační tabulkaLocalization table

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.A simple approach to localization is to create an Excel spreadsheet mapping an author defined TextID to a translated text for the user's language. 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.Although you could use a collection or any other data source for this table, we chose Excel because it is easy to edit and manage outside of the app by translators.

  1. Vytvořte v Excelu následující tabulku:Create the following table in Excel:

    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.The entry with blank for the Language column will be used as the default if there is no specific text string found for a given language. Tato položka se musí vyskytovat za všemi ostatními položkami pro dané ID textu (TextID).This entry must appear after all other entries for a given TextID.

    Pro naše účely stačí znát jazyk národního prostředí a oblast pro nás není podstatná.For our purposes, we only need to look at the language of the locale and not the region. Pokud by oblast byla důležitá, mohli bychom do předchozí tabulky zahrnout úplné hodnoty značek jazyka.If regional considerations were important, we could have included the full language tag value in the table above.

  2. Abyste vytvořili řádnou excelovou tabulku, použijte příkaz Tabulka na kartě Vložení.Use the Insert ribbon, Table command, to make this into a proper Excel table. 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.By default, it will be named Table1 but you can name it whatever you like with the Table Tools/Design ribbon and the Table Name: text box on the far left hand side.
  3. Uložte excelový soubor do vašeho místního systému souborů.Save the Excel file to your local file system.
  4. V PowerApps 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.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  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.Click or tap Add static data to your app, click or tap the Excel file that you saved, and then click or tap Open.
  6. Vyberte tabulku, kterou jste vytvořili, a potom klikněte nebo klepněte na Připojit.Select the table that you created, and then click or tap Connect.

Na všech místech ve své aplikaci, kde jste dosud měli text Hello (Ahoj), použijte místo něj tento vzorec:In your app, wherever you would have used the text "Hello" before, use this formula instead:

  • LookUp(Tabulka1;TextID="Hello"&&(LanguageTag=Left(Language();2)||IsBlank(LanguageTag))).LocalizedTextLookUp( Table1, 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.This formula will lookup the appropriate LocalizedText value for the language of the user, and if that is not found, will fall back on the default blank version.

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.Be aware that translated strings in other languages could be significantly longer than they are in your language. 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.In many cases, the labels and other elements that display the strings in your user interface will need to be wider to accommodate.

Překladová službaTranslation service

Text si můžete na vyžádání nechat přeložit pomocí nějaké překladové služby, například Microsoft Translator:You can translate text on demand using a translation service, such as the Microsoft Translator service:

  1. V PowerApps 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.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  2. Klikněte nebo klepněte na Microsoft Translator.Click or tap 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:In your app, wherever you would have used the text "Hello" before, use this formula instead:

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

Služba Microsoft Translator používá stejné značky jazyka, jaké vrací funkce Language.The Microsoft Translator service uses the same language tags that the Language function returns.

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:This approach comes with some drawbacks when compared to the previous example which utilized a pre-translated table of text strings:

  • Překlad bude chvilku trvat, protože bude potřeba volat službu prostřednictvím sítě.The translation will take time to complete, requiring a call to a service across the network. Kvůli tomu se přeložený text ve vaší aplikaci zobrazí s menší prodlevou.This will result in a lag to see the translated text in your app.
  • 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.The translation will be mechanical and may not be what you anticipate or be the best choice for the situation within your app.