Wie funktioniert diese Übersetzung?

  • @Bandit: Und warum nich? Ich seh kein problem damit, sorry. Bin warscheinlich wieder zu blöd. Aber gut, Santos weis jetzt welche möglichkeiten es gibt.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • @Bandit: Und warum nich? Ich seh kein problem damit, sorry. Bin warscheinlich wieder zu blöd. Aber gut, Santos weis jetzt welche möglichkeiten es gibt.


    Ich vermute, er meint, dass z.B. der Name der Datei, aus der eingelesen wird, konstant ist, genauso wie die Anzahl der Sprachen.

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • Dito, soll ja wiederverwendbar sein und neu instanzierbar sein


    @santos, klar kannst du auch Prozentual Programmieren, aber wenn du mal in den Trend von OOP kommst willst du es nicht mehr missen, bevor du dir die Arbeit immer mit Funktionen zu machen, nehme OOP da ist es halt dann statt einer Funktion eine Methode ;)


    mfg

  • Ich vermute, er meint, dass z.B. der Name der Datei, aus der eingelesen wird, konstant ist, genauso wie die Anzahl der Sprachen.


    Richtig, und den Keks würde ich auch nicht darin setzen.

  • Ja ok, stimmt schon. Sollte ja uch kein Meisterwerk sein ;).
    Mich intresseirts jetzt mal wie Santos sein Problemchen gelöst hat.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Gelöst hab ich es vorerst so:

    Ja ich weiß ist nicht der burner aber ich lass es jetzt erstmal so und werd mich dann mal weiterhin etwas mehr mit OOP auseinandersetzen.
    Hab aber noch eine Frage dazu. Bei dem System wo ich diese Übersetzung gesehen hab ($this->__('kdjfhskdjfh');) dan kam es ab und zu vor das statt variablen ein "%s" dort stand. Also sowas:

    PHP
    $this->__('Sie haben '.$anzahl_freunde.' Freunde.');

    In der Übersetzungs .csv stand es dann so:

    Code
    "Sie haben %s Freunde.","You got %s friends."

    Wie geht denn sowas? Oo

    Don't follow me, I run into walls.

    Einmal editiert, zuletzt von MyXoToD (18. Juni 2010 um 09:02)

  • dA brauchst du auf jeden Fall OOP. Du könntest z.B. in der CSV Variablen speicher, also welche PHP-Variable welches %X bekommt.
    z.B.
    de,en,s->friends
    Und dann halt sowas ausführen:

    PHP
    $lang[2]=explode("->", $lang[2]);
    $txtVar=$lang[2][0];
    $phpVar=$lang[2][1];
    eval ("$str=str_replace('%".$txtVar."', \$".$phpVar.", $str);");
    // würde dann ergeben:
    $str=str_replace('%s', $friends, $str);

    Gerade bei sowas ist OOP mehr als nützlich.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • 1. function __ <- verwende einen Ausagekräftige Funktions namen
    2. global $lang; <- global igitt
    3. Wie übersetzt du Zeichen, Datumsangaben etc ?
    4. Eval NIE verwenden , es sei den es muss sein und hier definitiv nicht (Eval != taschenrechner)
    5. Du brauchst für nix OOP geht alles auch anders und unschöner


    mfg

  • dA brauchst du auf jeden Fall OOP


    Nö, nicht unbedingt. Wäre zwar besser, muss aber nicht sein. Und eval ist auch nicht erforderlich, ich würde das mit einer variablen Anzahl Argumente lösen.

    Auf die schnelle zusammengeschraubt:

    Code
    "de";"en";"fr"
    "Haus";"House";"Maison"
    "Argumente"; "Argumente %s Argumente"; "Argumente %s Argumente"
    "Danke";"Thank you";"Merci"
  • Ein setlocal gehört absolut noch in die setTranslationLanguage mit rein, ansonsten sieht das schon interessanter aus

    mfg