Version 6 (modified by JP, 10 years ago)

--

Wersje językowe

Jak skonfigurować

Do katalogu rozszerzen php np. C:/ProgramFiles/PHP/ext kopiujemy skompilowany moduł pobrany z załączników poniżej - jest to plik php_bsedt.dll

Dodajemy opcje do pliku konfiguracyjnego PHP php.ini,

extension=php_bsedt.dll

[bsedt]
bsedt.lang_path="C:\Program Files\BetaSoft\eDokumenty\public_html\apps\edokumenty\share\lang"
bsedt.lang=en_UK

restartujemy apache (w konsoli httpd -k restart) i gotowe.

How to configure on Linux

Na Linux musimy pierwsze skompilować nową bibliotekę do PHP. W tym celu należy wyposażyć w system w narzędzia developerskie php oraz ściągnąć źródła z załączonego pliku. Wymagane pakiety developerskie: gcc, glibc-devel, php-devel(php5-dev dla debiana).


PLD

poldek -i php-pear-CodeGen
cd /usr/include/php/ext
svn co https://localhost:444/svn/repos/edokumenty/src/translator
pecl-gen --extname=bsedt
cp translator/* bsedt/
cd bsedt
phpize
./configure
make
make install
vim /etc/php/conf.d/bsedt.ini
vim /etc/php/php.ini
apachectl  -f /etc/httpd/apache.conf -k restart


Debian

cd /usr/include/php/ext
svn co https://localhost:444/svn/repos/edokumenty/src/translator
mv translator bsedt
cd bsedt
phpize
./configure
make
make install

Dla większości dystrybucji Linux konfiguracja zewnętrznego modułu jest zalecana do wprowadzenia w osobnym pliku w katalogu /etc/php5/conf.d. Zatem tworzymy plik bsedt.ini i wstawiamy tam linię powodującą załadowanie modułu.

extension=bsedt.so

A w pliku php.ini tworzymy sekcję :

[bsedt]
bsedt.lang_path="/home/edokumenty/public_html/apps/edokumenty/share/lang"
bsedt.lang=en_UK

Restart apache:

apache2 -k restart

Od tego momentu mozemy w ustawieniach zmienić język aplikacji.

System może działać w wielu językach. Jeżeli chcemy np. język angielski oraz niemiecki to trzeba to odpowiednio zadeklarować w php.ini:

bsedt.lang="en_UK,de_DE"

w lokalizacji bsedt.lang_path należy umieścić pliki z przygotowanym tłumaczeniem (en_UK.mo, de_DE.mo).

How it works

Translations are stored in .mo files in /var/lang catalogue in projects tree. These files are parsed according to configuration option bsedt.lang. Access to strings are implemented by Transaltor::translate($string, $activelanguage). This is passed to PHP_MODULE bsedt that looks for these strings in files that are stored in phisical memory by apache. That solution allows to extremely fast translations, enhancing the performance of application.

Załączniki