Tom Rogers wrote:
>
CC> ./local/xxx/LC_MESSAGE/messages.{mo,po}
CC>         setlocale(LC_ALL, 'fr_BE');
CC>         bindtextdomain("messages", "./local");
CC>         textdomain("messages");
CC> How can I guess which xxx to use, for my code to work on
CC> any webserver ?

Try using

$dir_name = setlocale(LC_MESSAGES);

After setup and that should return the string that gettext will use to
locate its files.

Thanks. But it looks like it's more complicated. setlocale(LC_MESSAGES,'0') returns fr_BE, but it seems PHP looks in ./local/fr, not in ./local/fr_BE when searching the catalog files, at least on one webserver. (using PHP 4.1.2, the other PHP 4.2.3). I guess there is some kind of search path to locate the catalog files, with some preference order. Too bad the i18n PHP thing isn't more predictable :-/

Of course, I restarted the webserver (apache reload) between tests,
to avoid problems with the gettext cache.

I think I'll simply copy ./locale/french to fr, fr_BE, fr_FR
And something similar for dutch and german. But I thought there
was some better and cleaner way to do it, in a more manageable way.

--
Christophe Chisogne
http://www.publicityweb.com


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



Reply via email to