Ob du Texte übersetzen kannst, hängt vor allem davon ab, ob die Entwickler auch Übersetzungsfunktionen (richtig) verwenden.
Ist im Theme- oder Plugin-Header die Textdomain wunderbar
angegeben, dann ist …
- …
_e( 'Hallo Welt', 'wunderbar' );
übersetzbar, aber
_e( 'Hallo Welt', 'mirdochegal' );
wird nicht übersetzt (falsche Text-Domain),
_e( 'Hallo Welt' );
wird nicht übersetzt (gar keine Text-Domain) und
echo 'Hallo Welt';
hat nicht einmal eine Funktion, um die Ausgabe übersetzbar zu machen.
Vor allem bei gekauften Themes und Plugins (die sich nicht so streng an Vorgaben halten müssen), kommt es leider häufig vor, dass sie (nicht nur) bezüglich Übersetzung fehlerhaft programmiert sind. Bei Themes könntest du dir mit einem Child Theme behelfen, während es für Plugins leider keine Child-Plugins gibt und die Anpassungen wahrscheinlich zu groß ausfallen, um den Aufwand zu rechtfertigen.
Für Themes und Plugins im WordPress-Verzeichnis gibt es Vorgaben zur Internationalisierung, wobei sich dann immer noch genügend Freiwillige finden müssen, die das Theme oder Plugin auch tatsächlich übersetzen. Die Übersetzungen müssen anschließend geprüft und freigegeben werden. Damit das nicht willkürlich geschieht, gibt es einen Übersetzungs-Leitfaden (Translation Style Guide) und ein Glossar, dass eingehalten werden muss, damit „Post“ nicht von einem als „Artikel“, vom nächsten als „Beitrag“ und vom übernächsten gar nicht übersetzt wird. Wenn du Fehler in der Übersetzung findest, kannst du dich an der Übersetzung beteiligen und eine Korrektur vorschlagen. Oder du arbeitest im stillen Kämmerlein an der eigenen Übersetzung und pfeifst auf die Community …
Thread-Starter
filout
(@filout)
Alles klar, vielen Dank für die Erklärung.
Im Moment hätte ich sogar mal ein Beispiel zur Hand.
Plugin WP-Members:
Im Backend finden sich auf dem ersten TAB Texte wie Content Blocking, Enable Products oder Other settings. Diese Texte finde ich partout nicht in der wp-members-de_DE.po.
Die Erklärung dafür hast Du ja (wohl) schon gegeben.
Das Plugin ist tatsächlich zur Internationalisierung vorbereitet, aber noch nicht vollständig übersetzt. So findest du z.B. den Textstring „Content Blocking“ hier. Sobald das Plugin zu mindestens 95% übersetzt ist und die Übersetzungen validiert (freigegeben) wurden, wird die Übersetzung automatisch auf deiner Website aktualisiert. Nur muss sich eben jemand finden, der die Übersetzung macht.
Thread-Starter
filout
(@filout)
Bei mir ist das Plugin zu 99,4% übersetzt und ich habe bspw. auch den englischen Text Content Blocking in der php-Datei gefunden, der (richtig) angegeben ist mit
__( 'Content Blocking', 'wp-members' )
Aber wie Du schon schrubst, existiert das Key-Value-Pärchen noch gar nicht im dt. Dictionary.
Sorry, da komme ich im Moment nicht mit:
Bei mir ist das Plugin zu 99,4% übersetzt …
Wenn du in Loco Translate eine eigene Übersetzung erzeugt und als .po/.mo-Datei abgespeichert hast, sollte die Übersetzung auch greifen. Tut sie das nicht, wurde der Speicherort oder der Dateiname wahrscheinlich falsch gewählt.
… existiert das Key-Value-Pärchen noch gar nicht im dt. Dictionary.
Die Übersetzung der WordPress Community hat nichts mit deiner Übersetzung zu tun. Du kannst durchaus selber eine Übersetzung erstellen, die dann die Übersetzung der Community überschreibt.
Thread-Starter
filout
(@filout)
Sorry, da komme ich im Moment nicht mit:
Ich hatte mir mittels Loco Translate das Dict-File vorgenommen und zu (jetzt bei mir) 99.4% übersetzt, nur fand ich eben bspw. Content Blocking noch gar nicht im Dictionary vor, nur in einer der php-Dateien.
Ein Key-Value-Pärchen in einer Dict-Datei besteht doch aus (Bsp.):
msgid "Keymaster"
msgstr "Keymaster"
nur bei mir gibt es nicht einmal den Eintrag
msgid "Content Blocking"
msgstr ""
in der Dict-Datei.
Lange Rede, kurzer Sinn, ich habe hier die Übersetzungen nahezu vervollständigt.
-
Diese Antwort wurde vor 6 Jahren, 7 Monaten von
filout geändert.
-
Diese Antwort wurde vor 6 Jahren, 7 Monaten von
filout geändert.
-
Diese Antwort wurde vor 6 Jahren, 7 Monaten von
filout geändert.
In der Übersetzung der Community gibt es aber noch über 100 Textstrings, die auf Freischaltung warten und weitere, die gar nicht übersetzt sind. Solange die Übersetzung nicht zu 95% vollständig und freigeschaltet ist, passiert da nichts.
Vielleicht magst du dir das hier durchlesen:
Übersetzung – Erste Schritte