Tartalomjegyzék

< PHP többnyelvű program

PHP Gettext

Bevezetés

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ó.

PHP modul telepítése

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:

index.php
<?php
phpinfo();

A megjelenő weboldalon keressünk a gettext szóra.

Többnyelvű PHP program

index.php
<?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ás

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

Több információ