PHP internationalization with gettext

2013-07-19 2018-04-22 12:30:18 PHP,Internationalization,i18n,Locale,gettext,EN


Installation on Debian/Ubuntu Linux

You must install the Package gettext, which comes as a meta-package and contains a bundle of commands (at this point it is similiar to imagemagick; one package, several commands).

Install gettext

$ sudo apt-get install gettext

Install PHP internationalization Extension

You need to install the internationalization Extension for PHP. Following the Syntax php{Version}-intl, the command to install the extension for PHP5 is:

$ sudo apt-get install php5-intl

Problems running gettext

If you run into trouble using gettext you may need to install the Library libcurl, too.

$ sudo apt-get install libicu52

If libicu52 is not available on your system (e.g.: > Ubuntu 14.04 LTS), you can install manually (64bit system):

$ wget; sudo dpkg -i libicu52_52.1-8ubuntu0.2_amd64.deb

You need to name the Place of Translationtables. That is the place where your Translationfolders reside. You can either do this inside the function (see bindtextdomain($sDomain, 'PATH_TO_MY_LANGUAGES_FOLDER');) or do it outside by defining the appropriate constant, e.g.:

define('PATH_TO_MY_LANGUAGES_FOLDER', '/var/www/App/languages');

The Translationtables itself must hold the official structure, e.g.: php gettext translation-files structure



This website uses Cookies to provide you with the best possible service. Please see our Privacy Policy for more information. Click the check box below to accept cookies. Then confirm with a click on "Save".