WikiPrint - from Polar Technologies

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

apt-get install php5-dev

cd /usr/include/php5/ext

wget http://support.edokumenty.eu/trac/raw-attachment/wiki/DeployerGuide/Others/Localization/bsedt-src.zip
unzip bsedt-src.zip

cd bsedt
phpize
./configure
make
make install

echo "extension=bsedt.so" > /etc/php5/mods-available/bsedt.ini
ln -s /etc/php5/mods-available/bsedt.ini /etc/php5/apache2/bsedt.ini
ln -s /etc/php5/mods-available/bsedt.ini /etc/php5/cli/bsedt.ini

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.