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(php7.4-dev dla debiana).


Debian

apt-get install php7.4-dev

cd /usr/include/php7.4/ext

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

cd bsedt
phpize
./configure
make
make install

echo "extension=bsedt.so" > /etc/php7.4/mods-available/bsedt.ini
ln -s /etc/php7.4/mods-available/bsedt.ini /etc/php7.4/apache2/conf.d/bsedt.ini
ln -s /etc/php7.4/mods-available/bsedt.ini /etc/php7.4/cli/conf.d/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 restart

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.

To compile mo file just simply execute this command.

msgfmt -o pl_PL.mo pl_PL.po

Załączniki