What we’ve learned from integrating with WPML

On July 8, 2012, Rob logged an internal ticket describing compatibility issues between The Events Calendar and WPML. A little over three years later, we are proud to say that The Events Calendar and Events Calendar PRO are now multilingual compatible.

As we’ve said before, Modern Tribe strives for the best quality code. We also want our products to be widely compatible with other popular plugins. But we’re not gonna lie- taking those first steps towards WPML compatibility was a little bit scary.

We were happy to find that WPML and TEC already worked together in some ways, but the number of configuration possibilities in both plugins made it a complex puzzle. And of course, we wanted to make sure to provide robust backwards compatibility as well, which added another layer of difficulty.

The main issue we had to tackle regarded the way TEC generates permalinks, as it wasn’t playing nice with the way WPML applies language settings. Our team learned about the many challenges of multilingual WordPress as we sweated to fetch multiple translations for the same string and building rewrite rules to allow permissive permalinks. Since neither WordPress core nor WPML had an option that solves our issues, we set about building our own.

Originally we had thought that the solution to the WPML compatibility was mainly an issue of development. As it turns out, it was largely an issue of knowledge and configuration. We dove into WPML and the many available options. After some sleuthing to figure out the optimal configuration on the WPML side, we were able to work on TEC in order to make a user-friendly solution. Additionally, we made sure to document the necessary specifics in two knowledgebase posts: one detailing the set-up and a second one on translating events.

While we were not able to fully integrate our entire suite of Events plugins with WPML, we are still continuing to work towards full compatibility. For now, we just stoked to say that The Events Calendar and Events Calendar PRO are ready to rock.

With version 3.12 of The Events Calendar, you can now translate calendar URLs of your calendar. Now links like website.com/events/month (en_us) and website.com/eventos/mes (pt_br) will both work- as long as you have the required languages active on WPML. However, do note that the method we created to allow this is file intense and should not be overused.

We’re still working on the issues surrounding multilingual calendars. In the future we’d like to create a way for users to translate URLs without an additional plugin, and to improve the way we handle link display on the calendar. We’ll also be exploring the possibilities for expanding compatibility to our other Events plugins.

We want to extend a heart-felt thank you to all of our loyal fans who requested this feature, helped us understand the issues at hand, and were exceedingly patient as we worked on this complex integration. We’re excited about this new era of localization for The Events Calendar and beyond- and we couldn’t have done it without your support!

Want to do more to internationalize our plugins? Head over to GlotPress and help us maintain the translations for your native language.