Support » Plugins » Loco Translate: Übersetzung für „Booked“ wird nicht übernommen

  • Hallo zusammen,

    für das Plugin „Booked“ möchte ich einige englischsprachige Textpassagen auf deutsch übersetzen. Dies habe ich über das Plugin „Loco Translate“ auch relativ einfach bewerkstelligen können. Nun werden mir die Übersetzungen auf meiner Homepage trotz dessen nicht angezeigt.

    Meine Spracheinstellungen von WordPress sind auf „deutsch“ eingestellt. Ich habe schon ein paar Tage lang rumgegoogelt, bin aber nicht fündig geworden.

    Ich würde mich über eure Hilfe sehr freuen 🙂

    Liebe Grüße
    Dominik

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • … für das Plugin „Booked“ möchte ich …

    Das Plugin gibt es nicht. Wie heißt denn der richtige Name? Link zum Download? URL zu deiner Website?

    Hallo Mario,

    Das Plugin wird in Loco Translate tatsächlich als „booked“ angezeigt. Unter meinen Plugins erscheint es ebenfalls unter dem Titel „booked“. Im Adminbereich wird es unter „Appointments“ gelistet.

    Die Homepage des Plugins ist die folgende: https://getbooked.io/

    Meine Homepage möchte ich zum jetzigen Zeitpunkt ungern posten, weil ich mich noch in der Bastelphase befinde 🙂

    Besten Dank vorab
    Dominik

    Da das ein gekauftes Plugin ist, finde ich es auch nicht im WordPress-Repository. Bitte lies dir nochmal unsere Forenregeln durch: gekaufte Themes und Plugins unterstützen wir hier nicht, weil sie uns nicht zur Verfügung stehen.

    Wahrscheinlich fehlt einfach nur die Text Domain im Plugin-Header, vielleicht stimmen auch die Übersetzungsfunktionen nicht, aber ohne Einblick in den Code kann ich das nicht beurteilen.

    oh sorry, das war mir nicht bewusst.

    Im Header ist kein Verweis auf die Text Domain. Die Übersetzungen liegen unter:
    /wp-content/plugins/booked/languages

    Muss ich dann unter booked.php Folgendes angeben?:
    Text Domain: /languages

    Ansonsten habe ich versucht an dem Codeaus der booked.php zu basteln, bin aber nicht weiter gekommen:

    // Localization
    function booked_local_init(){
    	$domain = 'booked';
    	$locale = apply_filters('plugin_locale', get_locale(), $domain);
    	load_textdomain($domain, WP_LANG_DIR.'/booked/'.$domain.'-'.$locale.'.mo');
    	load_plugin_textdomain($domain, FALSE, dirname(plugin_basename(__FILE__)).'/languages/');
    }
    add_action('after_setup_theme', 'booked_local_init');

    Die Text Domain gibt an, welche Übersetzungen für das Plugin in Frage kommen.

    Falls es dich interessiert, ein paar Hintergrund-Infos: Nehmen wir einmal an, du hast … sorry, ich muss mir jetzt auf die Schnelle was ausdenken … ein Plugin für deine Finanzen und eines für deine Wanderungen. In beiden kommt das Wort Bank vor, nur mit ganz unterschiedlicher Bedeutung (Kreditinstitut und Sitz-Bank). Es wäre jetzt blöd, wenn in der Übersetzung des Plugins für Wanderungen „Nach langen Wanderungen setzt du dich besser mal auf eine Kreditinstitut.“ ausgegeben würde. Deshalb gibst du im Plugin-Header an:

    /*
     * Plugin Name: Wanderungen
     * Author: Dominik Freshbarcode
     * Text Domain: wanderungen
     * Domain Path: /languages
     */

    Das Plugin „weiß“ jetzt, dass die Übersetzungen der Text-Domain „wanderungen“ in Frage kommen und dass sie im Verzeichnis /languages liegen.

    Wenn dein Plugin nun noch Funktion mit der Text-Domain verwendet, greift auch die Übersetzung.

    Richtig: _e( 'bank', 'wanderungen' );

    Falsch: _e( 'bank' );
    (keine Text-Domain angegeben, das Plugin „weiß“ also nicht, was genommen werden soll.)

    Ich hoffe, diese etwas merkwürdige Beispiel erklärt den Sachverhalt ein wenig.

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)