Re: gettext() troubles
| From: | Jochem Maas | Date: | Fri, 23 Sep 2005 14:06:30 +0000 |
| Subject: | Re: gettext() troubles | ||
| References: | 1 2 | Groups: | php.general php.i18n |
| Request: | Send a blank email to php-general+get-223072@lists.php.net to get a copy of this message | ||
Aaron Gould wrote:
Denis Gerasimov wrote:anyone who has worked with locales on different machines/platforms will probably run into the problem that locales are different and/or differently named on alot of systems... for this reason (I believe) set_locale() allows you to pass an array of locale names as the second arg - the first one found will be used... e.g. (I use dutch locales alot): setlocale( LC_ALL, array('nl_NL@euro', 'nl_NL', 'nld_nld', 'Dutch', 'Dutch_Netherlands.1252', 'nl_NL.ISO8859-1', 'nl') ); maybe that helps a bit.<?php putenv("LANG=ru_RU"); setlocale (LC_ALL,"ru"); $domain = 'messages'; echo bindtextdomain ($domain, 'D:\intranet\wwwroot\lng'); echo textdomain ($domain); echo bind_textdomain_codeset($domain, 'UTF-8'); echo gettext("string"); ?>
Here's what I use to set my language (to French in this case). It works 100% of the time for me: // Set locale to preferred language setlocale(LC_ALL, 'fr_FR'); bindtextdomain('messages', $_SERVER['DOCUMENT_ROOT'].'/locale'); textdomain('messages'); I don't do the "putenv" line that you have, so I'm not sure if it's necessary...it sometimes is I believe - depends on your setup (e.g. if your using CGI version) - don't hold me to that I could be completely wrong.