Fejlesztői kézikönyv 6.2

XML Referencia 6.2

Effector Studio 3.2 összefoglaló

Effector Studio 3.2 kézikönyv

Fejlesztői kézikönyv 5.5

XML referencia 5.5

Effector Studio 2.0 kézikönyv

Effector Studio 2.0 összefoglaló

Többnyelvűség

A rendszerben minden a képernyőn megjelenő elem az adatbázisból is paraméterezhető, tehát minden megjelenő felirat forrása lehet a definíciós fájlokban megadott statikus érték, vagy dinamikussá tehető azáltal, hogy egy hivatkozást rögzítünk csak a definíciós állományokban.

Ahogyan azt az adatbázis szerkezetnél is említettük az FSYS_LabelLookup tartalmazza a nyelv függő feliratokat. Oszlopai a következők:

  • TableName: A tábla azonosítására szolgáló kulcs mező.
  • FieldName: A mezőnév azonosítására szolgáló kulcs mező.
  • Lang: az adott nyelv két jegyű azonosítója kerül pl. HU, EN, RU, DE...
  • Label: A nyelv függő felirat.
  • Deleted: Törölt/Aktív mező.

Használata

A TableName és a FieldName oszlopok értékei együttesen alkotják azt a kulcsot, amely meghatározza egy felirat értékét. Erre a kulcs párra a definíciós állományokból közvetlenül hivatkozhatunk az elhelyezett statikus érték helyett a címkében: Az kulcspárt a [#TableName.FieldName#] formátumban kell megadnunk.

<Caption>[#TableName.FieldName#]</Caption>

A rendszer a bejelentkezett felhasználó által kiválasztott nyelvet, valamint az összetett kulcsot használva keresi meg az FSYS_LabelLookup táblában a kért címkét. Ezzel a módszerrel a képernyőn megjelenő nem paraméterezhető elemek - például az alapértelmezett gombok és a rendszer hibaüzenetek (nem a szabályok hibaüzenetei) is "nyelvesíthetők", ekkor azonban a TableName értékét a $SYSTEM$, a FieldName értékét az adott kontroll nevével kell hivatkoznunk. Amennyiben hiányzik a táblából az adott rendszer elemhez tartozó beállítás, az alapértelmezett magyar nyelvű felirat kerül a felületre.

Szótárszerű fordítás is beállítható, ez leginkább a kártyán vagy táblázatban megjelenő egyszerű elemekre használható, de ComboBox is így, több nyelvesíthető a segítségével. Ilyenkor a TableName oszlopba a $PHRASE$ értéket kell írni, és az ovw_FSYS_Phrase nézetet lehet felhasználni.

Például: Egy ComboBox-nál felhasználható, amelyben Igen és Nem értékek szerepelnek, és ezt kell több nyelven megjeleníteni, akkor az alábbi lekérdezés használatos:

select ll.LookupListID, ISNULL(v.Value, ll.LookupValue) AS LookupValue
FROM fsys_lookuplist ll
left join ovw_FSYS_Phrase v on v.[Key] = ll.LookupValue AND v.Lang = `EN`
where ll.groupnum = 5 

A nyelvre a szabályokban és egyéb helyeken a [##Session.Language##] értékkel lehet hivatkozni.

A szükséges DBPatch fájlok a következők:

  • 20130711_CREATE_ovw_FSYS_Phrase.sql
  • 20130712_MultiLanguage_changes.sql
  • 20130730_MultiLanguage_data.sql

A választható nyelvek listáját a Connection{0}.xml fájlban lehet megadni, erről az Adatbázis kapcsolatok fejezetben található bővebb információ.

<Languages>
    <Language code="en-US">English</Language>
    <Language code="hu-HU">Magyar</Language>
</Languages>

Megjegyzés! Az Effector 5.0.001-es verziójától követően az Effector felületen megjelenő nyelvi elemek (nem paraméterezhető elemek, hanem a program feliratai) nem az FSYS_LabelLookup tablából jönnek, hanem a nyelvhez tartozó JSON fájlból. A JSON fájlok helye a core/i18n mappában vannak.

  • Legutóbb frissítve: 21 hét 2 napja
  • Effector