1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Automatische Übersetzung von Custom User Roles im Child Theme

Dieses Thema im Forum "Design" wurde erstellt von designerThan, 2. Februar 2017.

  1. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Hallo Leute

    Ich hoffe ich bin in diesem Forum richtig.
    Ich bin am programmieren eines Child-Themes. In diesem erstelle ich eine eigene Benutzerrolle. Diese möchte ich nun wie die Standard Benutzerrollen übersetzbar machen.
    Weiss irgendjemand eine Möglichkeit dafür? Habe Google schon bemüht und außer, dass man jede getText Funktion durch eine eigene Funktion laufen lässt nichts gefunden. (http://wordpress.stackexchange.com/questions/141551/how-to-auto-translate-custom-user-roles)

    Liebe Grüße
    DesignerThan
     
  2. SirEctor

    SirEctor Well-Known Member
    Ehrenmitglied

    Registriert seit:
    28. Oktober 2008
    Beiträge:
    12.361
    Zustimmungen:
    427
  3. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Okay. "Basic contributer" kann ich aber ersetzen durch irgendwas oder? Wenn ja, hab ich bei dieser Funktion, das Problem, dass er beim erstellen des Benutzers abruft in welcher Sprache der Blog ist und dann dies übersetzt und speichert. Doch dies wird nur beim anlegen gemacht. Wenn ich nun aber die Sprache umstelle, wird es nicht geändert. Bin ich da richtig?
    Also so war es bei meinem Versuch. Ich habe halt den Benutzer beim ändern des Themes angelegt und auch wieder gelöscht. Wenn ich es im init-hook mache könnte es funktionieren, allerdings legt er dann den Benutzer die ganze Zeit neu an, was eigentlich auch nicht der Sinn ist.
     
  4. SirEctor

    SirEctor Well-Known Member
    Ehrenmitglied

    Registriert seit:
    28. Oktober 2008
    Beiträge:
    12.361
    Zustimmungen:
    427
    Du kannst Basic Contributor austauschen, klar. Und die Übersetzung müsste sich auch beim ändern der Sprache ändern, sofern passende Sprachfiles vorhanden sind.
     
  5. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.661
    Zustimmungen:
    1.783
  6. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Also ich habe es nun probiert. Wenn ich das Theme anlege, macht er es richtig. Dann wird die Benutzerrolle entsprechend der Sprache erstellt. Wenn ich nun aber danach die Sprache ändere, bleibt trotzdem noch die welche er beim Erstellen verwendet hat. Die Sprachfiles sind richtig und funktionieren.

    Falls es hilft, hier ein Link zu einem Git-repository: https://designerThan@bitbucket.org/designerThan/hitchcock-child-theme.git

    Danke auf jeden Fall schon mal für die Hilfe.
     
  7. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.661
    Zustimmungen:
    1.783
    Bau in Dein Theme irgendwo _e( 'Basic Contributor', 'deine-text-domain' ); ein, und schau Dir an, was dann je nach Sprache ausgegeben wird. Wo/wie änderst Du denn die Sprache?
     
  8. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Hab ich schon. Dies funktioniert auch. Also zumindest die Übersetzung.
    Mir geht es darum, dass im Back End unter Benutzer dieser dann übersetzt wird. Die Sprache stelle ich in den Einstellungen um und zwar immer zwischen Deutsch und Englisch.
     
  9. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.661
    Zustimmungen:
    1.783
    Evtl. wird deine-text-domain im Backend nicht korrekt geladen? Bau die Testausgabe mal ins Backend ein, z.B. via add_action( 'admin_footer', ..
     
  10. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Wie genau meinst du soll ich sie ins Backend einbauen? So gut kenne ich mich noch nicht aus. :-|
     
  11. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.661
    Zustimmungen:
    1.783
    In functions.php Deines Themes:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Siehe auch hier.
     
  12. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Vielen Dank.
    Also dort funktioniert es einwandfrei. Soweit ich das im Quellcode von Wordpress feststellen konnte, werden z.B. die Benutzerrollen in den DropDown-Menüs unter Benutzer aus der Datenbank geladen. Das würde soweit ich es verstanden habe bedeuten, dass ich meine eigene Benutzerrolle erst bei der Ausgabe übersetzen kann, wie es auch im Quellcode gemacht wird, da sie ja nur in Englisch in der Datenbank ist.
     
  13. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.661
    Zustimmungen:
    1.783
    Hm, grade in einem Kundenwebsite (WordPress 4.7.2) nachgesehen, dort bleibt die Übersetzung einer "custom" Benutzerrolle im Backend auch bei Änderung der Benutzersprache oder Websitesprache tatsächlich so, wie sie systemweit bei Installation des Plugins (das diese Benutzerrolle erzeugt hat) gesetzt war.

    Hatte das anders in Erinnerung, ggf. war das bei früheren WordPress Versionen mal anders, kann mich aber auch täuschen. Evtl. auch ein Bug in WordPress, müsste man im core genauer nachvollziehen.
     
  14. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Okay. Ich bin gestern bis halb Elf gesessen hab mir den Core angeschaut. Beim Aufruf der Benutzerrollen für das oben genannte Dropdown-Menü ruft er eine Funktion auf und diese wieder ruft dann die Funktion für die Übersetzung auf. Siehe Link: https://wpseek.com/function/translate_user_role/
    Nun weiß ich aber nicht ob dies auch für die Custom rols geht und auch nicht wie ich es ausprobieren sollte. Das einzige was ich gefunden habe, was meiner Meinung nach funktionieren kann ist der Link im Eingangspost. Dort wird einfach jeder Aufruf der GetText-Funktion noch durch eine eigene gejagt um mit dieser festzustellen ob es jetzt meine Domain ist oder nicht und diese wenn ja zu übersetzen. Dies finde ich aber ist eher eine gebastelte Lösung und auch nicht wirklich performant.
     
  15. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.661
    Zustimmungen:
    1.783
    Korrekte Übersetzung klappt derzeit offenbar nur mit "built-in" roles, siehe auch hier. Könntest Dich dort an der Diskussion beteiligen oder ein eigenes Ticket aufmachen, wenn das Problem bei Dir anders gelagert ist.
     
  16. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Hab kurz im Core nachgeschaut wie sie es machen...hier ein Beispiel:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  17. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Ja soweit ich es sehe, ist es dasselbe Problem wie bei mir. Da es dafür aber scheinbar keine schnelle Lösung geben wird, werde ich mir einfach so etwas überlegen müssen.
    Danke für eure Hilfe.
     
  18. b3317133

    b3317133 Well-Known Member

    Registriert seit:
    21. November 2014
    Beiträge:
    11.661
    Zustimmungen:
    1.783
    Poste Deine Überlegungen gern auch dort im Ticket, das hilft dann wiederum anderen weiter...

    Könntest einstweilen auch die genannte "bbPress Version" übernehmen, wie immer auch die funktioniert ;)
     
    #18 b3317133, 3. Februar 2017
    Zuletzt bearbeitet: 3. Februar 2017
  19. designerThan

    designerThan Member

    Registriert seit:
    2. Februar 2017
    Beiträge:
    10
    Zustimmungen:
    0
    Ja mal schauen was ich machen werde. Vielen Dank für deine Hilfe auf jeden Fall.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden