Promotic
Přihlášení logon

Jak přepínat národní jazyky v runtime

Systém PROMOTIC umožňuje přepínat se mezi více národními jazyky i za běhu runtime aplikace.
Předkonfigurováno je to tak, že v nástrojové liště stiskneme tlačítko "Nastavení" (ozubené kolo). Následně ve volbě "Jazyk" zvolíme jazyk runtime.

Pokud volbu "Jazyk" nevidíme, pak nemáme aplikaci s možností přepínání mezi více národními jazyky.

Jak umožnit přepínání mezi více národními jazyky:

Volba více národních jazyků při vytvoření nové aplikace

Pokud již před zahájením vývoje aplikace víme, že budeme chtít provozovat aplikaci ve více národních jazycích, pak při vytváření nové aplikace zatrhneme konfigurátor "Vícejazyčná aplikace".
Následně v konfigurátoru "Všechny užité jazyky" specifikujeme konkrétní národní jazyky.

Přidání více národních jazyků do již existující aplikace

Pokud jsme při vytvoření aplikace nezatrhli konfigurátor "Vícejazyčná aplikace", musíme upravit skripty událostí tlačítka "Nastavení" (ozubené kolo), které obsahuje Nástrojová lišta (Toolbar).

Do skriptu události onMenuFill před řádek pEvent.Menu.AddMenu("about", sAbout); přidáme následující úsek kódu:
JavaScriptVyber a zkopíruj do schránky

//#pragma variable sLang = Macro("$.text('sys','Language')")

// Výběr národního jazyka:
var aLang = Pm.GetRtLangs("what:idtitlearray;");
var nLang = aLang.GetSize(2);
if (nLang > 0)   // Jen pokud je více národních jazyků
{
pEvent.Menu.AddMenu("", "", "type:separator;");
pEvent.Menu.AddMenu("lang", sLang, "type:menu;");
var iLang;
for (iLang = 0; iLang < nLang; iLang++)
{
pEvent.Menu.AddMenu("lang/" + aLang.GetItem(0, iLang), aLang.GetItem(1, iLang));
}
}


Ve skriptu události onMenuSelect přidáme do větve default příkazu switch následující úsek kódu:
JavaScriptVyber a zkopíruj do schránky

// Do větve default příkazu switch přidáme:
if (0 == Pm.StringFind(pEvent.Name, "lang/", 0))
{
Pm.RtLang = Pm.StringReplace(pEvent.Name, "lang/", "");
Pm.RestartGui();
}
Viz také:
- Pm.GetRtLangs (metoda)
- Pm.RtLang (vlastnost)
- Pm.RestartGui (metoda)
© MICROSYS, spol. s r.o.Update cookies preferences