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.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| - | - | 9:00 – 18:00 | 9:00 – 18:00 | 9:00 – 18:00 | 9:00 – 18:00 | 9:00 – 18:00 |
| - | - | - | - | - | - | - |
Supporter-Zeitzone: America/Lima (GMT-05:00)
Schlagwörter: Compatibility
Dieses Thema enthält 14, hat 1 Stimme.
Zuletzt aktualisiert von Andreas W. Vor 3 Monaten.
Assistiert von: Andreas W..
| Autor | Beiträge |
|---|---|
| Januar 23, 2026 um 16:05 #17757832 | |
|
katrinW-5 |
Wie kann ich den Slug "Category" vom Plugin "the Event Calendar" übersetzen? |
| Januar 23, 2026 um 16:43 #17757916 | |
|
katrinW-5 |
wenn ich von "/en/calendar/category/meditations/" umschalte auf deutsch, erscheint zunächst "/calendar/category/meditationen/". Der Wechsel funktioniert dort auch nicht richtig. Wenn ich von der deutschen Version auf die Kategorie filtere, kommt "/kalender/category/meditationen/" |
| Januar 23, 2026 um 17:43 #17757980 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Hallo, Ich kann gerne anbieten, mir das einmal genauer anzusehen. Es ist allerdings wahrscheinlich, dass man den Slug /category/ nicht über WPML ändern kann. Er kommt direkt vom Events Calendar Plugin. Eventuell wäre es in dem Fall besser, die originalen Angaben im Plugin auf Englisch zu belassen und diese dann mit WPML String Translation auf Deutsch zu übersetzen. Ich möchte einen temporären Zugriff (wp-admin und FTP) auf die Website anfordern, um das Problem genauer zu untersuchen. Die dafür erforderlichen Felder findest du unterhalb des Kommentarbereichs, wenn Du dich anmeldest, um die nächste Antwort zu hinterlassen. Die Informationen, die du angibst, sind privat, was bedeutet, dass nur du und ich sie sehen und darauf zugreifen können. WICHTIG Das private Antwortformular sieht folgendermaßen aus: Klicke beim nächsten Antworten auf "I still need assistance". Video: Beachte bitte, dass wir verpflichtet sind, diese Informationen auf jedem Ticket individuell anzufordern. Wir dürfen nicht auf Zugangsinformationen zugreifen, die nicht speziell auf diesem Ticket im privaten Antwortformular übermittelt wurden. Mit freundlichen Grüßen |
| Januar 25, 2026 um 13:36 #17760161 | |
|
katrinW-5 |
Hallo Andreas, du hast schon an der Seite gearbeitet. Abgesehen von "category" läuft der Wechsel innerhalb des Kalenders mit dem Sprachumschalter nicht rund. Teilweise wechselt die URL nicht in die andere Sprache aber der Inhalt schon. Danke für deine erneute Hilfe! |
| Januar 25, 2026 um 20:33 #17760488 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Auf WPML > String-Übersetzung wird dieser Slug anscheinend als kalender/kategorie registriert und zu calendar/category übersetzt. Rufe ich das Archiv vom Backend aus auf, funktioniert es wie erwartet: Das Problem scheint im Sprachumschalter von WPML zu entstehen und ich kann es auf einer Sandbox replizieren. Ich bitte dich dazu um etwas Geduld, weil ich die Ursache dazu genauer untersuchen muss, bevor ich dieses Problem intern weiterleiten werde. |
| Januar 27, 2026 um 12:36 #17766960 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Das Problem mit dem Slug auf den Archivseiten der Veranstaltungen scheint nur dann aufzutreten, wenn unter Verwendung von "The Events Calendar" eine andere Standardsprache als Englisch in WPML verwendet wird. Auch die Ausgangssprache der Kategorien scheint eine Rolle zu spielen. Ist die Standardsprache in WPML nicht "Englisch" und die Ausgangssprache der Kategorie ist "Englisch", dann wird bei Verwendung des Sprachumschalters nur der Teil /kategorie nicht in der URL übersetzt. Ist die Ausgangssprache der Kategorie ebenfalls nicht "Englisch", wird der Slug /kalender nicht übersetzt. Bei meinem Test kann ich das Problem ansatzweise lösen, wenn ich Änderungen in der folgenden Dateien vornehme: \wp-content\plugins\the-events-calendar\src\Tribe\Integrations\WPML\Category_Translation.php und \wp-content\plugins\the-events-calendar\src\Tribe\Integrations\WPML\Utils.php Demnach muss das Problem im Code von The Events Calendar behoben werden. Da ich bislang aber keinen zu 100% funktionierenden Workaround anbieten kann, möchte ich dich um etwas mehr Geduld bitten. --- Ich werde das Problem zudem an unser Compatibility-Team weiterleiten. Solltest du wünschen, dass ich dir dabei helfe, die erwähnte Anpassung auf deiner Website vorzunehmen, dann lass es mich bitte wissen. |
| Januar 28, 2026 um 16:46 #17771455 | |
|
katrinW-5 |
Hallo Andreas, ja das wäre toll, wenn du die Anpassung für mich machen würdest! Vielen Dank! |
| Januar 28, 2026 um 18:14 #17771589 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Very well, but I would need FPT/SFT access for this purpose. Would this be possible? If you are unsure about how to find those credentials, please consult your hosting support team. The private reply form is enabled again. I currently have a workaround available that needs to be integrated into "The Events Calender". It will make sure that the event category archive slus are translated. Downside: Month and Day filters will work as expected, but in this case, the URL will fall back to the default slug in all languages. I am waiting for aproposal from our community team on this matter. Further, this issue is clearly something that needs to be solved inside the code base of "The Events Calendar". You are welcome to report my findings to their team. This is the current workaround: Issue: Workaround: Change the function get_active_locales() into:
public static function get_active_locales() {
/** @var SitePress $sitepress */
global $sitepress;
if ( empty( $sitepress ) || ! method_exists( $sitepress, 'get_active_languages' ) ) {
return [];
}
$locales = [];
$languages = $sitepress->get_active_languages();
$default_lang = method_exists( $sitepress, 'get_default_language' )
? $sitepress->get_default_language()
: apply_filters( 'wpml_default_language', null );
if ( empty( $languages ) || ! is_array( $languages ) ) {
return [];
}
// Remove the *real* default language, not just 'en'
if ( $default_lang && isset( $languages[ $default_lang ] ) ) {
unset( $languages[ $default_lang ] );
}
foreach ( $languages as $language_definition ) {
if ( ! empty( $language_definition['default_locale'] ) ) {
$locales[] = $language_definition['default_locale'];
}
}
return $locales;
}
2. Fix the "category" slug translation Change the function filter_tribe_events_category_slug() into:
public function filter_tribe_events_category_slug( $slug ) {
/** @var SitePress $sitepress */
global $sitepress;
$tax_sync_options = $sitepress->get_setting( 'taxonomies_sync_option' );
$translate_event_cat = ! empty( $tax_sync_options[ Tribe__Events__Main::TAXONOMY ] );
$using_lang_query_var = (int) $sitepress->get_setting( 'language_negotiation_type' ) === 3;
// If TEC shouldn't translate the base or WPML uses ?lang=, don't touch the slug.
if ( ! $translate_event_cat || $using_lang_query_var ) {
return $slug;
}
// WPML language codes.
$current_lang = apply_filters( 'wpml_current_language', null );
$default_lang = apply_filters( 'wpml_default_language', null );
if ( ! $current_lang ) {
$current_lang = $default_lang;
}
// In the default language, trust TEC's own slug ("category" or its localized form).
if ( $current_lang === $default_lang ) {
$remove_accents = apply_filters( 'tribe_events_remove_accents_in_category_slug', true );
if ( $remove_accents ) {
$slug = remove_accents( $slug );
}
return $slug;
}
// For non-default languages, use TEC's i18n bridge to look up the translated "category" slug.
$locale = $sitepress->get_locale( $current_lang );
$slugs = Tribe__Events__Integrations__WPML__Utils::get_wpml_i18n_strings( [ 'category' ], $locale );
if ( ! empty( $slugs[0] ) ) {
// Following TEC's own pattern, use the last translation if multiple exist.
$slug = end( $slugs[0] );
}
$remove_accents = apply_filters( 'tribe_events_remove_accents_in_category_slug', true );
if ( $remove_accents ) {
$slug = remove_accents( $slug );
}
return $slug;
}
This will translate the event category archive slugs correctly in all languages. get_active_locales() now: - doesn’t assume 'en' is the default - uses WPML’s get_default_language() / wpml_default_language filter_tribe_events_category_slug(): - stops hardcoding 'category' - uses wpml_current_language instead of ICL_LANGUAGE_CODE - doesn’t touch the slug when TEC shouldn’t translate or ?lang= is used Result The month/day calendar filter: - still works functionally (events are filtered correctly) - but the visible “category” base slug is wrong. Examples: |
| Januar 29, 2026 um 17:01 #17774860 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Hallo, Die Änderungen müssen in The Events Calendar vorgenommen werden. Werden diese von deren Seite aus nicht integriert, würde ein Update des Plugins diesen Workaround überschreiben. Bislang habe ich noch keine Rückmeldung von unserem Compatibility-Team dazu. Es ist möglich, dass unsere Entwickler das Team von "The Events Calendar" zu diesem Thema kontaktieren werden. Ich habe den Workaround nun auf deiner Website integriert. Bitte testen ihn und lass mich wissen, ob es funktioniert. Mit freundlichen Grüßen |
| Januar 29, 2026 um 18:47 #17774993 | |
|
katrinW-5 |
Hallo Andreas, danke für deine Mühe. Es funktioniert leider nicht. Es läuft leider noch schlechter. Wenn ich jetzt vom deutschen Kalender "/kalender/" in die Monatsansicht wechseln möchte, lande ich im englischen Kalender "/en/calendar/month/?is_single_instructor=1&page_id=18" Der Wechsel zwischen den Sprachen funktioniert nicht mehr. Kannst du den Code bitte wieder löschen! Dankeschön! |
| Januar 29, 2026 um 19:05 #17775000 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Bevor ich den Code entferne, möchte ich Folgendes erklären: Der Workaround bezieht sich allein auf die Veranstaltungs-Kategorie-Archive: Beispiele: Wie man nun sehen kann, sind die URLs korrekt übersetzt. Mit dem Monatsfilter funktioniert die Suche aktuell ebenfalls: Hier ein Beispiel im Englischen: Das ist nicht der deutsche Kalender. Es wird nur alleine der Teil "Kategorie" in der URL nicht übersetzt. Die Veranstaltung im Kalender ist allerdings die englische Version. Auf den deutschen Kalendern sehe ich bei meinem Test die entsprechenden deutschen Veranstaltungen in der Monatsansicht. Sollte ich die unerwartete Funktionsweise nicht korrekt erkannt haben, so sende mir bitte eine URL, auf der ich das Problem sehen kann. Zusatz: |
| Januar 29, 2026 um 21:41 #17775261 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Ich habe nochmals getestet und stelle nun folgendes Problem fest: Beispiel: Wechselt man nun zurück zu Deutsch, gelangt man zu versteckter Link was hier unerwartet ist. Seltsamerweise funktionieren beide deutschen URLs und bilden die korrekten Veranstaltungen ab. Ich bitte dich hierzu um etwas Geduld, bis ich eine Rückmeldung von unserem Compatilbity Team habe. |
| Januar 30, 2026 um 12:49 #17778208 | |
|
katrinW-5 |
Ok, dann warte ich deine Rückmeldung noch ab und dokumentiere in der Zwischenzeit auf welche Probleme ich beim Sprachwechsel innerhalb des Kalenders stoße. Vielen Dank! |
| Januar 30, 2026 um 17:52 #17779229 | |
|
katrinW-5 |
Wenn ich beisielsweise vom englischsprachigen Kalender Mein Problem von gestern kann ich nicht mehr nachvollziehen. Vielleicht ist das gelöst. Ich warte also erst mal eure Rückmeldung ab. |
| Januar 30, 2026 um 18:41 #17779278 | |
|
Andreas W. WPML-Unterstützer seit 12/2018
Sprachen: Englisch (English ) Deutsch (Deutsch ) Zeitzone: America/Lima (GMT-05:00) |
Ich finde aktuell leider keine komplette Lösung und warte auf Rückmeldung des Compatibility-Teams. Vielen Dank für dein Verständnis und deine Geduld. |