Re: gettext() troubles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aaron Gould wrote:
Denis Gerasimov wrote:

<?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");
?>


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.


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.



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux