[php] und gettext

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [php] und gettext

    Ich krieg gettext einfach nicht zum übersetzen ...

    gettext ist installiert und in PHP eingebunden,
    den locale-Tree habe ich munter durch die Gegend geschoben,
    apache mehrfach neu gestartet,
    die verschiedensten Möglichkeiten für die locale-Einstellung ausprobiert ...
    aber nichts funktioniert; mein Skript wirft munter 'original' aus

    Das Tutorial von zez.org 1:1 übernommen,
    die Kommentare im Handbuch gelesen und ausprobiert,
    die Doku von gnu.org durchforstet

    nix ... wer von euch hat das schon mal erfolgreich zum Laufen gebracht?

    PHP Version 5.0.2
    Debian mit 2.4 Kernel
    Apache 2.0

    Code:
    [b]/web/htdocs/gettext# ls -FlAR[/b]
    total 8
    -rwxr--r--  1 titus titus  481 Mar  4 18:14 gettext.php*
    drwxr-xr-x  3 root  root  4096 Mar  4 16:19 locale/
    
    ./locale:
    total 4
    drwxr-xr-x  3 root root 4096 Mar  4 16:19 en/
    
    ./locale/en:
    total 4
    drwxr-xr-x  2 root root 4096 Mar  4 16:20 LC_MESSAGES/
    
    ./locale/en/LC_MESSAGES:
    total 8
    -rw-r--r--  1 root root 455 Mar  4 18:13 messages.mo
    -rw-r--r--  1 root root 664 Mar  4 18:13 messages.po
    chown root:root gettext.php hat natürlich auch nix gebracht.

    Code:
    [b]/web/htdocs/gettext# cat locale/en/LC_MESSAGES/messages.po[/b]
    msgid ""
    msgstr ""
    "Project-Id-Version: PACKAGE VERSION\n"
    "Report-Msgid-Bugs-To: \n"
    "POT-Creation-Date: 2005-03-04 15:51+0100\n"
    "PO-Revision-Date: 2005-03-04 16:00+0100\n"
    "Last-Translator: Titus Hochgreve <thochgreve@ebiz-consult.de>\n"
    "Language-Team: LANGUAGE <LL@li.org>\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=iso-8859-1\n"
    "Content-Transfer-Encoding: 8bit\n"
    
    #: gettext.php:6
    msgid "original"
    msgstr "it is translated ... hooray!!!"
    PHP Code:
    [b]/web/htdocs/gettext# cat gettext.php[/b]
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//de">
    <html><head>
      <title>gettext 18:22</title>
    </head><body>
    <?php
    // Set language to English
    setlocale(LC_ALL,'en_US:en');
    putenv('LANG=en_US:en');
    putenv('LANGUAGE=en_US:en');
    /**/
    #putenv ("LC_ALL=en");
    /*/
    setlocale (LC_ALL, 'en');
    /**/
    // Specify location of translation tables
    bindtextdomain ("messages""./locale");
    // Choose domain
    textdomain ("messages");

    // test output
    echo _('original');
    ?>
    </body></html>
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

  • #2
    Probier doch mal folgendes:
    PHP Code:
    var_dump(setlocale(LC_ALL'en_US:en')); 
    wenn false rauskommt, ist die übergebene locale unbekannt.
    hopka.net!

    Comment


    • #3
      *tilt* ok, auf die Idee war ich ausnahmsweise mal noch nicht gekommen ...

      apt-get install locales
      apt-get install util-linux-locales

      hat er auch gemacht, reicht aber anscheinend nicht - setlocale liefert immer noch false ... noch ne Idee?
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Comment

      Working...
      X