it-swarm.com.de

Wie starte ich das zentrale WPLANG, damit beim Aktivieren des Themas automatisch eine Sprache eingestellt wird?

Ich entwickle ein Thema speziell für Bānglā-Blogbeiträge und es steht unter der Lizenz GNU. Ich habe heute eine Frage zu einer Kalender-Widget-Übersetzung mit einigen Problemen gestellt und einen Kommentar erhalten:

Ich frage mich nur, ist das nicht in der Bangla-Übersetzung enthalten ?

Und nach der Antwort von s_ha_dum dachte ich, ich könnte ein übersetzungsfertiges Thema erstellen. Dann kann ich alle notwendigen Texte für mein Thema übersetzen. Ich folgte:

  1. Internationalisieren und Lokalisieren Ihres WordPress-Themas
    - von Konstantinos Kouratoras - WP.SmashingMagazine.com
  2. Übersetzen Ihres Themas
    - von Robert Treacy - WP.TutsPlus.com

Und jetzt habe ich ein komplettes übersetzungsfähiges Thema erstellt und es funktioniert, wenn ich die WPLANG in meine Sprache in wp-config.php ändere. Aber abgesehen von diesem Schritt ist das Ganze automatisch. Wenn dieser Schritt also automatisch erfolgen kann, wäre es schön für mich.

Ich möchte einen Filter platzieren, der das WPLANG einbinden und mit bn_BD überschreiben kann:

define('WPLANG', 'bn_BD');

wenn das Thema aktiviert ist.

Damit ich einfach sagen kann: "Installiere das Theme und es wird alles für dich tun. Du brauchst keinen Zugriff auf dein cPanel, um den wp-config.php zu ändern." Ich habe den WPSE-Thread gelesen Sprachwechsel in Wordpress auslösen , aber wenn Sie mich jetzt verstehen, bin ich auf einem anderen Weg.

Also ist das möglich?

1
Mayeenul Islam

Ja, ich habe die Antwort von toschos Antwort von einem WPSE-Thread erhalten. Ich zitiere ihn einfach. Haken Sie mit dem Filter: Locale Ihre Funktion ein:

add_filter( 'locale', 'wpse_52419_toscho_change_language' );

function wpse_52419_toscho_change_language( $locale ) {
    return 'bn_BD';
}

Fügen Sie den Code in Ihren functions.php ein.

1
Mayeenul Islam

Es ist nicht möglich, genau das zu tun, was Sie verlangen, da Sie den Wert nicht neu definieren/überschreiben können, sobald Sie eine Konstante in PHP define() haben. Das, was Sie versuchen, ist jedoch nicht erforderlich. Diese Konstante wird als Teil der Installation einer lokalisierten WordPress definiert. Daher ist sie für Benutzer, die lokalisierte WordPress ausführen, bereits vorhanden und richtig eingestellt.

Es gibt einen Edge-Fall von Leuten, die unterschiedliche Sprachen für ihren Administrator und ihr Front-End möchten und die Spracheinstellungen überschreiben müssen, aber es gibt Plugins/Code-Snippets für sie, und Sie als Autor eines Themas sollten sich darüber keine Gedanken machen.

was Sie versuchen zu tun, verhindert, dass Ihr Thema auf anderen Websites als Englisch und Bangladesch verwendet wird. Warum sollten Sie es auf diese Weise begrenzen wollen?.

1
Mark Kaplun