Wie kann ich mit dem WordPress-Plugin Polylang benutzerdefinierte String-Übersetzungen erstellen?

Lesezeit: 4 Minuten

Shams Benutzer-Avatar von M.Monem
Shams M.Monem

NB: Ich bin 15 Jahre alt und lerne immer noch das Programmieren. Wenn Sie mir also antworten, antworten Sie mir bitte ausführlich….

Hallo zusammen, ich erstelle meine eigene Website mit WordPress. Ich erstelle auch mein eigenes benutzerdefiniertes Theme und befinde mich noch in der Entwicklung. Die Website ist bereits online, aber noch nicht fertig, und ich möchte sie so schnell wie möglich fertigstellen, weil ich in die Schule gehe Wenn ich ankomme, habe ich keine Zeit mehr zum Codieren.

Eines der Hauptmerkmale meiner Website ist, dass sie mehrsprachig sein soll, zumindest Arabisch und Englisch. Deshalb habe ich das Polylang-WordPress-Plugin installiert und alles ist in Ordnung, außer dass einige Texte, zum Beispiel in der Fußzeile, fest codiert waren , geschrieben in der Datei „footer.php“ selbst, sodass Polylang überhaupt nicht darauf zugreifen kann. Ich möchte die Option „Polylang-Stringübersetzungen“ verwenden, um jeden Text in der Kopf- oder Fußzeile oder an einer beliebigen Stelle, an der ich ihn spezifiziere, zu übersetzen. Und das ist mein Problem.

Ich möchte eine Lösung für dieses Problem, vielen Dank im Voraus.

Es tut mir leid, wenn es sprachliche Fehler oder ein schlechtes Layout gibt. Ich schreibe eine SMS von einem Telefon aus.

Lennarts Benutzeravatar
Lennart

Ich kenne mich mit Polylang nicht aus, habe aber in der Vergangenheit andere ähnliche Plugins verwendet.

Ich habe mir die Entwicklerdokumentation angesehen Hier und denke, dass Sie die Funktion verwenden müssen pll_register_string um die Zeichenfolge zu registrieren und dann zu verwenden pll_e um diese Zeichenfolge auszugeben.

So haben Sie zum Beispiel den Text „Hello World!“ erhalten. in Ihrer Vorlage, dann verwenden Sie die Funktion pll_e um diesen Text wie folgt auszugeben:

<?php pll_e('Hello World!'); ?>

Um diesen String dann in Polylang-String-Übersetzungen zu erhalten, müssen Sie ihn in Ihren Themes registrieren functions.php Verwendung der pll_register_string funktionieren so:

<?php

  add_action('init', function() {
    pll_register_string('shams-theme', 'Hello World!');
  });

?>

Ich hoffe, das hilft. Wenn Sie weitere Hilfe benötigen, lassen Sie es mich einfach wissen.

  • Hey Lennart, ich weiß deine Antwort sehr zu schätzen und habe sie ausprobiert und bin bereit zu akzeptieren, aber bitte ändere den Codefehler ppl_e in pll_e. Als ich ppl_e ausprobiert habe, hat es nicht funktioniert, aber nachdem ich die Dokumentation gesehen habe, für die du einen Link bereitgestellt hast, habe ich den richtigen Code gefunden pll_e, ich habe versucht, Ihre Frage hierzu zu bearbeiten, aber wenn ich die Änderung poste, steht da so etwas wie (mindestens 6 Zeichen müssen bearbeitet werden), also wollte ich Ihren Beitrag nicht ändern, also bearbeiten Sie diesen Beitrag bitte mit dem richtigen Code damit niemand, der diese Antwort sieht, verwirrt wird. Ich meine to

    – Shams M.Monem

    27. September 2019 um 8:20 Uhr


  • @ShamsEl-Deen Ich habe die Antwort geändert. Tut mir leid, dass ich diesen kleinen Tippfehler übersehen habe. Ich bin froh, dass ich helfen konnte 🙂

    – Lennart

    30. September 2019 um 15:27 Uhr

Benutzeravatar von Ususipse
Ususipse

Die Lokalisierung, kurz l10n, verfügt über sehr gut entwickelte Methoden. Da Sie Ihr eigenes Thema entwerfen, sollten Sie sich darüber informieren WordPress l10n um mehr über PO- und MO-Dateien zu erfahren.

Normalerweise verwenden Sie in WordPress _e(”,”) und __(”,”), um lokalisierte Zeichenfolgen wiederzugeben bzw. zurückzugeben. Diese Funktionen verwenden gettext, um die erste Zeichenfolge mit dem lokalisierten Eintrag der MO-Datei mit dem zweiten Argument abzugleichen, das Ihre Textdomäne definiert.

_e('I will echo text', 'my-theme');

Damit diese Funktionen die richtigen Ergebnisse aus der MO-Datei zurückgeben, müssen Sie die PO-Datei füllen. PO-Dateieditoren können Ihren Designordner nach Instanzen dieser _e()- und __()-Funktionen durchsuchen und diese in einer einfach zu bearbeitenden Benutzeroberfläche auflisten. Es stehen verschiedene PO-Editoren zur Verfügung.

Sobald Sie die Zeichenfolgen ausgefüllt haben, erstellen Sie mit dem PO-Editor die MO-Datei für diese Sprache. Dies geschieht normalerweise im Ordner „Sprachen“ Ihres Themes. Wenn Sie es woanders gemacht hätten, würden Sie die PO/MO-Dateien jetzt dorthin kopieren.

Nun kommt das letzte Stück Registrieren Sie Ihre Text-Domain in Ihrem Theme, damit die gettext-Funktion das gerade erstellte MO finden kann.

add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
    load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}

  • Vielen Dank für die Antwort, ich schätze es sehr, aber ich wollte dafür Polylang verwenden und wollte so etwas im Moment nicht machen, nochmals vielen Dank 🙂

    – Shams M.Monem

    30. September 2019 um 15:43 Uhr

  • Ja, darüber habe ich beim Schreiben nachgedacht, aber ich dachte auch, es wäre hilfreich zu wissen, wie es funktioniert.

    – Ususipse

    30. September 2019 um 19:56 Uhr

1450960cookie-checkWie kann ich mit dem WordPress-Plugin Polylang benutzerdefinierte String-Übersetzungen erstellen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy