Beiträge von Cantello

    hau dem Autor eine an die Backe :lol:

    D'Oh!

    Das ist aber noch nicht alles, warum auch immer greift die Übersetzung nicht, weil das bedingte Laden der .mo-Datei mittels:

    PHP
    if(($_GET["post_type"] == 'rsvpmaker') || ($post->post_type == 'rsvpmaker') || ($pagenow == 'plugins.php') )

    nicht sauber auf jeder Seite funktioniert, meiner Meinung nach eigentlich auch logisch, wenn man sich die enthaltenen Sachen (plugins.php, etc.) ansieht. Wenn die Zeile auskommentiert ist, klappt es zumindest auf der Blog-Seite, der Rest ist immer noch irgendwie unvollständig deutsch/englisch.

    Ganz ok ist es noch nicht, aber auf besten Wege dorthin!

    http://img845.imageshack.us/i/clipboard2.png/

    Dank dir nochmal für die ausdauernde Hilfe! :-)

    So, ich habe jetzt einmal deine Datei ausprobiert, anscheinend ohne Erfolg, dann weiter durchprobiert mit verschiedenen Namen, Pfaden, etc. und bin auf Folgendes gestoßen:

    http://img88.imageshack.us/img88/8527/menie.png

    Im Menüpunkt "Erstellen" klappt die deutsche Übersetzung:

    http://img854.imageshack.us/img854/2838/erstellen.png

    im Menüpunkt RSVP Event, dann die Veranstaltung ausgewählt, nicht mehr, obwohl quasi alle Strings übersetzt sind:

    http://img695.imageshack.us/img695/3165/evente.png

    Genausowenig klappt es auf der Seite im Blog selbst, auf der die Veranstaltung mitsamt RSVP-Angaben angezeigt wird. Deshalb habe ich vermutlich auch nicht bemerkt, wann eine Datei klappte und wann nicht, da ich stets auf diese beiden Seiten geschaut hatte.

    http://img196.imageshack.us/img196/5084/clipboard5d.png

    Ok, ein Rätsel gelöst, bleibt die Frage, warum es auf der einen Seite klappt, und auf der anderen nicht. Im Quelltext (rsvpmaker-pluggable.php hauptsächlich) sind die korrekten Strings angegeben, auch jeweils mit dem "__" davor. In der .po-Datei sind eben diese Strings auch übersetzt, sollte also gehen:

    PHP
    <?php echo __('First Name','rsvpmaker');?>
    PHP
    #: ../rsvpmaker-plugabble.php:648
    #: ../rsvpmaker-plugabble.php:676
    msgid "First Name"
    msgstr "Vorname"

    Konntest du bei dir auch auf der Blog-Seite die Übersetzung anzeigen lassen? Merkwürdig...

    Jepp, der Blog läuft (mehr oder weniger, es wird eigentlich nur eine Einladungs- und Infoseite für eine Hochzeit) auf deutsch. Allerdings wurden die Sprachdateien nachträglich eingefügt, macht das einen Unterschied?

    WP_LOCALE ist auf "de_DE" gesetzt.

    Dein Beispiel verstehe ich übrigens nicht so ganz:

    PHP
    rsvpmaker-' . $locale . '.mo';

    $locale sollte eigentlich "de_DE" lauten, also wäre der Dateiname dann ganz ok: "rsvpmaker-de_DE.mo" Oder verstehe ich das falsch?

    Ich habe jetzt exakt das eingefügt, was du auch schon gepostet hattest, ohne Erfolg:

    PHP
    $mofile = WP_PLUGIN_DIR . '/rsvpmaker/translation/de_DE.mo';

    (die Datei heißt natürlich auch "de_DE.mo" :|)

    Naja, jetzt erstmal Feierabend und morgen weiter probieren...

    nun das muss natürlich beides gleich heißen, sonst stimmt der Pfad ja nicht

    Ja, istr hier auch korrekt geändert.


    Ursache dürfte die Abfrage sein, in der ja ein .mo schon vorgegeben ist und die Datei selbst ja auch mit .mo endet

    Aber in der Variante, die du benutzt, ist ja nur einmal .mo vorgegeben. Nämlich genau für den Dateinamen. Oder wie meintest du das?


    was meinst du damit?
    ich hab nur den Pfad wie oben geschrieben geändert, nix zusätzlich eingefügt

    Ich meinte auch die Änderung des Pfades, nur habe ich die ursprüngliche Zeile auskommentiert und deinen Vorschlag eingefügt.

    Selbst, wenn ich den kompletten Pfad im load_textdomain-Befehl angebe:

    PHP
    load_textdomain('rsvpmaker','/[...]/wordpress/wp-content/plugins/rsvpmaker/translation/rsvp.mo');

    klappt es nicht. Was mich dann zum Schluss bringt, dass meine .mo-Datei fehlerhaft ist. Gerade aber noch einmal nachgeschaut, alles sieht gut aus, keine Leerzeichen am Ende, richtige Kodierung, wunderbar. Vermutlich irgendein total dämlicher Fehler... :-/

    sodele, hab das jetzt mal lokal getestet

    und wie vorgeschlagen funktioniert dies

    Mist, dann liegt es ja einfach daran, dass ich zu unfähig bin... :-)

    Mir fällt nur gerade keine Möglichkeit ein, wie ich das Problem eingrenzen könnte. Ich habe rsvpmaker neu installiert, nur die zusätzliche Zeile in rsvpmaker.php ergänzt und die originale .po-Datei mit zwei-drei übersetzten Einträgen ergänzt und die .mo-Datei erstellen lassen.

    Hast du die Übersetzung per Hand gemacht oder ebenfalls mit poEdit? Und hast du das "translation"-Verzeichnis in rsvp-Ordner geändert? Im Originalzustand wird in rsvpmaker.php ein Verzeichnis namens "translations" abgefragt, während es nur ein Verzeichnis "translation" gibt.

    Dank dir aber schon mal für ausdauernde Hilfe!

    Danke erstmal für die Antwort!

    ... aber: Funktioniert leider nicht - das Plugin sucht doch explizit (siehe rsvpmaker.php) nach einer Datei, die nicht de_DE.mo heißt, sondern rsvpmaker-[locale].mo.

    Oder gibt es einen allgemeingültigen Standard, nach dem alle Plugins im eigenen Ordner im Unterordner 'language' diese [locale].mo-Dateien haben dürfen? Habe zumindest nichts dazu gefunden.


    edit: Geht leider alles nicht. Gibt es eine Art Log, in dem man nachschauen könnte, was das Plugin zu laden versucht und woran es scheitert?

    edit: Bitte ins richtige Forum verschieben, ich dachte zunächst, dort ginge es nur um die offizielle deutsche Übersetzung des WP-Grundgerüsts. Sorry.
    ==============

    Moin zusammen!

    Ich würde gerne ein Plugin nutzen, um Einladungsbestätigungen im Blog entgegenzunehmen. Soweit, so gut, RSVPmaker ist super dafür geeignet. Allerdings hätte ich das Ganze gern auf deutsch und da fangen die Probleme an.

    Es existiert eine englische .po-Datei, die ich als Basis genommen habe und gemäß diverser Anleitungen mit dem poEditor die deutsche .po und .mo-Dateien daraus erstellt habe (rsvpmaker-de_DE.mo & .po).

    Die Dateien habe ich in den 'translation'-Ordner des Plugins gepackt, in der rsvpmaker.php ist als Ort angegeben:

    PHP
    if(($_GET["post_type"] == 'rsvpmaker') || ($post->post_type == 'rsvpmaker') || ($pagenow == 'plugins.php') )
        {
        //if we're on the admin page for adding a new event, or are editing or viewing an event, or are on the plugins activation page
        $locale = get_locale();
        $mofile = WP_PLUGIN_DIR . '/rsvpmaker/translation/rsvpmaker-' . $locale . '.mo';
        load_textdomain('rsvpmaker',$mofile);
        }

    Also müsste "wp-content/plugins/rsvpmaker/translation/rsvpmaker-de_DE.mo" doch eigentlich korrekt sein, nicht wahr?

    In der wp-config.php ist

    PHP
    define ('WPLANG', 'de_DE');

    angegeben, also sollte der Suffix ebenfalls richtig sein.

    Leider wird weder in den Einstellungen des Plugins, noch auf den dargestellten Ereignis-Seiten selbst irgendetwas auf deutsch angezeigt.

    Die Permissions sind - soweit ich das sehen kann - korrekt gesetzt, alles auf 644 und der Owner ist der Webserver (www-data).

    Habt ihr eine Idee, wo ich noch suchen könnte?