Internationalisierung von WordPress-Projekten Updates mit WordPress 4.6

In dieser ganzen Serie haben wir genau beschrieben, was Sie zur Internationalisierung Ihrer WordPress-Projekte tun müssen. Wenn Sie noch keinen der vorherigen Beiträge gelesen haben, empfehle ich Ihnen, sie auszuprobieren.

Obwohl einige Änderungen an der Funktionsweise von Internationalisierung und Lokalisierung in WordPress 4.6 vorgenommen wurden, bedeutet dies nicht, dass die vorherigen Tutorials nicht relevant sind. Es bedeutet nur, dass sich die Art und Weise, wie Sie sich entscheiden, Ihre Plugins und ihre Lokalisationen zu verteilen, ändert.

Und das werden wir in diesem Tutorial behandeln.

Bevor wir anfangen

Wie bereits erwähnt, geht dieses Tutorial davon aus, dass Sie sich über alles informieren, was wir bisher in dieser Serie besprochen haben. Das beinhaltet:

  • Internationalisierung verstehen und warum es wichtig ist.
  • Einrichten einer Entwicklungsumgebung für die Arbeit mit dem Beispielcode.
  • Verständnis der Lokalisierung (und des Unterschieds zwischen Internationalisierung).
  • Verwendung von Tools, um mit der Übersetzung Ihrer internationalisierten Zeichenfolgen zu beginnen.

Wenn keiner der oben genannten Punkte sinnvoll ist, überprüfen Sie bitte die Serie. Wenn Sie sich sicher sind, dass Sie jeden der oben genannten Aufzählungspunkte erklären oder verwenden können, können Sie fortfahren.

Die Änderungen verstehen

Das Schöne an diesem Tutorial ist, dass es informativer ist als theoretisch (oder praktisch). Das heißt, es wird keinen Code zum Demonstrieren geben. Es geht nur darum, Informationen zu verbreiten und sicherzustellen, dass Sie wissen, was wann verwendet wird.

Bevor wir uns eingehender mit dem Thema befassen, sollten wir uns ein wenig zurücklehnen und über den gesamten Internationalisierungsprozess von WordPress sprechen und darüber, wie es beim Laden von lokalisierten Dateien funktioniert.

Wie Internationalisierung und Lokalisierung funktionieren

Die Konzepte der Internationalisierung und Lokalisierung sind relativ leicht zu verstehen, aber auch leicht verwirrend (als ich meine Arbeit in WordPress begann, missbrauchte ich sogar die Begriffe)..

Internationalisierung ist der Prozess der Entwicklung Ihres Plugins, so dass es leicht in andere Sprachen übersetzt werden kann.

Auf diese Weise bereiten wir alle Strings und den für Menschen lesbaren Text in unserem Plugin vor, die für andere Sprachumgebungen übersetzt werden müssen.

Lokalisierung bedeutet also, die Zeichenfolgen tatsächlich zu übersetzen und in Sprachpakete zu bündeln, die dann von WordPress geladen werden, abhängig von der in der Installation festgelegten Ländereinstellung.

Nehmen wir zum Beispiel an, ich baue ein Plugin und verwende amerikanisches Englisch oder im de_DE locale wie Sie es vielleicht geschrieben sehen. Dann sehen Sie den gesamten Text, den ich in meiner Sprache geschrieben habe.

Aber was passiert, wenn jemand, der das Plugin verwenden möchte, es auf Spanisch übersetzen möchte? Zunächst wird der Verantwortliche ein Tool wie POEdit verwenden, um die Übersetzungen für jede der Zeichenfolgen bereitzustellen. 

Dann wird sie oder er diese in der Sprachen Verzeichnis (oder was auch immer verwendet wird). Die Datei sollte nach dem Gebietsschema benannt werden, für das sie relevant ist. In diesem Fall, es_ES.

Wenn das Plugin in eine WordPress-Installation geladen wird, die auf einem Computer installiert ist, auf dem der installiert ist es_ES Wenn das Gebietsschema als Standardgebietsschema festgelegt ist, wird die Lokalisierungsdatei geladen und ersetzt alle übersetzten Zeichenfolgen durch ihre spanischen Entsprechungen.

Und so hat der Internationalisierungsprozess schon lange funktioniert. Wenn Sie sich dafür entscheiden, Plugins außerhalb des WordPress Plugin-Repositorys zu verteilen, müssen Sie dies auch tun.

Aber was ist mit den Plugins, die verteilt werden? im das Repository?

Just-in-Time-Übersetzungen

In der Informatik gibt es ein Konzept von JIT (oder Just-In-Time), und wir hören oft, dass es als "Just-In-Time" -Kompilierung bezeichnet wird.

Beim Computing wird die Just-in-Time-Kompilierung (JIT), auch dynamische Übersetzung genannt, während der Ausführung eines Programms - zur Laufzeit - und nicht vor der Ausführung ausgeführt.

