a.k. Programování Mosaic 4. 3. 2021 13:46 19. 3. 2021 11:12

Dobry den,

v Mosaic mam zapnutou podporu vice jazykovych verzi a vsechny potrebne texty pro HMI mam ve vice mutacich. Jakym zpusobem ale prepnu mutaci za behu programu? Mohu nastavit aktivni jazyk, zkompilovat a poslat do PLC, ale nikde jsem se nedocetl, jakou promennou zmenit, abych toto mohl delat bez nutnosti prekladu.

Dekuji za odpoved

Odpovědi 2

Luboš Urban 7. 3. 2021 9:03

Dobrý den,

jazykové verze tak, jak jsou ve WebMakeru nelze využít pro přepínání za chodu. Jazykovou mutaci lze takto změnit jedině ve spojení s přegenerováním stránek. Pokud chcete vytvořit vícejazyčné projekty a přepínat jazyk za běhu programu, v Mosaicu je pro to vytvořen nástroj LangMan.

Když otevřete okno LangMan tak je třeba nejprve zapnout nástroj (ikona v liště LangMana úplně vlevo). Poté přidáte nový soubor pro texty - přes ikonu přidat nový soubor v okně LanMan (v příkladu se soubor jmenuje WebText). Pak se ve vlastnostech LangMana nastaví výběr jazyků. A můžete začít přidávat texty v různých jazykových mutacích. Po překladu projektu LangMan automaticky vytvoří program   prgLangSupport.ST do kterého umístí kód potřebný pro jazykové mutace. Podstané pro Vás je, že vytvoří automaticky globální proměnnou, která se jmenuje stejně, jako soubor s texty (v příkladu WebText). Tahle proměnná obsahuje položky, jejichž jména odpovídají položkám
v LangMan okně - např. WebText.text1 je proměnná, jejíž obsah bude "první text" nebo "first text" nebo "prvý text" podle toho, jaký jazyk je zvolený.
Výchozí jazyk se volí ve výběru jazyků v LangManovi (v příkladu je zvolena sloveština). Jiný jazyk se přepne buď nastavením proměnné
WebText.rqLangIndex, kam se nastaví index požadovaného jazyka (v příkladu 1 = čeština, 2 = angličtina, 3 = slovenština) nebo nastavením jednoho bitu v proměnné WebText.rqLangBits (v příkladu WebText.rqLangBits.0 = čeština, WebText.rqLangBits.1 = angličtina,  WebText.rqLangBits.2 = slovenština).

Texty jsou kódovány v UTF8 - takže je nutné zapnout kódování UTF8 také ve vlastnostech web stránek (ve WebMakeru). Okno WebMakeru v Mosaicu si s UFT8 zatím neporadí, ale ve web stránce budou texty dobře. V adresáři SendRoot ve Vašem projektu je založen adresář SendRoot\WWW\LNG - pokud tam není, tak je nutné založit ho ručně. V tomto adresáři je uložen resource soubor generovaný nástrojem LangMan. Ten obsahuje všechny nastavené jazykové mutace a program prgLangSupport.st ho potřebuje pro přepínání textů.

S nástrojem LangMan lze buď zadat všechny jazykové mutace, nebo je možné vyplnit pouze jeden jazyk a poté exportovat obsah  LangMana do souboru pro překladatele - to je textový soubor v unicode, takže lze doplnit chybějící texty prakticky libovolným unicode editorem a pak to zase naimportovat zpět.

a.k. 19. 3. 2021 11:12

Dobry den,

dekuji za odpoved. Reseni jsem zkousel, ale mam problem s kodovanim, resp. s kodovanim promennych. Pokud mam ve web prezentaci promenne typu STRING s diakritikou, tak se stranka vubec nezobrazi. Je pro to nejake reseni?

Vaše odpověď

Pro vložení odpovědi je nezbytné být přihlášený. Pokračujte na přihlášení.