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 lze zadat ve
více národních jazycích. Pomocí tohoto makra tak lze 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ýraz 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:
-
Pro Web klienty: jazyk Web komponenty je vybrán podle jazyka nastaveného v konfigurátoru "
PmaWeb > Web > Implicitní jazyk".
Pokud je Web komponenta registrována v objektu
PmaWebLang, pak jazyk je vybrán podle zvolené URL adresy.
Makro výraz
$.text lze použít například při nastavení v konfigurátorech
PmgString > Text > Hodnota,
PmaPanel > 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ístěný ve složce
\Promotic\PmVXXYY. Tento soubor je dodáván se systémem PROMOTIC a obsahuje některé obecné texty. Zároveň slouží jako příklad pro vytváření lokalizovaných textů (do tohoto souboru však nedávejte své vlastní texty).
$.text("app","idText") -
soubor
text_app.xml umístěný ve složce aplikace (např.
C:\Promotic\Apps\Aplikace1\text_app.xml).
$.text("appXX","idText") - například soubor text_appL1.xml (pokud XX=L1) umístěný ve složce aplikace. Je to pouze zobecnění předchozího typu o možnost mít více takových aplikačních souborů ve složce aplikace.
Tip: XML soubor lze vytvořit a editovat pomocí konfiguračního okna, které lze otevřít v menu "
> Správce lokalizovaných textů".
Tvar XML souboru "text_XXX.xml":
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 identifikátor požadovaného textu. V tomto tagu jsou pak tagy
<txt> s atributem
lang který určuje 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
\Promotic\PmVXXYY. Výsledkem bude pro češtinu text "Ponděli", pro angličtinu "Monday", atd.
Příklad na získání lokalizovaného textu aplikace:
$.text("app","id10")
Projektant 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 Pmg objektu (nDay):
$.text("sys",$.join("day",$.par("nDay")))
Jinou možností jak získat lokalizovaný text je použít
Pm.EvalMacro nebo
#pragma variable.
Konfigurátory v editoru rozšířené hodnoty:
Vybrat lokalizovaný text | Otevře konfigurační okno "Správce lokalizovaných textů" |
Typ XML souboru | Určuje typ zdrojového souboru textů, tzn. 1. parametr makro výrazu $.text(). |
Identifikátor textu | Určuje identifikátor požadovaného textu, tzn. 2. parametr makro výrazu $.text(). |
---|