Ich habe ein Plugin , das Post-Status in Post-Typ-Admin-Menüs einfügt. Ich bin gerade dabei, es zu internationalisieren, und ich frage mich, wie ich mit dieser Situation umgehen soll.
Das Plugin verwendet einige eindeutige Zeichenfolgen, die eine Textdomain wie die folgende erhalten:
__( 'Select the post statuses to <strong>exclude</strong> from post type admin menus', 'csmpmsi' )
Aber es gibt auch Fälle, in denen ich ein kernbezogenes Wort für ihre kernbezogene Bedeutung wie folgt verwende : __( 'Pages' )
. In dieser Situation erscheint es mir vollkommen sinnvoll, die Textdomäne auszuschließen und Begriffe zu nutzen, die bereits im Kern lokalisiert sind. Der Kodex scheint jedoch sehr explizit zu sein:
Wenn Sie versuchen, ein Plugin zu übersetzen, gelten die gleichen Hinweise wie oben, außer dass
Sie müssen eine Domain verwenden, die in einen Hook Ihres Plugins geladen ist
Jeder Übersetzungsaufruf muss __ werden ('Text', 'Domain-Name').
Also ist das WP-koscher?
quelle
Antworten:
Verlassen Sie sich bei der Übersetzung niemals auf Kernzeichenfolgen, sie können sich
context
jederzeit ändern oder einen Parameter erhalten. Sobald dies geschieht, erhalten Ihre Benutzer eine teilweise übersetzte Oberfläche, und Ihre Übersetzer haben keine Möglichkeit, dies zu beheben.Denken Sie auch daran, dass nicht überall dieselbe Zeichenfolge mit demselben Wort übersetzt werden muss. Auch ohne Kontextparameter kann es nützlich sein, in einigen Sprachen eine andere Übersetzung für Ihr Plugin zu verwenden. Dies wäre jedoch nicht möglich, wenn Sie die Zeichenfolge nicht in Ihr Plugin aufnehmen.
Sehen Sie sich diese Chat-Diskussion an, die wir vor einigen Tagen zu diesem Thema geführt haben.
quelle
Ja, aber bitte nicht. Dies ist wie ein Codierungsstandard. Befolgen Sie ihn besser, auch wenn Sie durch Umgehen einen kleinen Vorteil erzielen können.
Bessere Gründe:
In Version 3.5 hat WordPress keine Monolith-Übersetzungsdateien, es wurde aus Leistungsgründen in drei Teile geteilt. Wenn sich dieser Trend fortsetzt, können Sie sicher sein, dass die Standarddomäne überhaupt geladen wird, wenn Sie versuchen, sie zu verwenden
__('Pages')
?Sie speichern keine Arbeit im Localizer - Übersetzungswerkzeuge wie poedit wissen nicht, wie sie mit zwei Übersetzungsdomänen in einer Datei umgehen sollen, und in Ihrem Beispiel wird eine .po-Datei generiert, die das Wort "Seiten" enthält, selbst wenn Sie dies tun Verwenden Sie dazu die Standarddomäne. Der Lokalisierer überprüft die tatsächliche Verwendung der von ihm übersetzten Zeichenfolgen nur, wenn er den Kontext verstehen muss, damit er die unterschiedliche Domäne nicht bemerkt und das Wort übersetzt. Wenn der Lokalisierer seine Tools kennt, verfügt er außerdem über eine Übersetzungsdatenbank, die auf den WordPress-Kernübersetzungsdateien basiert und es Poedit ermöglicht, Wörter wie "Seiten" automatisch zu übersetzen.
quelle
Du kannst es versuchen
Oder
Referenz: https://v123.tw/use-wordpress-core-translation/
Viel Glück!!
quelle