gettext() funktioniert nur bei de_DE

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • gettext() funktioniert nur bei de_DE

    Hallo
    Ich bin grade dabei ein Projekt mehrsprachig umzusetzen und daher beschäftige ich mich mit gettext().
    Ich habe erstmal ein kleines testscript geschrieben, um zu testen ob die Grundlagen funktionieren. In der Standardsprache de_DE klappt das ganze auch, d.h. er gibt mir die Übersetzung aus meiner .po-Datei aus. Sobald ich jedoch das gleiche mit zb en_UK versuche scheitert es und ich bekomme den msgid-Wert (quasi die Beschreibung).
    Ich probiere wirklich schon eine ganze Zeit rum, finde jedoch nichts

    Meine Ordnerstruktur:

    /test/locale/de_DE & en_UK/LC_MESSAGES/messages.po & messages.mo

    in dem ordner test liegt mein php-script mit folgendem Inhalt:

    Code:
    <?php
    
    //defaul-lang
    $locale ="en_UK";
    
    //if language submitted
    if (isSet($_GET["locale"])) 
    	$locale = $_GET["locale"];
    
    putenv("LC_ALL=$locale");
    setlocale(LC_ALL, $locale);
    
    //path to language-files
    bindtextdomain("messages", "./locale");
    
    echo gettext("Navigation_Home");
    ?>
    meine messages.po-Datei sieht wie folgt aus:

    Code:
    "Project-Id-Version: test\n"
    "POT-Creation-Date: \n"
    "PO-Revision-Date: 2007-10-29 20:49+0300\n"
    "Last-Translator: \n"
    "Language-Team: \n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=iso-8859-1\n"
    "Content-Transfer-Encoding: 8bit\n"
    "X-Poedit-Language: English\n"
    "X-Poedit-Country: UNITED KINGDOM\n"
    "X-Poedit-Basepath: /home/****/test/locale/en_UK/LC_MESSAGES\n"
    
    msgid "Navigation_Home"
    msgstr "home"
    Ausgabe ist "Navigation_Home".

    wenn ich über test.php?locale=de_DE aufrufe bekomme ich die Übersetzung "Start" korrekt ausgegeben

    Wäre traumhaft, wenn mir irgendwer helfen könnte
    Mir ist aufgefallen, dass ich hier schonmal nen account hatte, aber die domain der mail-Adresse hab ich nicht mehr :x
    Zuletzt geändert von kinglui99; 29.10.2007, 20:21.

  • #2
    ich habe es

    Problem war, dass es nicht en_UK sondern en_GB heißt - außerdem war das Paket für en_GB aber nicht auf dem Server installiert. pl_PL oder en_US gingen direkt ... naja, dann kann es jetzt ja losgehen

    Kommentar

    Lädt...
    X