![]() |
PHP: gettext übersetzt immer
Ich benutze gettext mit der neuesten Version von Xampp (also PHP 5.3.0).
Der Support dafür ist enabled. Bevor ich Xampp aktualisiert habe funktionierte es perfekt, aber jetzt übersetzt es IMMER alles auf Deutsch obwohl standardmäßig alles auf Englisch drinsteht. Ich hab zum Testen 2 Dateien: gettext.php
Code:
localization.php
<?php
error_reporting(E_ALL); include("config.inc.php"); echo $locale; setlocale(LC_ALL, "eng_USA"); echo ' '.gettext('Which data is transferred by the client ?'); ?>
Code:
Die Ausgabe ist immer:
<?php
$locale = ''; $parameter=explode ( '/' , $_SERVER['REQUEST_URI']); $locale_change = $parameter[1]; if ($locale_change!=false) { if ($locale_change=="de") { $locale = "de_DE"; setcookie("locale", $locale, time()+60*60*24*30, "/");// save a cookie } else if ($locale_change=="en") { $locale = "en_US"; setcookie("locale", $locale, time()+60*60*24*30, "/");// save a cookie } } if (!$locale && isSet($_COOKIE["locale"])) { $locale = $_COOKIE["locale"]; } $locale="en_US"; putenv("LC_ALL=$locale");//needed on some systems putenv("LANG=$locale");//needed on some systems putenv("LANGUAGE=$locale");//needed on some systems bindtextdomain("messages", "./locale/"); bind_textdomain_codeset("messages", 'UTF-8'); textdomain("messages"); ?> en_US Welche Daten sendet die Client-Software ? setlocale liefert übrigens false zurück. Wenn ich dagegen die Windows-typischere Notation ("eng_USA") verwende, dann liefert es English_United States.1252 zurück, aber der Text wird trotzdem auf Deutsch übersetzt. |
Re: PHP: gettext übersetzt immer
Habe rausgefunden, dass es ein Windows 7-spezifisches Problem ist.
Man kann keine Umgebungsvariablen ohne Weiteres setzen. Ich kenne leider keinen Workaround dafür, aber solange es auf dem Server funktioniert ist alles ok. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz