views:

286

answers:

1

I want to start using gettext to handle my translations on web projects (PHP 5). Since it is a widely used standard with a good reputation it seems to be the best choice.

However, I'm also hearing things about server incompatibly and it being non-thread-safe. What does this mean for my projects that use it then? Since I build things that many people use, it's very important that my code works.

Are we talking about minor problems (like people still using PHP 4) or major problems like distribution and installation of gettext on websevers being low?

A: 

I think play some more with the php manual comments portion should revile more information....one of the comments from the manual on gettext section

The GNU gettext library works on a per-process, not per-thread basis. This means that in a multi-user setting such as the Apache web server it will only work with a prefork MPM (i.e. one process per user). Worker and other threaded MPMs will not work.

In addition, many users control GNU gettext by setting system environment variables such as LANG. This is not a good solution for a web server environment due to an obvious race condition.

http://www.php.net/manual/en/gettext.setup.php

Ronald Conco
I guess the question then is, what good is the LANG variable if you can't change it at run time after you know what lang the user wants? What would be the point of gettext then?
Xeoncross