Fejlesztői kézikönyv 6.3

XML Referencia 6.3

Effector Studio 6.3 összefoglaló

Effector Studio 6.3 kézikönyv

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ő felírat.
  • 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 felíratai) 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: 25 hét 5 napja
  • Effector