Ankündigung

Einklappen
Keine Ankündigung bisher.

i18n / gettext

Einklappen

Neue Werbung 2019

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

  • i18n / gettext

    Hallo.

    Ich versuche verzweifelt i18n zu implementieren.
    Ich verstehe nicht, wieso das nicht klappt. Ich habe mehrere Beispiele ausprobiert, komme aber nicht weiter.

    Der Code sieht so aus:
    PHP-Code:
    <?php
        putenv
    ('LC_ALL=en_GB');
        
    setlocale(LC_ALL'en_GB');
        
    bindtextdomain("messages"dirname(__FILE__).'/locale');
        
    textdomain("messages");
        
    bind_textdomain_codeset("messages"'UTF-8');

        echo 
    gettext('Auto');
    ?>
    Die Übersetzungsdatei liegt unter: /www/sandbox/i18n/locale/en_GB/LC_MESSAGES - da habe ich messages.po als auch die kompilierte messages.mo

    In der .mo Datei steht unter anderem:

    Code:
    #: C:\www\sandbox\i18n/test.php:3
    msgid "Auto"
    msgstr "Car"
    Habe ein Windows System.

    Hat jemand evtl. ein funktionstüchtigen Beispiel?
    Was mache ich falsch?

    Vielen Dank im Vorraus,
    Alex

  • #2
    Zitat von AlexanderHH Beitrag anzeigen
    /www/sandbox/i18n/locale/en_GB/LC_MESSAGES
    ...
    #: C:\www\sandbox\i18n/test.php:3
    Wie Windows und UNIX-Pfade aussehen weißt du aber, oder? Kann mir nicht vorstellen das bei einem Windows-System der Pfad /www/sandbox/i18n/locale/en_GB/LC_MESSAGES existiert.

    Kommentar


    • #3
      Windows kann auch mit Slash um.
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Jep, Windows kann auch mit Slashes umgehen und wenn der Pfad mit / anfängt, dann geht er automatisch von aktueller Platte aus z.B. C:

        Kommentar


        • #5
          Also, ich weiss nicht, ob es überhaupt auf Windows Rechnern gehen kann bzw. was man dafür noch machen müsste. Ein Beispiel, der VON englisch nach de_DE übersetzt klappte lokal (habe ja das System auf Deutsch). Aber von Deutsch nach en_US oder ru_RU klappte es einfach nicht.
          Ich habe also mein Code auf ein Ubuntu-System hochgeladen und dort klappte es nicht - von Englisch nach Deutsch zu übersetzen.

          locale -a hat mir gesagt, dass ich nur en_US.utf8 habe:

          Code:
          root@XXXXXXXXX:~# locale -a
          C
          C.UTF-8
          POSIX
          en_US.utf8
          Dann habe ich dies gemacht:

          Code:
          root@XXXXXXXXXX:~# locale-gen ru_RU.UTF-8
          Generating locales...
            ru_RU.UTF-8... done
          Generation complete.
          root@XXXXXXXXX:~# locale-gen de_DE.UTF-8
          Generating locales...
            de_DE.UTF-8... done
          Generation complete.
          locale -a spuckte dann das raus:

          Code:
          C
          C.UTF-8
          POSIX
          de_DE.utf8
          en_US.utf8
          ru_RU.utf8
          Und dann kam das zum Schluß:

          Code:
          root@XXXXXXXXXXXX:~# locale-gen
          Generating locales...
            de_DE.UTF-8... up-to-date
            en_US.UTF-8... done
            ru_RU.UTF-8... done
          Generation complete.
          root@lvpsXXXXXXXXXXXXX:~# locale-gen
          Generating locales...
            de_DE.UTF-8... up-to-date
            en_US.UTF-8... up-to-date
            ru_RU.UTF-8... up-to-date
          Generation complete.
          Und woalah! Das Ding konnte dann die geschriebene Texte von Englisch nach de_DE und ru_RU übersetzen.

          Ich dachte mal, ich gebe hier bescheid, falls jemand auch so ein Problem hat / bekommt.

          Kommentar


          • #6
            Und woalah!
            -> et voilá

            Das Ding konnte dann die geschriebene Texte von Englisch nach de_DE und ru_RU übersetzen.
            Übersetzen tut i18n IMHO überhaupt nicht.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Zitat von nikosch Beitrag anzeigen
              -> et voilá
              Ist auch falsch, aber das Forum frisst den richtigen Buchstaben

              Was passiert überhaupt, wenn du deinen Code ausführst?
              Crashkurs zum Thema Rechtschreibung: [COLOR="Green"]normalerweise[/COLOR] ([COLOR="Red"]normaler weise[/COLOR] oder [COLOR="Red"]normaler weiße[/COLOR]), [COLOR="DarkGreen"]Standard[/COLOR] ([COLOR="Red"]Standart[/COLOR]), [COLOR="DarkGreen"]eben[/COLOR] ([COLOR="Red"]ebend[/COLOR])

              Kommentar


              • #8
                Ist auch falsch, aber das Forum frisst den richtigen Buchstaben
                Weiß ich, hatte ich probiert
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Erst vor kurzem gelesen, woher kommt überhaupt der Begriff i18n?
                  i18n bedeutet, dass zwischen dem Buchstaben i und n 18 Zeichen liegen.

                  Hast du Error Reporting an?
                  PHP Build Gettext fähig/alternativ gettext installiert?
                  (http://php.net/manual/en/gettext.installation.php)
                  Fehlermeldungen?
                  Verwendest du Ubuntu?
                  (http://stackoverflow.com/a/6087538/4024751)

                  Seitennotiz: Ich kann dir http://poedit.net empfehlen zum editieren der Dateien.

                  Kommentar


                  • #10
                    Erst vor kurzem gelesen, woher kommt überhaupt der Begriff i18n?
                    i18n bedeutet, dass zwischen dem Buchstaben i und n 18 Zeichen liegen.
                    Aber nicht irgendwelche Zeichen

                    i18n
                    internationalization
                    ^^^^^^^^^^^ 18 Buchtaben

                    l10n
                    localization
                    ^^^^^^ 10 Buchstaben
                    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                    Kommentar


                    • #11
                      Zitat von lstegelitz Beitrag anzeigen
                      Aber nicht irgendwelche Zeichen

                      i18n
                      internationalization
                      ^^^^^^^^^^^ 18 Buchtaben

                      l10n
                      localization
                      ^^^^^^ 10 Buchstaben

                      Kommentar

                      Lädt...
                      X