Skip Navigation

Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Our next available supporter will start replying to tickets in about 3.47 hours from now. Thank you for your understanding.

This topic contains 10 Antworten, has 2 Teilnehmer.

Last updated by Cristina vor 2 Jahre.

Assigned support staff: Cristina.

Author Artikel
Juli 9, 2018 um 8:42 am

tobiasB-22

hi,
we use the plugin "WOOF - WooCommerce Products Filter" and would like to translate the taxonomy for the product filter.
attached you will find some screenshots:

pic-01: shows all plugins we use at this moment

pic-02: for this taxonomy labels we need translations

pic-03: here you see the english translation for the label "abrieb"

pic-04: in frontend on the english site, the label "abrieb" isn‘t translated.

looking forward to hearing from you.

Juli 9, 2018 um 3:02 pm #2476858

Cristina

Hello,

thanks for contacting and for the attached information.

I logged in and saw the problem.

As far as I could see the settings are ok, but you have not translated any products yet, and they are set to show as translated.

The WooCommerce Product Filter is working correctly on our test servers, but we have tested this with translated products.

I have used the troubleshooting options to sync the attributes and variations for the taxonomies, but this could behave differently with the filters if for untranslated products.

I am therefore checking on the duplicate if the problem is the filters not working correctly for the first level attribute taxonomies if the products are not translated.

Usually, if the attributes you are filtering are standard attributes that you created as global attributes for all products, they will appear in your products filter options to be set to show after you created them.

I am checking this now with the duplicate and will ask for feedback if the problem is related to the function to show as translated.

Kind regards,

Cristina

Juli 10, 2018 um 7:38 am #2478593

tobiasB-22

hi christina,

thank you for the fast reply.
only the translations for the taxonomy label doesn’t work.
please see attached screenshots from english and german product sites.

Juli 11, 2018 um 4:10 pm #2487606

Cristina

Hallo,

das scheint ein Problem zu sein, dass man auch in einer minimalen Installation reproduzieren kann, so dass ich es an die Kollegen vom Kompatibilitäts-Team eskaliert habe.

Auf Ihrem Duplikat habe ich alles probiert, was man ohne Programmierung testen kann, inklusive XML Konfig, Übersetzung und verschiedene Kombinationen bei den Einstellungen und habe diese Labels nicht auf das Frontend bekommen.

Nur die zu den einzelnen Attributen gehörenden Terms erscheinen korrekt im Frontend übersetzt.

MFG,
Cristina

Juli 13, 2018 um 6:53 am #2491439

tobiasB-22

hallo christina,

vielen dank für die info. hoffentlich finden die kollegen eine lösung.

vg
fabrizio

Juli 13, 2018 um 1:40 pm #2492245

Cristina

Hallo Fabrizio,

danke, je nachdem wie tief dieses Problem reicht, kann es mit einem kleinen Workaround gefixt werden oder das war nur die Spitze des Eisbergs.

Sobald ich etwas mehr darüber weiss, melde ich mich mit Feedback zurück.

MFG,
Cristina

August 3, 2018 um 9:30 am #2608593

tobiasB-22

hi christina,

gibt es schon irgendwelche news?

August 3, 2018 um 4:37 pm #2610943

Cristina

Hallo Fabrizio,

das Thema ist jetzt an die Devs weitergeleitet worden, weil wird aufgrund dieses Threads auf ein Problem mit Seiten und Kategorien-Labels in nicht-englischen Seiten gestossen sind.

WOOF nutzt nicht die übersetzten Begriffe, die von WooCommerce Multilingual genutzt werden sondern den Taxonomie Singular Label von WordPress. Bei einer Seite mit Originalsprache Englisch konnten wir das mit Hilfe der WordPress Taxonomien übersetzen, wenn die Originalsprache der Strings korrekt gewechselt wurde.

Aber auf der Testseite und auf meinen lokalen Kopien klappt das leider nicht und selbst bei den Strings, wo es in einer Sprache klappte, hakt es bei drei Sprachen.

Das ist ein etwas komplizierteres Problem, als es auf den ersten Blick erschien. Leider habe ich hier noch keinen Weg gesehen, das ohne Kopfzerbrechen oder Chaos zu lösen.

Theoretisch hätte das so laufen müssen: Diese Attributnamen in String Translation suchen, die erscheinenden Strings in die richtige Ausgangsprache wechseln und dann dort als WordPress Taxonomie übersetzen.

In der Praxis funktoniert das nur auf einer Testseite mit Englisch als Default-Sprache, aber nicht auf der Seite mit Deutsch als Default Sprache, bzw. nicht-englischen Standardsprache.

Tut mir leid, das befindet sich noch in der Pipeline der Entwickler.

Sobald wir eine Lösung haben, melde ich mich,

MfG,
Cristina

August 6, 2018 um 7:44 am #2614824

Cristina

Hallo Fabrizio,

bitte probieren Sie, ob diese Lösung bei Ihnen hilft. Es funktioniert auf der Testseite, und somit sollte es auch bei Ihnen auf der Live-Seite klappen.

Wir sind mit dem Plugin-Autor in Verbindung getreten und haben das Problem erklärt und den folgenden Workaround weitergegeben.

Bitte fügen Sie als erstes folgenden Code in die XML - Sprachkonfigurationsdatei hinzu:

<wpml-config>
  <admin-texts>
    <key name="woof_settings">
      <key name="custom_tax_label">
        <key name="*"/>
      </key>
    </key>
  </admin-texts>
