it-swarm.com.de

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

Ich möchte dieses Plugin übersetzen.

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

Wie erstelle ich .po- und .mo-Dateien für meine neue Sprache und mache sie zugänglich, damit sie vom Plugin verwendet werden können? Ich habe versucht, die russische Sprache in meiner wp-config.php -Datei zu definieren, indem ich die folgende Definition einfügte:

define ('WPLANG', 'ru_RU');
33
s976

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

  • .mo steht für Machine Object
    - kompilierter Export der .po-Datei, die von WordPress verwendet wird
  • .po steht für Portable Object
    - editierbare Textdatei mit den Übersetzungszeichenfolgen
    - basierend auf der Master-Datei .pot mit der Funktion Update from POT file PoEdit
    - Einige Leute vertreiben dies als Master-Datei, aber es sollte nur für Übersetzungen verwendet werden
  • .pot steht für Portable Object Template
    - bearbeitbare Textdatei, die verwendet wird, um alle übersetzbaren Zeichenfolgen aus WordPress selbst und Designs und Plugins mit der Funktion Update from Sources PoEdit abzurufen

Der Ablauf

  • Dupliziere die .pot-Datei und benenne sie in plugin-basename-lang_COUNTRY.po um
  • Beispiel für den referenzierten Plugin-Fall:subscribe-reloaded-pt_BR.po
    - pt_BR bedeutet Portugiesisch Brasilien, aber viele Sprachen haben keine Ländervariationen ...
    - Sie müssen Ihre eigene Sprache eingeben
  • WPLANG in wp-config.php muss auf Ihre Sprache eingestellt sein, z. B. pt_BR
  • Jedes Mal, wenn Sie die .po-Datei speichern, generiert PoEdit automatisch eine .mo-Datei, die von WordPress verwendet wird und im Grunde 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 werden Ihnen gutgeschrieben 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
42
brasofilo

Sie können dieses Codestyling-Lokalisierungs-Plugin ausprobieren: . Hiermit können Sie Plugins und Themes übersetzen.

8
Aristeides

(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. (zum Beispiel:

/*
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. (Wenn poEdit die zweite .mo-Datei nicht automatisch generiert, gehen Sie einfach zu Datei -> Einstellungen -> Editor und überprüfen Sie das Kästchen mit der Aufschrift ".mo-Datei beim Speichern automatisch kompilieren"),

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

öffnen Sie danach die Datei wp-config.php und suchen Sie den folgenden 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.

p.s. verwendete Links:

8
T.Todua

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

Ich habe ein ziemlich ausführliches Tutorial zum gesamten Thema geschrieben hier . Sie können mit Schritt 3 - Erstellen der Übersetzungsdatei für die Textdomäne fortfahren.

5
Pippin

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

5
Taji M.