2017-08-11 6 views
0

Ich versuche eine Übersetzung zu einem Plugin hinzuzufügen, das ich von Grund auf neu geschrieben habe, aber nach einigen Experimenten weiß ich nicht, wie ich Wordpress bewusst machen soll, dass es eine Übersetzung für mein Plugin gibt.Wie macht man das benutzerdefinierte Wordpress-Plugin auf .po und .mo-Dateien aufmerksam?

Ich bin mir nicht sicher, was ich noch versuchen sollte, also dachte ich, dass jemand mit mehr Erfahrung auf Dinge hinweisen könnte, die ich ändern müsste.

Was ich bisher tat:

  1. Added entweder _e() oder __() auf die Sätze, die ich in meinem Plugin-Dateien übersetzt werden soll.
  2. Verwendet Loco Translate Plugin, um eine .pot Datei zu generieren.
  3. Geöffnet .pot Datei in Poedit, (es zeigte eine Liste aller Zeichenfolgen, die ich übersetzen wollte) übersetzte Plugin und generierte .po und .mo Dateien daraus.
  4. verschoben .pot, .po und .mo zu my-plugin/languages/.
  5. Dateien umbenannt in my-plugin-pt.po und my-plugin-pt.mo.
  6. Wordpress-Website-Sprache in übersetzte Sprache geändert. Die Sprache hat sich überall anders geändert, aber das Plugin gibt immer noch in Englisch aus.

Nicht wirklich sicher, was als nächstes zu tun ist.

Ich habe ein Verfahren geschaffen, die load_plugin_textdomain()while following these instructions from Wordpress läuft und hat es als eine Aktion zu my-plugin__construct() hinzugefügt:

my-plugin.php

public function __construct() { 
    // Other filters and actions... 
    add_action('plugins_loaded', array($this, 'translation_init')); 
} // __construct 

function translation_init() { 
    load_plugin_textdomain('my-plugin', FALSE, basename(dirname(__FILE__)) . '/languages/'); 
} 

Antwort

0

Der Sprachcode am Ende von den .po und .mo Dateien war falsch. Geändert von -pt.po zu -pt_PT.po (tat dasselbe für .mo Datei) und es begann perfekt zu arbeiten.

Es gibt eine list of the available language codes for Wordpress, die ich hätte sehen sollen, bevor ich die Dateien an erster Stelle benenne.

Verwandte Themen