Vývojové prostředí systému Control Web 8 obsahuje
Jazykový editor, který poskytuje komplexní podporu pro
tvorbu vícejazyčných aplikací. Nejenom, že dokáže shromáždit veškeré
texty použité v aplikaci na jedno místo, kde lze texty i upravovat,
ale umožňuje přidávat (i odstraňovat) další jazykové mutace aplikace.
Texty lze mezi jednotlivými definovanými jazyky kopírovat, je možné je
exportovat do externího textového souboru vhodného pro překlad a
samozřejmě umožňuje přeložené texty zpět importovat do aplikace.
Důležité je, že i po dobu překladu textů lze aplikaci bez jakýchkoliv
omezení editovat. Jazykový editor dokonce umožňuje i export
jen nově přidaných textů pro překlad. Control Web 8
podporuje i vícejazyčné výrazy - to je užitečné, pokud potřebujete
jiný přepočet hodnot pro jednotlivé jazykové mutace, vyjádření rozměru
v metrických nebo imperiálních jednotkách apod.
Veškeré texty zobrazované runtime verzí a i uživatelsky definované
texty u parametrů přístrojů a datových sekcí, texty ve výrazech a
texty použité ve skriptech v aplikaci jsou totiž v systému
Control Web spravovány k tomu určeném správci. Tento
správce zajišťuje, že jsou vždy, podle nastavené jazykové verze,
vráceny odpovídající texty pro právě nastavený jazyk. Používaný jazyk
aplikace lze nastavit za běhu aplikace pomocí speciálního přístroje
language_selector nebo programově pomocí nativních OLC
procedur, ale i ve vývojovém prostředí v Grafickém editoru.
Za běhu aplikace lze jazykovou mutaci aplikace nastavit nejen globálně
pro celou aplikaci, ale je možné nastavit jazykovou mutaci i pro
konkrétní přístroj. Samozřejmě není problém, aby po přihlášení
operátora do aplikace mu byl nastaven jeho jazyk.
Jazykový editor
Jazykový editor má tři části - editor jazykových
verzí, editor textů aplikace a editor zabudovaných textů, které
zobrazuje Control Web za běhu aplikace.
Definice jazyků aplikace
Po kliknutí na nástroj Jazykové verze aplikace v
paletě nástrojů Jazyky je zobrazen seznam
nadefinovaných jazyků používaných v aplikaci. Jazyky je zde
možné přidávat i mazat a lze zde definovat výchozí jazyk
aplikace, příp. i jazyk zakázat.
Definice jazyků v aplikaci
Jazyk aplikace přidáme tak, že klikneme na nástroj
Přídat jazyk a vyplníme položky zobrazeného
dialogového okna. Pokud jako identifikátor jazyka použijete
dvouznakový ISO kód, pak je, pokud již není vyplněno pole
Název jazyka, doplněn název státu a Ikona
jazyka. Samozřejmě lze název i ikonu zvolit podle
potřeb. Název a ikona budou pak nabízeny v přístroji pro volbu
jazyka language_selector. Pro programové
přepínání a identifikaci nastaveného jazyka aplikace je však
rozhodující definovaný identifikátor jazyka.
Dialogové okno pro přidání jazyka
Uživatelsky definované texty
Kliknutím na nástroj Texty aplikace je zobrazen
editor, který zobrazuje a umožňuje editovat texty definované v
aplikaci. Pro lepší orientaci použití textu v aplikaci, jsou v
prvních pěti sloupcích zobrazeny doprovodné informace o pozici
textu v textovém editoru, vlastníkovi, přístroji, parametru a
jeho popisu, u kterého je text definován. V dalších sloupcích
jsou pak zobrazovány texty pro jednotlivé jazyky. Po kliknutí
na buňku s textem se zobrazí editační políčko, v kterém lze
text upravovat. Každý text je navíc uvozen ikonou, která
symbolizuje, zda se jedná o prostý text nebo o text, který je
definován v rámci výrazu.
Jazykový editor také umožňuje zkopírovat texty z jednoho
jazyka do jiného jazyka. Při kopírování můžete zvolit, zda
chcete zkopírovat všechny texty ze zdrojového jazyka nebo jen
nově přidané texty, které nejsou v cílovém jazyce dosud
definovány a zároveň je můžete i zrovna exportovat do
textového souboru pro překlad.
Export a import textů pro překlad
Aby bylo možné texty aplikace nechat přeložit do
příslušného jazyka, umožňuje Jazykový editor export
textů zvoleného jazyka do textového souboru. Během exportu
jsou texty v aplikaci nahrazeny unikátními identifikátory, což
umožňuje bez omezení pokračovat ve vývoji aplikace - avšak
místo exportovaných textů, jsou po přepnutí do tohoto jazyka
zobrazovány právě tyto unikátní identifikátory.
Export jazyka
Textový soubor s exportovanými texty aplikace je
organizován tak, že na každém řádku má jeden text
identifikovaný na levé straně rovnítka unikátním
identifikátorem a na pravé straně rovnítka je odpovídající
text z aplikace. Překladatel tedy přeloží jen texty na pravé
strané rovnítka.
Textový soubor s exportovanými texty
Jakmile jsou texty aplikace přeloženy, pak pomocí nástroje
Import jazyka je obsah souboru načten a unikátní
identifikátory v aplikaci jsou nahrazeny přeloženými texty.
Nově přidané texty do aplikace zůstanou beze změny a texty
(resp. identifikátory), které byly z aplikace po dobu překladu
odstraněny, budou při importu ignorovány.
Zabudované texty zobrazované systémem za běhu
aplikace
Jazyk textů zobrazovaných systémem Control Web za běhu aplikace závisí na jazykové mutaci
instalace produktu. Nicméně všechny tyto texty jsou také
uloženy v textovém souboru cwrunmsg.*.ini (znak * je nahrazen
kódem jazyka podle jazykové verze instalace — pro češtinu tedy
cwrunmsg.cz.ini, pro angličtinu cwrunmsg.en.ini apod.). Editor
zabudovaných textů zobrazuje a umožňuje editaci textů z těchto
souborů. V prvním sloupci je zobrazen původní text v jazyku
instalace produktu a v dalších sloupcích texty ze souborů
odpovídajích nadefinovaným jazykům. Po kliknutí na buňku s
textem, je zobrazen editor pro úpravu textu a nastavení horké
pozice. Pokud tedy bude přeložen soubor s texty zobrazovanými
systémem za běhu aplikace do příslušného jazyka a soubor s
texty správně pojmenován, nahradí Control Web
zabudované texty texty ze souboru a za běhu aplikace bude pak
zazobrazovat texty ve zvoleném jazyku.
Texty systému Control Web
zobrazované za běhu aplikace
Editace jazykových textů v Inspektoru přístroje
U vícejazyčných aplikací je také Inspektor přístrojů
rozšířen o záložku Jazykové verze, které je umístěn
editor, který umožňuje editovat texty použité v rámci
přístroje.
Záložka Jazykové verze v Inspektoru
přístrojů
Datová sekce language_expression a výrazy ve skriptu
Jazykové výrazy lze zapisovat v datové sekce language_expression,
kde datové elementy jsou definovány pomocí výrazů pro jednotlivé
jazykové mutace aplikace. Hodnota datového elementu je tak
získávána vyhodnocení odpovídajícího výrazu pro právě nastavený
jazyk aplikace. Totéž platí i pro jazykové výrazy zapsané ve
skriptovacím jazyku. Samozřejmě, že všechny texty použité ve
výrazech jsou soustředěny i do Jazykového editoru.
Definice jazykového výrazu v sekci language_expression:
language_expression lexp;
strSpeed = {all:BoatSpeed:value_string + ' km/h'; EN:str( BoatSpeed / 1.852, 10 ) + ' kt'};
end_language_expression;
Definice jazykového výrazu ve skriptu:
procedure GetBoatSpeed( V : real ) : string;
begin
return {CZ:‘Rychlost lodi: ‘; PL: 'Prędkość statku: '; EN:‘Boat speed: ‘; RU: 'Скорость корабля: '} + {all: str(V, 10) + ' km/h'; EN: str(V / 1.852, 10) + ' kt' } ;
end_procedure;
Alarmy
Sledované události u datových elementů definovaných v datových
sekcí alarm nebo alarm_and_archive
zapisují do databázových tabulek i textový popis nastalých
událostí. Je tedy potřeba zajistit, aby byly v právě nastavené
jazykové mutaci zobrazovány tyto texty v nastaveném jazyce. Systém
Control Web je i na toto připraven. V případě
vícejazyčných aplikací si vytvoří v databázi pomocnou tabulku, do
které zapisuje v okamžiku vzniku události čas a popis nastalé
události ve všech definovaných jazycích, tudíž pak tedy není
problém vždy zobrazit odpovídající textový popis události ve
správném jazyku.
|