arckép

Neuwirth István

programtervező informatikus MSc – ELTE

Computational and Software Techniques MSc – Cranfield, UK

Elérhetőség
pitta2@gmail.com
+36 30 329 3039

Valid XHTML 1.0 Transitional

Valid CSS!

Visual Studio – lokalizáció

Mit tegyünk akkor, ha többnyelvűsíteni szeretnénk az alkalmazásainkat?

visual studio logoA felhasználói alkalmazások többnyelvűsítésével annak szélesebb rétegekhez való eljutását segíthetjük elő. Jelentősen megkönnyítheti egy laikus számára a programmal való munkavégzést, ha az anyanyelvén éri el a különböző funkciókat. Napjaink shareware/freeware szoftverjeinek jelentős része támogatja a felhasználói felület többnyelvűsítését. Jellemzően a nagyobb, kereskedelmi termékek vagy egyetlen nyelven érhetőek el, vagy az egyes nyelvekhez külön kiadások tartoznak. A felhasználói felület honosítása, esetlegesen az alkalmazáslogika változtatása a nyelvnek megfelelően a lokalizáció.

A Visual Studio támogatja a form-ok honosítását, többnyelvűsítését. Ez a lehetőség az űrlap tulajdonságain keresztül érhető el. A Localizable tulajdonság igazra állítása után válasszunk ki egy nyelvet (Language tulajdonság), a lokalizálni kívánt vezérlőt és változtassuk meg annak tulajdonságait. Például egy nyomógomb szövegét, de akár a pozícióját is. Ez akkor jöhet jól, ha egy eredetileg röviden kifejezhető dolog egy másik nyelven csak hosszabban fogalmazható meg, és ennek során a vezérlő felületére nem fér ki a szöveg vagy eltolódásokat eredményez. A változtatások eredményeképp a projekthez automatikusan generálódnak az adott nyelvhez tartozó erőforrásfájlok. Majd a további vezérlőkre is elvégezhetjük a beállításokat, a fordítási feladatokat. Egy másik nyelv kiválasztásakor egy újabb erőforrásfájl jön létre, amelybe a fejlesztői környezet elmenti a felhasználói felület változtatásait.

Az erőforrások kézzel is könnyen szerkeszthető, XML formátumú fájlok, ezek segítségével a programfejlesztés és a fordítási feladatok elkülöníthetőek. Az erőforrásfájlok a Visual Studio-n belül a saját erőforrás-menedzsere segítségével is szerkeszthetőek, ehhez csupán az adott fájlra kell duplán kattintanunk. Erőforrások természetesen nem csak szöveges adatok, hanem képfájlok, ikonok, egyéb bináris adatok is lehetnek.

A program futása során az aktuális nyelvet, illetve kultúrát az éppen futó szálhoz kötődő CurrentCulture és CurrentUICulture tulajdonságok határozzák meg. Ezek a Windows területi beállításait veszik alapul, azonban természetesen felülbírálhatóak. Ehhez a következő sort kell az adott form indítása elé helyezni: Thread.CurrentThread.CurrentUICulture = new CultureInfo("...");. A szükséges névterek: System.Threading és System.Globalization.

A CultureInfo konstruktorában adjuk át a kívánt kultúra azonosítóját. Ha például az erőforrásfájlunk neve Form1.en-ZA.resx, akkor az átadandó string: "en-ZA" (azaz dél-afrikai angol).