WPML
Status
Gelöst

Übersicht über das Problem

Wenn Sie ein Sprach-Locale ändern, zum Beispiel für Deutsch von de_DE auf de_DE_formal, stellen Sie möglicherweise fest, dass die Übersetzung von Strings nicht mehr angezeigt wird.

Dieses Problem tritt auf, weil WPML keine MO-Dateien mit passendem Sprach-Locale mehr finden kann. In unserem Beispiel würde es nach some-domain-de_DE_formal.mo suchen, aber eine solche Datei existiert nicht. Stattdessen hat WPML nur einen Eintrag für some-domain-de_DE.mo.

Problemumgehung

Um dieses Problem zu lösen, müssen Sie zwei Dinge tun:

1. Wenn Sie Strings haben, die über die Seite WPML -> String-Übersetzung übersetzt wurden, gehen Sie zur Seite WPML -> Support -> Fehlerbehebung und klicken Sie auf die Schaltfläche Show custom MO Files Pre-generation dialog box. Klicken Sie in dem angezeigten Dialogfeld auf die blaue Schaltfläche, um benutzerdefinierte MO-Dateien neu zu generieren.

2. Höchstwahrscheinlich wird der erste Schritt nicht alle fehlenden Strings reparieren. Dies liegt daran, dass einige Werte aus fehlenden nativen MO-Dateien stammen könnten, die von anderen Plugins oder Themes bereitgestellt werden. Um dies zu lösen, müssen Sie die fehlenden MO-Dateien finden und Kopien mit neuen Namen erstellen, die den neuen Sprachcode enthalten.

Wenn in unserem Beispiel ein String normalerweise aus der Datei woocommerce-de_DE.mo geladen wird, müssen wir diese Datei finden und eine Kopie davon mit einem Namen erstellen, der dem aktuellen Gebietsschema entspricht: woocommerce-de_DE_formal.mo. Sie müssen alle fehlenden Dateien kopieren, die von Ihrer Website verwendet werden.

Die typischen Orte, an denen Sie diese MO-Dateien finden können, sind:


  • ../wp-content/languages/

  • ../wp-content/plugins/plugin-in-question/

  • ../wp-content/plugins/plugin-in-question/languages/

Schließlich können Sie auch spezifische Pfade in der Tabelle wp_icl_mo_files_domains in Ihrer Datenbank finden.

Alle bekannten Probleme →