Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Makro výraz $.text

Tento makro výraz představuje text načtený z textoveho souboru. Textový soubor má XML formát v UTF-8 znakovém kódování, lze do něj ukládat více textů a každý text může být ve více národních jazycích. Lze tak pomocí tohoto makra lehce vytvořit aplikaci, která může být za běhu přepínána do jiných jazyků (Viz také: Jak vytvořit aplikaci v různých národních jazycích). Užitečné je makro však i v případě jednojazykové aplikace, kdy jsou texty aplikace shromážděné v jednom (nebo více) souboru.

Daný makro výraz vybere ze souboru zvolený text podle identifikátoru textu a dále podle jazyka:

- V lokální aplikaci: jazyk textu se vybere podle aktuálního nastavení vlastnosti Pm.RtLang (podle zadaného konfigurátoru Hlavní jazyk runtime).
- Pro Web klienty: jazyk textu Web komponenty je vybrán podle jazyka nastaveného v konfigurátoru PmWeb > Web > Implicitní jazyk. Pokud je Web komponenta registrována do objektu PmWebLang, pak je jazyk vybrán podle zvolené Web URL adresy.
 
Makro výraz $.text je možné využívat například při nastavení v konfigurátorech PmiText > Text > Text, PmPanel > Obraz > Titul obrazu a mnoha dalších.
 
Syntaxe:

$.text("idFile","idText")

- idFile = typu XML souboru
- idText = identifikátor textu v tomto souboru

Zastaralý tvar zápisu makro výrazu: $text:idFile.idText

 
Typ XML souboru může být:
$.text("sys","idText") - systémový soubor text_sys.xml umístený ve složce PROMOTIC (např. c:/pm/text_sys.xml). Tento soubor je dodáván se systémem PROMOTIC a jsou v něm některé obecné texty. Zároveň slouží jako příklad pro vytváření uživatelských textů (do tohoto souboru však nedávejte své vlastní texty).

Poznámka: U souboru text_sys.xml existuje ještě soubor text_rt0.xml, obsahující další systémové texty. Tento soubor však pro získávání textů nepoužívejte, neboť texty zde umístěné se mění (není zaručeno že s novou verzí PROMOTIC tam daný text bude).

 
$.text("app","idText") - uživatelský soubor text_app.xml umístěný ve složce Vaší aplikace (např. d:/PmProj/Aplikace/text_app.xml).
 
$.text("appXX","idText") - uživatelský soubor, například text_appL1.xml (pokud XX=L1). Je to jen zobecnění předchozího typu o možnost mít více uživatelských souborů ve složce aplikace.
 
Tvar XML souboru "text_XXX.xml" Tip: XML soubor lze vytvořit a editovat pomocí konfiguračního okna, které lze otevřít z menu "Možnosti > Správce lokalizovaných textů".

V XML souboru je pouze 1 tag <pmtext> a v něm požadovaný počet tagů <txtid> s atributem id. Hodnota tohoto atributu je uživatelský identifikátor požadovaného textu. V tomto tagu jsou pak tagy <txt> s atributem lang označující danou jazykovou verzi. Atribut lang může mít například hodnotu: cs (česky), en (anglicky) ... Úplný seznam viz Jak vytvořit aplikaci v různých národních jazycích.

Příklad obsahu souboru (soubor nemusí mít všechny uvedené jazykové verze):

<?xml version="1.0" encoding="utf-8"?>
<pmtext>
...
<txtid id="id10">
  <txt lang="en">User text to set</txt>
  <txt lang="de">Aplikationstext zum Einstellen</txt>
  <txt lang="ru">Техт аппликации к наладке</txt>
  <txt lang="pl">Tekst użytkownika do wprowadzenia</txt>
  <txt lang="cs">Aplikační text k nastavení</txt>
  <txt lang="sk">Aplikačný text k nastaveniu</txt>
</txtid>
...
</pmtext>
 
Příklad na získání systémového lokalizovaného textu:
$.text("sys","day1")
Text s identifikátorem "day1" je uložen v souboru "text_sys.xml" ve složce kde je instalován PROMOTIC. Výsledkem bude pro češtinu text "Ponděli", pro angličtinu "Monday", atd.
Příklad na získání aplikačního lokalizovaného textu:
$.text("app","id10")
Autor aplikace vytvořil soubor "text_app.xml" ve složce aplikace. V tomto souboru je tag <txtid id="id10"> a v něm tag <txt> pro odpovídající aktuální jazykovou verzi (např. cs).
Příklad na získání systémového textu s využitím parametru prvku (nDay):
$.text("sys",$.join("day",$.par("nDay")))
 
Jinou možností jak získat lokalizovaný text je pomocí Pm.EvalMacro nebo #pragma variable.
Konfigurační položky v editoru rozšířené hodnoty:
Vybrat lokalizovaný textOtevře okno Správce lokalizovaných textů
Typ XML souboruUrčí typ zdrojového souboru textů, tzn. 1. parametr makro výrazu $.text().
Identifikátor textuUrčí identifikátor požadovaného textu, tzn. 2. parametr makro výrazu $.text().
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice