Hallo zusammen,
ich versuche nun seit tagen PHP gettext zu laufen zu bringen. entsprechend PHPinfo ist alles richtig installiert.
gettext GetText Support enabled
root@quicky-3000-N200:~# php5 -v PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 19:00:43) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies root@quicky-3000-N200:~# sudo apt-get install php-gettext Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut Statusinformationen werden eingelesen... Fertig php-gettext ist schon die neueste Version. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Verwunderlich ist nur, das keine PHP gettext.so (andere schon) auf dem Rechner zu finden ist. In php.ini eingetragen extension=gettext.so
/var/log/apache2/error.log: [Thu Jan 03 18:30:58 2013] [notice] caught SIGTERM, shutting down PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/gettext.so' - /usr/lib/php5/20090626+lfs/gettext.so: undefined symbol: PL_thr_key in Unknown on line 0 [Thu Jan 03 18:30:59 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.4 with Suhosin-Patch configured -- resuming normal operations Wenn ich mit meinem Testprogramm versuche gettext zu verwenden passiert folgender Fehler.
Lauf 1 (bindtextdomain($domain, "./locale/"); Es fehlt das schliessende '/' hinter locale und bindtextdomain setup isn't working.
de ,a-t-c_de , ISO-8859-15 Gettext setup isn't working /var/www/htdocs/locale bindtextdomain setup isn't working ISO-8859-15 bind_textdomain_codeset setup isn't working a-t-c_de textdomain setup isn't working We translated it correctly
Lauf 2 (bindtextdomain($domain, "./localen/"); Nachdem ich nun aus lokale lokalen gemacht habe ist ergebnist "We translated it correctly" aber der Inhalt von bindtextdomain "/var/www/htdocs/localen/" fehlt.
Wer kann mir da helfen ? Auf einen anderem Linux Server läuft die Applikation ohne Probleme (siehe http://a-t-c.ch/phpinfo.php )
Vielen Dank für eure Hilfe.
Gruss gert
Testprogramm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <?php // Melde alle PHP Fehler (siehe Changelog) error_reporting(E_ALL); //var_dump($_SESSION); $lang1 = 'de_DE'; $_SESSION['LANG'] = 'de'; // Set language to Lang putenv("LANG=$lang1"); // teilt gettext die Sprache mit setlocale(LC_ALL, $lang1); $locale = $_SESSION['LANG']; // setzt die Sprache $domain = 'a-t-c_'.$_SESSION['LANG'] ; $encoding = 'ISO-8859-15'; // setzt die Zeichenkodierung // teilt gettext die Sprache mit setlocale(LC_MESSAGES, $locale); // teilt gettext mit, wo es die ?bersetzungen suchen soll bindtextdomain($domain, './locale'); // teilt gettext die zu verwendene Zeichenkodierung mit bind_textdomain_codeset($domain, $encoding); // weist gettext an, die definierte Dom?ne zu verwenden textdomain($domain); // gettext erwartet die ?bersetzung nun in //./de/LC_MESSAGES/A-T-C.mo echo " $locale ,$domain , $encoding <br>"; if( gettext("Hello World!") === "Hola a todos!" ) { print "We translated it correctly"; } else { print "Gettext setup isn't working<br>"; } $bindtextdomain_set = bindtextdomain($domain, "./locale/"); if (empty($bindtextdomain_set)) { print $bindtextdomain_set." We translated it correctly<br>"; } else { print $bindtextdomain_set." bindtextdomain setup isn't working<br>"; } $bind_textdomain_codeset = bind_textdomain_codeset($domain, $encoding); if (empty($bind_textdomain_codeset)) { print $bind_textdomain_codeset." We translated it correctly"; } else { print $bind_textdomain_codeset." bind_textdomain_codeset setup isn't working<br>"; } $textdomain = textdomain($domain); if (empty($textdomain)) { print $textdomain." We translated it correctly"; } else { print $textdomain." textdomain setup isn't working<br>"; } $setlocale = setlocale(LC_MESSAGES, $locale); if (empty($setlocale)) { print $setlocale." We translated it correctly"; } else { print $setlocale." bind_textdomain_codeset setup isn't working<br>"; } ?> |
Bearbeitet von redknight:
Forensyntax eingefügt. hast Du mal auf den Vorschauknopf gedrückt?