{"id":1035,"date":"2013-05-31T11:11:43","date_gmt":"2013-05-31T09:11:43","guid":{"rendered":"http:\/\/www.extradrm.com\/?p=1035"},"modified":"2013-05-31T11:23:00","modified_gmt":"2013-05-31T09:23:00","slug":"how-do-i-get-gettext-and-poedit-to-work-with-wamp","status":"publish","type":"post","link":"https:\/\/www.extradrm.com\/?p=1035","title":{"rendered":"How do I get gettext and poedit to work with WAMP?"},"content":{"rendered":"<p>The problem can be solved but not in the traditional way. You have to use the php-gettext extension instead of the gettext which comes default built into php wampserver.<\/p>\n<p>Follow these steps :<\/p>\n<p>1) Download php-gettext from here: <a title=\"Gettext extension\" href=\"https:\/\/launchpad.net\/php-gettext\/+download\" rel=\"nofollow\">https:\/\/launchpad.net\/php-gettext\/+download<\/a> and unzip it &#8230;<\/p>\n<p>2) Add the following files found in the package root in the same folder as test-language.php :<br \/>\n&#8211; gettext.inc<br \/>\n&#8211; gettext.php<br \/>\n&#8211; streams.php<\/p>\n<p><a href=\"http:\/\/www.extradrm.com\/wp-content\/uploads\/2013\/05\/gettext-wampserver.jpg\"><img loading=\"lazy\" src=\"http:\/\/www.extradrm.com\/wp-content\/uploads\/2013\/05\/gettext-wampserver.jpg\" alt=\"gettext wampserver display\" width=\"444\" height=\"169\" class=\"alignnone size-full wp-image-1041\" srcset=\"https:\/\/www.extradrm.com\/wp-content\/uploads\/2013\/05\/gettext-wampserver.jpg 444w, https:\/\/www.extradrm.com\/wp-content\/uploads\/2013\/05\/gettext-wampserver-300x114.jpg 300w\" sizes=\"(max-width: 444px) 100vw, 444px\" \/><\/a><\/p>\n<p>3) Open your php.ini and comment out wampserver php_gettext.dll:<\/p>\n<pre>;extension=php_gettext.dll<\/pre>\n<p><strong>RESTART All services<\/strong><\/p>\n<p>3) This is the new test file <strong>test-language.php<\/strong><\/p>\n<pre>\r\n&lt;?php\r\nerror_reporting(E_ALL | E_STRICT);\r\n\r\n\/\/ define constants\r\ndefine('PROJECT_DIR', realpath('.\/'));\r\ndefine('LOCALE_DIR', 'C:\/wamp\/www\/test\/languages');\r\ndefine('DEFAULT_LOCALE', 'es_ES');\r\n\r\nrequire_once('gettext.inc');\r\n\r\n$supported_locales = array('en_US', 'sr_CS', 'de_CH','es_ES');\r\n$encoding = 'UTF-8';\r\n\r\n$locale = (isset($_GET['lang']))? $_GET['lang'] : DEFAULT_LOCALE;\r\n\r\n\/\/var_dump($locale);die();\r\n\r\n\/\/ gettext setup\r\nT_setlocale(LC_MESSAGES, $locale);\r\n\/\/ Set the text domain as 'messages'\r\n$domain = 'messages';\r\nbindtextdomain($domain, LOCALE_DIR);\r\n\/\/ bind_textdomain_codeset is supported only in PHP 4.2.0+\r\nif (function_exists('bind_textdomain_codeset'))\r\nbind_textdomain_codeset($domain, $encoding);\r\ntextdomain($domain);\r\n\r\necho gettext(\"HELLO_WORLD\");\r\n?&gt;\r\n\r\n<\/pre>\n<p>Now you can visit http:\/\/localhost\/test\/languages\/test-language.php and you should see <strong>Hola<\/strong><\/p>\n<p>Cheers<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The problem can be solved but not in the traditional way. You have to use the php-gettext extension instead of the gettext which comes default built into php wampserver. Follow these steps : 1)&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":2850,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[17,30,23,12],"tags":[188,189],"youtube_video":null,"_links":{"self":[{"href":"https:\/\/www.extradrm.com\/index.php?rest_route=\/wp\/v2\/posts\/1035"}],"collection":[{"href":"https:\/\/www.extradrm.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.extradrm.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.extradrm.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.extradrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1035"}],"version-history":[{"count":0,"href":"https:\/\/www.extradrm.com\/index.php?rest_route=\/wp\/v2\/posts\/1035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.extradrm.com\/index.php?rest_route=\/wp\/v2\/media\/2850"}],"wp:attachment":[{"href":"https:\/\/www.extradrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.extradrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.extradrm.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}