</wpml-config

Das gehört entweder in die existierende wpml-config.xml Datei im Themeordner zu den vorhandenen Admin-Texte dazu, wobei Sie in dem Fall nur den Bereich zwischen <admin-texts> in die schon vorhandene Liste von Admin-Texten kopieren.

Oder Sie fügen den ganzen Code-Schnipsel in die benutzerdefinierte XML Konfiguration in WPML >Einstellungen hinzu.

Danach muss auch noch in dem Plugin WooCommerce Products Filter selbst etwas hinzugefügt werden:

In dem Verzeichnis "\wp-content\plugins\woocommerce-products-filter\classes öffnen Sie die Datei "helper.php" und ändern Sie folgenden ab Zeile 235:

Statt wie ursprünglich:

 //***
        $check_for_custom_label = false;
        if (class_exists('SitePress')) {
            $lang = ICL_LANGUAGE_CODE;
            $woof_settings = get_option('woof_settings');
            if (isset($woof_settings['wpml_tax_labels']) AND ! empty($woof_settings['wpml_tax_labels'])) {
                $translations = $woof_settings['wpml_tax_labels'];
                //$translations = unserialize($translations);
              ...

fügen Sie drei Zeilen hinzu,

  if (is_object($taxonomy_info)) {
                $string = $woof_settings['custom_tax_label'][$taxonomy_info->name];
            }

so dass es wie hier aussieht:


 $check_for_custom_label = false;
        if (class_exists('SitePress')) {
            $lang = ICL_LANGUAGE_CODE;
            $woof_settings = get_option('woof_settings');
	         if (is_object($taxonomy_info)) {
               $string = $woof_settings['custom_tax_label'][$taxonomy_info->name];
           }
            if (isset($woof_settings['wpml_tax_labels']) AND ! empty($woof_settings['wpml_tax_labels'])) {
                $translations = $woof_settings['wpml_tax_labels'];
                //$translations = unserialize($translations);
               ...

Damit sollten die übersetzten Eigenschaften auch korrekt erscheinen.

MFG,
Cristina

August 6, 2018 um 7:44 am #2614825

Cristina

Hallo Fabrizio,

bitte probieren Sie, ob diese Lösung bei Ihnen hilft. Es funktioniert auf der Testseite, und somit sollte es auch bei Ihnen auf der Live-Seite klappen.

Wir sind mit dem Plugin-Autor in Verbindung getreten und haben das Problem erklärt und den folgenden Workaround weitergegeben.

Bitte fügen Sie als erstes folgenden Code in die XML - Sprachkonfigurationsdatei hinzu:

<wpml-config>
  <admin-texts>
    <key name="woof_settings">
      <key name="custom_tax_label">
        <key name="*"/>
      </key>
    </key>
  </admin-texts>
</wpml-config

Das gehört entweder in die existierende wpml-config.xml Datei im Themeordner zu den vorhandenen Admin-Texte dazu, wobei Sie in dem Fall nur den Bereich zwischen <admin-texts> in die schon vorhandene Liste von Admin-Texten kopieren.

Oder Sie fügen den ganzen Code-Schnipsel in die benutzerdefinierte XML Konfiguration in WPML >Einstellungen hinzu.

Danach muss auch noch in dem Plugin WooCommerce Products Filter selbst etwas hinzugefügt werden:

In dem Verzeichnis "\wp-content\plugins\woocommerce-products-filter\classes öffnen Sie die Datei "helper.php" und ändern Sie folgenden ab Zeile 235:

Statt wie ursprünglich:

 //***
        $check_for_custom_label = false;
        if (class_exists('SitePress')) {
            $lang = ICL_LANGUAGE_CODE;
            $woof_settings = get_option('woof_settings');
            if (isset($woof_settings['wpml_tax_labels']) AND ! empty($woof_settings['wpml_tax_labels'])) {
                $translations = $woof_settings['wpml_tax_labels'];
                //$translations = unserialize($translations);
              ...

fügen Sie drei Zeilen hinzu,

  if (is_object($taxonomy_info)) {
                $string = $woof_settings['custom_tax_label'][$taxonomy_info->name];
            }

so dass es wie hier aussieht:


 $check_for_custom_label = false;
        if (class_exists('SitePress')) {
            $lang = ICL_LANGUAGE_CODE;
            $woof_settings = get_option('woof_settings');
	         if (is_object($taxonomy_info)) {
               $string = $woof_settings['custom_tax_label'][$taxonomy_info->name];
           }
            if (isset($woof_settings['wpml_tax_labels']) AND ! empty($woof_settings['wpml_tax_labels'])) {
                $translations = $woof_settings['wpml_tax_labels'];
                //$translations = unserialize($translations);
               ...

Damit sollten die übersetzten Eigenschaften auch korrekt erscheinen.

MFG,
Cristina

August 6, 2018 um 5:24 pm #2616919

Cristina

Hallo Fabrizio,

der Autor hat uns auf etwas aufmerksam gemacht, was uns allen nicht aufgefallen war:
hidden link

Im Reiter "Advanced" gibt es die Option "WPML taxonomies labels translation", wo man die Labels mit der Übersetzung verknüpft, wie im Link hier drüber gezeigt wird.

Das ist eine elegantere Lösung die direkt vom Plugin unterstützt wird.

MfG,
Cristina