Bueno mi situación es la siguiente: estoy usando gettext() en PHP para traducir un contenido estático. Desde localhost me funciona a la perfección el problema esta cuando lo subo al servidor.
¿Que sucede en el servidor?
Bueno cuando cargo la pagina hay veces en que se realiza la traducción y otras veces en que no se realiza. En mi servidor también hay un detalle, el cual es que no me deja establecer variables de entorno y debido a esto no puedo utilizar la siguiente linea de código:
Código PHP:
putenv("LANG=".$locale);
El mensaje de error es el siguiente:
Warning: putenv() [function.putenv]: Safe Mode warning: Cannot set environment variable 'LANG' - it's not in the allowed list in /xxx/xxx/xxx.php on line 47
Se que este problema se puede solucionar agregando el prefijo PHP_ que es el valor por defecto de la directiva de configuración safe_mode_allowed_env_vars del PHP, pero igual me parece que ese putenv() esta de sobra porque no me soluciona el problema (aparte de que no uso por ningún lado esa definición de variable de entorno, pero no se si el gettext usa esta variable internamente).
De cualquier manera como les mencione antes, en localhost me funciona bien me traduce todo el tiempo sin ningún excepción. Pero cuando lo voy a probar en el servidor algunas veces me traduce y otras no.
El código que uso es el siguiente:
Código PHP:
$locale = 'es_AR.UTF-8';
if (!defined('LC_MESSAGES')) define('LC_MESSAGES', 6);
//putenv("LANG=".$locale);
setlocale(LC_ALL, $locale);
bindtextdomain('messages', '../../../locale');
textdomain('messages');
Tengo comentado el putenv() debido a que como ya mencione antes, no me permiten establecer variables de entorno en mi servidor.
Saludos, y de antemano gracias por la ayuda.