Version 10 (modified by MK, 8 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).


Debian

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

Po tych operacjach powinien pojawić się plik /etc/php5/conf.d/bsedt.ini z zawartością:

extension=bsedt.so

W pliku php.ini tworzymy sekcję :

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

Restart apache:

service apache2 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).

Każda zmiana pliku *.mo na serwerze w przypadku gdy uzupełniamy tłumaczenie musi zostać zakończona restartem apache

/etc/init.d/apache2 graceful

Przygotowanie pliku *.mo pod systemem Windows

Do przygotowania pliku *.mo pod systemem Windows możemy użyć aplikacji POedit. Program można pobrać z tej lokalizacji.

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