Übersetzen Sie ein Plugin mit .po .mo-Dateien

34

Ich möchte dieses Plugin übersetzen .

Das Plugin wurde bereits in andere Sprachen übersetzt und enthält .potDateien zum Hinzufügen neuer Sprachen (soweit ich es aus der Beschreibung verstehe).

Wie kann ich erstellen .pound .moDateien für meine neue Sprache und macht sie zugänglich , um durch die Plug -In verwendet zu werden? Ich habe versucht, die russische Sprache in meiner wp-config.phpDatei durch Einfügen der folgenden Definition zu definieren :

define ('WPLANG', 'ru_RU');
Shimon S
quelle

Antworten:

43

Der Editor

Es gibt andere, aber diese werden am häufigsten verwendet: Poedit , ein plattformübergreifender Editor für Gettext-Kataloge (PO-Dateien).

Die Formate

  • .mosteht für Machine Object
    - kompilierter Export der .povon WordPress verwendeten Datei
  • .posteht für Portable Object
    - editierbare Textdatei mit den Übersetzungszeichenfolgen
    - basierend auf der Masterdatei .pot, unter Verwendung der PoEdit-Funktion Update from POT file
    - einige Leute verteilen diese als Masterdatei, sie sollte jedoch nur für Übersetzungen verwendet werden
  • .potsteht für Portable Object Template
    ( Portable Objektvorlage) - eine bearbeitbare Textdatei, mit der alle übersetzbaren Zeichenfolgen aus WordPress selbst und Designs und Plugins mithilfe der PoEdit-Funktion " Update from Sources" abgerufen werden können

Der Ablauf

  • Duplizieren Sie die .pot-Datei und benennen Sie sie in um plugin-basename-lang_COUNTRY.po
  • Beispiel für den referenzierten Plugin-Fall: - pt_BR bedeutet Portugiesisch, Brasilien, aber viele Sprachen haben keine Ländervariation ... - Sie müssen Ihre eigene Sprache eingebensubscribe-reloaded-pt_BR.po

  • WPLANGin wp-config.phpfile muss auf Ihre Sprache eingestellt sein, zBpt_BR
  • Jedes Mal .po, wenn Sie die Datei speichern, generiert PoEdit automatisch eine .moDatei, die von WordPress verwendet wird und im Grunde genommen die einzige ist, die Sie hochladen müssen

Beobachtungen

  • Wenn Sie eine vollständige oder anständige Teilübersetzung durchführen, senden Sie sie an den Plug-in-Autor, damit er sie in das Repository aufnehmen kann, und Sie erhalten eine Gutschrift dafür
  • Vergessen Sie nicht, eine Sicherungskopie Ihrer Übersetzung zu erstellen, da Ihre Datei verloren geht, wenn Sie das Plugin aktualisieren
  • @ user17078 Plugin-Vorschlag ist ganz nett, aber ich habe es nie viel benutzt
Brasofilo
quelle
1
Wie lange soll es dauern, bis die neue Mo / Po-Datei wirksam wird?
Nemo
8

Sie können versuchen , diese Codestyling-Lokalisierung Plugin: . Hiermit können Sie Plugins und Themes übersetzen.

Aristeides
quelle
1
Dies ist das beste Übersetzungs-Plugin, das ich je gesehen habe. Dieses Plugin kann jeden Tag poedit besitzen und das Beste daran ist, dass es kostenlos und benutzerfreundlich ist. Diese Antwort sollte mindestens bewertet werden.
Gogol
1
Existiert nicht länger.
Chris Cox
1
Dies sieht nach einer guten Alternative aus: wordpress.org/plugins/say-what
jetlej 10.06.15
@jetlej interessant, scheint aber nicht für meine po-Datei zu arbeiten: /
Nemo
8

(Hier ist ein BEISPIEL für die Übersetzung nach DEUTSCH. ÄNDERN Sie die Gepflogenheiten in IHRE GEWÜNSCHTEN.)

In jedem Plugin-Kopf gibt es einen eindeutigen Namen. (beispielsweise:

/*
Plugin Name: my-pluginname
.......
*/

Erstellen Sie dann im Ordner dieses Plugins einen Ordner "languages".

Fügen Sie dann in Ihre .php-Plugin-Datei (irgendwo oben) den Initialisierungscode ein:

class load_language 
{
    public function __construct()
    {
    add_action('init', array($this, 'load_my_transl'));
    }

     public function load_my_transl()
    {
        load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/');
    }
}

$zzzz = new load_language;

Öffnen Sie dann einen beliebigen Texteditor, und fügen Sie den folgenden Code ein (HINWEIS: Wir fügen nur zwei Beispielnachrichten hinzu, "Hallo" und "Tschüss". Sie können also so VIELE Nachrichten HINZUFÜGEN, WIE SIE WOLLEN, mit ähnlichen Zeilen).

# English translations for PACKAGE package.
# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Automatically generated, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: my-pluginname 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-06 13:46-0400\n"
"PO-Revision-Date: 2013-03-21 11:20+0400\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"X-Poedit-SourceCharset: iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"


#: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears)
msgid "mymessage1"
msgstr "Hello"

#: mypluginindex.php:88
msgid "mymessage2"
msgstr "Bye"

Speichern Sie diese Datei dann als "my-pluginname-de_DE.po" (beachten Sie, dass .po eine Dateierweiterung ist. Vergewissern Sie sich daher, dass Ihr Texteditorprogramm nicht unter "my-pluginname-de_DE.po.TXT" gespeichert wurde.)

Laden Sie dann die POEDIT-Software herunter und öffnen Sie diese Datei. Bearbeiten Sie dann das Feld "Übersetzung" und speichern Sie es als "my-pluginname-de_DE". Es werden zwei Dateien generiert das Kästchen mit der Aufschrift ".mo-Datei beim Speichern automatisch kompilieren"),

Dann legen Sie diese beiden Dateien in den Ordner "languages".

Danach öffne wp-config.php und finde diesen Code:

define ('WPLANG, '');

und wechseln zu

define ('WPLANG, 'de_DE');

Das ist alles. Wenn WordPress geladen ist, liest es die Sprachdatei Ihres Plugins mit dem Präfix -de_DE.

Also, in der .php-Datei des Plugins, anstatt:

echo "Something string";

du solltest benutzen:

echo __("mymessage1", 'my-pluginname');



Fertig. Jetzt solltest du dein Plugin testen.

ps verwendete links:

T.Todua
quelle
Ich habe das mit meinem Thema versucht. In der header.php habe ich echo __("thanks-for-visiting", 'transparent');. Im Theme \ languages ​​\ transparent-de_DE.po habe ich msgid "thanks-for-visiting" msgstr "Hello! Thank you for visiting. Take a look around and subscribe to the ". Dies gibt "Danke für den Besuch" auf der Vorderseite aus.
Steve
5

Sie möchten POEdit verwenden . Es ist eine kostenlose Anwendung zum Erstellen von .po / .mo-Dateien.

Ich schrieb eine ziemlich in detaillierter Anleitung auf dem gesamten Thema hier . Sie können mit Schritt 3 - Erstellen der Übersetzungsdatei für die Textdomäne fortfahren.

Pippin
quelle
5

Ich schlage auch vor, http: //poeditor.com/ . Es ist ein webbasiertes Übersetzungstool, das hervorragend mit .po, .mo, .pot und anderen Dateitypen funktioniert.

Taji M.
quelle
Ein Besucher schlug eine Bearbeitung vor, die auf ein neues Plugin für diesen Service verweist: wordpress.org/extend/plugins/poeditor
brasofilo