Einfache Möglichkeit, zweisprachige WP-Site zu erhalten

Ich versuche eine Website mit zwei Sprachen zu erstellen. Ich suchte nach einer Lösung und fand keine einfache Antwort. Außerdem bevorzuge ich es, Plugins nicht zu verwenden, wenn es möglich ist.

Was ich versuche zu tun:

1) Um eine domain.com/en und domain.com/ru während default redirect auf domain.com/en .

2) Eine WP-Engine installieren, dasselbe Admin-Panel mit derselben Sprache – Englisch.

3) Freie Art, Dinge zu stylen (das beinhaltet auch HTML, nicht nur CSS). Dies ist natürlich der problematischste Teil.

Ich kann mir nicht vorstellen, wie ich das machen soll. Ich weiß, dass es eine Möglichkeit gibt, verschiedene Kopf- und Fußzeilen aufzurufen, aber ich weiß nicht, wie ich das mit einer zweisprachigen Website effektiv verwalten kann. Ich kann zum Beispiel verschiedene Kategorien für verschiedene Sprachen verwenden, aber ist das eine gute Praxis und wird das richtig funktionieren?

Solutions Collecting From Web of "Einfache Möglichkeit, zweisprachige WP-Site zu erhalten"

Sie können den folgenden Code zum Übersetzen von Strings verwenden:

 add_filter('gettext', 'translate_text'); add_filter('ngettext', 'translate_text'); function translate_text($translated) { $translated = str_ireplace('Choose an option', 'Select', $translated); $translated = str_ireplace('Original Text', 'Your Replacment Text', $translated); return $translated; } 

Aber ich habe keine Idee, komplexe Inhalte zu übersetzen. Ich weiß, dass du keine Plugins verwenden willst, aber als meine Forschung, müssen wir PHP-Code sehr schwer als Plugin schreiben, um zu arbeiten. Ich empfehle WPGLOBUS , es erstellt ein Symbol für jeden Beitrag oder Seite Feld wie Titel, Inhalt oder Kategorien und mehr, während Sie auf das Symbol klicken, können Sie Ihre Übersetzung für eine unbegrenzte Anzahl von Sprachen eingeben, die Sie zuvor in den Einstellungen festgelegt, erstellt Plugin ein yoursite.com/ru Adresse ohne generieren oder müssen Sie ein neues Stylesheet, js oder Seiten oder laden Sie eine zusätzliche Datei.

Hier ist eine einfache (also nicht erschöpfende) Vorgehensweise:

  1. Machen Sie zwei benutzerdefinierte Post-Typen, ‘en’ und ‘ru’. Dadurch wird sichergestellt, dass alle Posts die URLs www.example.com/en/post-slug und www.example.com/ru/post-slug

  2. Machen Sie .po und .mo Dateien für beide Sprachen (oder nur für Russisch, wenn Englisch bereits die Standardsprache für Ihr Thema ist)

  3. Stellen Sie in Ihrer functions.php sicher, dass die richtige Textdomäne geladen wird, indem Sie den Gebietsschemafilter basierend auf dem Beitragstyp verwenden:

    add_filter( 'locale', 'wpse210218_set_locale' ); function wpse210218_set_locale ($lang) { if ( 'ru' == get_post_type() ) { return 'ru_RU'; } else { return 'en_EN'; } }

Wie für HTML und CSS, können Sie verschiedene Vorlagen für verschiedene Post-Typen haben, so dass es leicht zu lösen ist.