Hi,
ich erstelle gerade eine neue Webseite und will diese mit Hilfe von gettext mehrsprachig zur Verfügung stellen. Das ganze läuft auf diesem Server in einem anderen Projekt auch ganz gut. In meinem aktuellen Projekt schaffe ich es aber nicht die Umgebungsvarialbe LANG mit Hilfe von putenv() richtig zu setzen.
Ich habe mir dafür einen Part meiner login Klasse geschrieben der wie folgt aussieht:
Die Konstante LOCALE_PATH ist gesetzt und auch richtig. Die interne Varialbe user_lang ist auch richtig gesetzt. Alle notwenigen Verzeichnisse sind vorhanden und mit richitgen namen versehen ein po und ein mo file ist auch mit dem namen von $domain vorhanden.
Wenn ich jedoch die funktion aufrufe und danach getenv("LANG"); mir ausgeben lasse ist diese Variable leer. Hat jemand eine Idee woran das liegen kann? Wenn ich putenv() direkt ohne die Klasse aufrufe dann geht es. Wie kann das sein?
Gruß
ich erstelle gerade eine neue Webseite und will diese mit Hilfe von gettext mehrsprachig zur Verfügung stellen. Das ganze läuft auf diesem Server in einem anderen Projekt auch ganz gut. In meinem aktuellen Projekt schaffe ich es aber nicht die Umgebungsvarialbe LANG mit Hilfe von putenv() richtig zu setzen.
Ich habe mir dafür einen Part meiner login Klasse geschrieben der wie folgt aussieht:
PHP:
...klassen zeugs...
function set_lang($lang = false) {
if($lang == false) {
$lang = $this->user_lang;
}
putenv("LANG=".$lang);
setlocal(LC_ALL, $lang);
$domain = "index";
bindtextdomain($domain, LOCALE_PATH);
textdomain($domain);
}
... klassen zeugs ....
Wenn ich jedoch die funktion aufrufe und danach getenv("LANG"); mir ausgeben lasse ist diese Variable leer. Hat jemand eine Idee woran das liegen kann? Wenn ich putenv() direkt ohne die Klasse aufrufe dann geht es. Wie kann das sein?
Gruß