In der neuesten Version von WordPress, also WordPress 4.6, können internationalisierte Plugins, die einem bestimmten Protokoll folgen, den Vorteil der Just-in-Time-Lokalisierung nutzen. Im Make WordPress Blog können diese Änderungen wie folgt zusammengefasst werden:

Da sich Übersetzungsdateien normalerweise in wp-content / languages ​​befinden, durchsucht WordPress dieses Verzeichnis jetzt nach verfügbaren Übersetzungen und lädt diese automatisch, wenn es zum ersten Mal auf eine Textdomäne trifft.

Was bedeutet das für uns Entwickler? Kurz gesagt bedeutet dies, dass WordPress, wenn wir unsere Arbeit über das WordPress Plugin Repository verteilen, zuerst die Übersetzungsbibliothek durchsucht, um zu sehen, ob eine für das aktuelle Plugin und dessen Gebietsschema vorhanden ist. Wenn es einen erkennt, verwendet es diesen.

Wenn eine Übersetzung nicht erkannt wird, kann eines von zwei Dingen passieren:

  1. Das Plugin wird einfach nicht lokalisiert.
  2. Das Plugin verwendet die im Plugin enthaltene Lokalisierungsdatei.

Bei diesem neuen Ansatz gibt es jedoch einige Einschränkungen:

  1. Wir müssen nicht mehr anrufen load_plugin_textdomain () in unseren WordPress 4.6-basierten Plugins.
  2. Wenn Sie es gewohnt sind zu benutzen unload_textdomain (), Sie müssen die Übersetzungen nach dem Aufruf manuell laden, wenn Sie sie erneut verwenden möchten.

Obwohl sie einfach sind, empfehle ich dringend, den Blogbeitrag in seiner Gesamtheit zu lesen, um zu verstehen, wie er funktioniert, seine Funktionalität und wie er sich auf Ihre tägliche Arbeit bezieht.

Im Allgemeinen finde ich diese Funktion unglaublich nett. Es gibt uns die Möglichkeit, Plugins zu verteilen, die möglicherweise bereits über Übersetzungen verfügen und die über WordPress geladen werden können. 

Ich glaube nicht, dass es eine Ausrede ist nicht um die internationalisierten Dateien zu bündeln. Wenn kein Sprachpaket gefunden wird, muss es immer noch aus dem geladen werden Sprachen Verzeichnis. 

Und wenn das ultimative Ziel darin besteht, die stabilsten und stabilsten Plugins zur Verfügung zu haben, sollten wir uns nicht auf etwas verlassen, das nicht existiert. Lassen Sie uns stattdessen auf das Beste hoffen, aber auf das Schlimmste.

Fazit

Und damit haben wir alles darüber diskutiert, wie WordPress mit der Internationalisierung und Lokalisierung von Plugins umgeht, die sowohl im WordPress-Plugin-Repository als auch in den Plugins verfügbar sind, die Sie über Ihre eigenen Kanäle verteilen.

Wenn Sie mehr über WordPress aus Entwicklungsperspektive erfahren möchten, beachten Sie, dass ich ausschließlich mit WordPress arbeite und häufig darüber schreibe. Sie finden alle meine Kurse und Tutorials auf meiner Profilseite. Sie können mir auf meinem Blog und / oder Twitter unter @tommcfarlin folgen, wo ich über Softwareentwicklung im Kontext von WordPress spreche.

Wenn Sie nach anderen Dienstprogrammen suchen, die Sie dabei unterstützen, Ihr wachsendes Set an Tools für WordPress aufzubauen, oder beispielsweise Code, um sich mit WordPress vertraut zu machen, sollten Sie nicht vergessen, was in Envato verfügbar ist Markt.

Zögern Sie nicht, Fragen oder Kommentare in den untenstehenden Feed zu schreiben, und ich werde versuchen, auf jeden von ihnen zu antworten.

Ähnliche Resourcen

Im Folgenden sind einige Ressourcen aufgeführt. Beachten Sie, dass diese sowohl aus den vorherigen Tutorials stammen als auch aus dem, was in diesem Tutorial erwähnt wurde. All das, um zu sagen, wenn Sie die vorherigen Tutorials gelesen haben, sollten Sie in guter Verfassung sein. Wenn Sie sich dazu entschlossen haben, dies nicht zu tun, überprüfen Sie mindestens die Links unten.

  • Plugin-Header
  • Textdomäne
  • admin_menu
  • add_submenu_page
  • __ ()
  • esc_html_e ()
  • admin_enqueue_scripts
  • wp_enqueue_style
  • Domänenpfad
  • POEdit
  • plugins_loaded
  • load_plugin_textdomain
  • Gebietsschema

Beachten Sie auch, dass Sie möglicherweise ein Demo-Projekt herunterladen möchten, um den Quellcode zu untersuchen und zu sehen, wie es funktioniert. Dies gilt insbesondere, wenn Sie etwas außerhalb des WordPress Plugin Repository vermarkten möchten.