A Gettext rendszer, egy program többnyelvű megvalósítására használható. A programot általában angol nyelven írjuk le, majd lefordítjuk más nyelvekre. A rendszer előnye, hogy egy adott nyelvre való fordítást nem szükséges a fejlesztőnek elvégezni.
A fordítást bárki készíthet a programhoz saját nyelvén, és ehhez semmilyen fejlesztésben nem szükséges részt vennie. A fordítás a szoftverfejlesztéstől különálló tevékenység.
A Gettext rendszer eredetileg Linuxon jelent meg, egy GNU eszközként. A PHP4 verziótól használható.
Debian alapú linuxos rendszeren a telepítés:
apt-get install php-gettext
Az XAMPP alapértelmezésként tartalmazza.
Ellenőrizzük egy phpinfo() függvénnyel:
A megjelenő weboldalon keressünk a gettext szóra.
<?php header("Content-Type: text/html; charset=UTF-8\n"); setlocale(LC_MESSAGES, 'hu_HU.UTF-8'); putenv("LANG=hu_HU.UTF-8"); bindtextdomain('default', dirname(__FILE__).'/locale'); textdomain('default'); bind_textdomain_codeset('default', 'UTF-8'); echo _('apple'), "<br>"; echo _('pear'), "<br>"; echo _('peach'), "<br>"; echo _('plum'), "<br>";
Fordításhoz használjuk a Poedit programot. Debian alapú Linuxon:
apt-get install poedit
A program indítása után, kezdjünk egy új katalógust. Állítsuk be a nyelvet:
Állítsuk be a forráskód karakterkódolását:
Ez után, a Források útvonalainál adjuk meg a program könyvtárát. Például:
/home/janos/projektek/projekt1/
Kattintsunk az „OK” gombra. A poedit, elkészíti a .po kiterjesztésű fájlt, csak le kell fordítani és menteni. A mentés során létrejön egy .mo kiterjesztésű fájl. Ezt másoljuk a következő helyre:
/home/janos/projektek/projekt1/locale/hu/LC_MESSAGES