Eine häufige Situation: Ein Entwickler erstellt für einen Kunden eine ganze Site, die natürlich auf WordPress basiert.
Diese Seite enthält viele benutzerdefinierte Plugins sowie ein benutzerdefiniertes Thema - möglicherweise ein anderes Thema oder ein oder zwei untergeordnete Themen.
Es macht nicht viel Sinn, dass all diese benutzerdefinierten Plugins und dergleichen eine eigene Textdomäne haben. Ein einzelner Übersetzer wird wahrscheinlich die ganze Arbeit erledigen. Es ist wahrscheinlich auch viel einfacher, einen einzigen Satz von Übersetzungen zu verwalten.
Also, wie funktioniert Verwenden Sie eine eine einzelne Text Domain über mehrere Plugins und / oder Themen?
Nur damit wir klar sind, möchte ich das Äquivalent von load_plugin_textdomain
und load_theme_textdomain
das ich für mehrere Plugins / Themes verwenden kann.
quelle
Antworten:
Das tust du nicht. Übersetzungen sind Teil des Commit-Verlaufs jedes Elements. Sie sollten so getrennt wie der PHP-Code aufbewahrt werden. In Bezug auf die Leistung gewinnen Sie mit einer kombinierten Textdomäne nicht viel. Tatsächlich könnten Sie an Leistung verlieren, denn wenn Sie dieses eine Übersetzungsarray fast überall benötigen, können Sie es nicht mehr selektiv laden oder zerstören, wenn Sie es nicht benötigen.
Eine Möglichkeit, das zu tun, was Sie wollen, ist ein separates Plugin mit dem Namen "Client Name Translations", das alle darin enthaltenen Zeichenfolgen dupliziert und die Übersetzer nur diese Datei übersetzen lässt. Bereiten Sie sich auf die Synchronisierungshölle vor. :) :)
Oder Sie verschieben alle Zeichenfolgen in eine separate Datei mit einem einzigen Array.
… Und
require_once
diese Datei in allen anderen Unterprojekten (oder schreiben Sie ein Wrapper-Plugin dafür). Dann greifen Sie über ihre Schlüssel auf die Zeichenfolgen zu.Ich würde jedoch versuchen, für alle Projekte separate Commit-Historien zu führen. Sobald Sie einen von ihnen wiederverwenden möchten, müssen Sie sowieso alles neu schreiben.
quelle