Support » Allgemeine Fragen » Fehlende Übersetzungen

  • Gelöst filout

    (@filout)


    Hallo!

    Ich habe mitunter immer mal wieder englische Texte in meinem Frontend und würde diese ganz gerne übersetzen (wegen älterer Mitglieder, die kein oder nicht so gut englisch können). Mitunter gefallen mir aber auch die deutschen Übersetzungen nicht.
    Aus diesem Grund installierte ich Loco Translate, mit dessen Hilfe ich schon div. Texte übersetzen/ändern konnte, doch leider erschlage ich nicht immer alle englischen Texte. Konkrete Beispiele erspare ich mir jetzt mal.
    Frage: Gibt es eine allgemein Vorgehensweise (Anleitung), wie man fehlende Übersetzungen finden kann?
    Denn selbst wenn ich in Loco Translate Themes, Plugins, WordPress, … durchgehe, finde ich mitunter Texte einfach nicht.

    Danke und Gruß, Filout

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • 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 …

    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.

    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.

    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 geändert vor 11 Monate, 1 Woche von  filout.
    • Diese Antwort wurde geändert vor 11 Monate, 1 Woche von  filout.
    • Diese Antwort wurde geändert vor 11 Monate, 1 Woche von  filout.

    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

Ansicht von 7 Antworten - 1 bis 7 (von insgesamt 7)
  • Das Thema „Fehlende Übersetzungen“ ist für neue Antworten geschlossen.