There’s a common notion that running a web site in multiple languages is one of the things WordPress isn’t particularly good at by default. Is that still the case? Certainly creating and curating any multilingual web site is a task far from trivial. But besides the inevitable effort of the actual translation of content, multilingual WordPress really isn’t wizardry. WordPress does offer built-in support for content in multiple languages … well, like… almost.
Polyglotism from a European perspective
Other than great parts of North American population, European people communicate in somewhat between 24 and (roughly estimated) 100 languages and idioms. In many places like i.e. the Netherlands and most parts of Scandinavia English is very well understood and spoken in general. Other larger countries like France, Spain or Germany seem to lack default support for the English language on a wider basis, so to speak.
As a consequence, multilingual web site content is a must for many businesses across Europe reaching out to users and customers in their own country as well as across national borders.
Actually, the blog you’re reading right now is a very good example. We could have chosen to publish only in English since our products and content obviously targets WordPress users all around the world; but then we were likely to miss out on a large number of users from our own country who just don’t read in English so well. Publishing bilingual content is the only way for us to make sure we reach readers and potential customers from our local community as well as internationally.
Why a new translation plugin?
When we set out to create a translation plugin for WordPress in 2011, there already were solutions available, of course. So were we going to reinvent the wheel? Not at all, as our aim was to solve common problems the existing plugins at the time were pretty much all dealing with and still are in some cases.
Among those were an increasing complexity in cases of inconsistent behaviours that had to be fixed individually, creating an overhead of maintenance and compatibility problems. For example: If your plugins tweaks user-defined permalink settings and/or standard URLs, there’s a good chance for another plugin coming along at some point that has its own ideas of what to do with a URL in WordPress. Compatibility fix up the road, maintenance and support efforts bound to increase. The longer a plugin like this exists, the more complex it tends to become. We wanted something light and easy.
- No extra queries
- Language sites should use a common code base, yet be independently configurable with different widgets, plugins and even themes.
- Implementing SEO should be a breeze in all languages.
Multilingual panel at WordCamp Europe 2013
WordCamp Europe 2013, hosted in the beautiful city of Leiden (Netherlands), offered a perfect opportunity to present a wrap-up of the most popular plugin solutions for multilingual WordPress out there. As no less than three plugin authors had been accepted as speakers, the organisers had appropriately framed the presentations into a moderated panel with Q&A. Multilingual WordPress solutions presented were:
- WPML, a very popular WordPress plugin and interface for translation services
- Babble, a rather new plugin focussed on meeting WordPress.com VIP hosting standards
- Multilingual Press, our own solution based upon the default WordPress Multisite feature
As multilingual WordPress is such a complex field there certainly isn’t anything like the one correct way of doing it. All of the three solutions presented during the panel certainly are valid approaches, each tackling the same issues from a different angle.
We’re very honored having been given the chance to present our approach at the panel and we’d like to thank everybody—organisers, audience and panelists—again for their attention, participation and inspiration. Although we’d love to present a full review of the panel here, we feel like one and a half hour of complex session content and Q&A would probably go far beyond the constraints of a blog post.
In order to learn about WPML and Babble we recommend you watch their very informative presentations once they have been published on WordPress.tv (we’ll update this post as soon as they’re available). In this article we’ll continue to wrap up our own solution for you and provide some extra context.
Planning multi-language content
When it comes to publishing web content in multiple languages there are at least two major topics you want to spend some deliberate thinking on before making a decision for any particular technical solution.
- What needs to be translated?
Usually, a multilingual website or blog would want to provide a fully localized experience for the user. We’re talking not only post and page content in multiple languages, but also image descriptions, taxonomies, custom fields and custom post types, text strings printed by themes and plugins, and last, but not least, URLs aka permalinks.
- How is translation going to happen?
There are multilingual sites curated by a single person (hats off if that’s you!), and there are those translated by teams of authors or via professional services on a per-post basis. Single author sites obviously can rely on a less complex solution i.e. in regards of user rights than sites with a team of translating authors.
Multiple sites for multiple languages
Whatever new solution you want to create for and with WordPress, it is always a good idea to take a thorough look at what the software can do already in order to avoid redundancy.
Back in 2011 it was us who had taken that thorough look. It turned out we were to experience somewhat of a surprise! At a professional scale, it is very easy to think of multilingual web content as multiple single language sites within a network. Voilá, there’s a default WordPress feature for that: Multisite.
Setting up each language as a single site in a WordPress Multisite network seems to eliminate a whole bunch of challenges at once:
- URLs just fit. Permalinks are created in a subdir or subdomain scheme. Your choice.
- Default WordPress features are already translated via default language files.
- Themes and plugins use their regular language files based upon the locale of the site.
- No overhead caused by duplication of any fields: maintaining a language stays as hassle-free as maintaining any single WordPress site.
- Default WordPress user management, extendible on a network and/or per-site basis.
- Common code base: core, themes and plugins can be updated in one place for all sites/languages.
- Extendibility: most third-party plugins will work just as good or bad as they would on any WordPress site; no extra compatibility issues to expect because of the multilingual context. At the same time you can activate or deactivate any plugin on a per-language (=per-site) basis—superb for language-related functionality like converting special characters for URLs.
Multilingual Press for Multisite networks
Obviously, a Multisite approach for a network of multilingual sites could use a couple of extra features:
- Per-post connection: you want to be able to connect translated content in the frontend, i.e. via language links.
- Redirecting users in the front-end depending on the language set in their browsers.
- Common content editor: authors might want to write and translate content on the same edit screen instead of having to navigate to another site within the network first.
- Editors can pick their favourite back-end language independently of a site’s front-end language.
- Cloning: starting a new language site by cloning a complete other language can save you a whole lot of time.
- Nice to have: a dashboard widget showing posts that need translation.
So here’s the basic workflow of Multilingual Press. Most of it is default WordPress, we’ve highlighted those steps where an actual feature of our plugin provides extra functionality:
- Create a WordPress Multisite Network. Think of the main site as your default language.
- Create any number of language sites within the network.
- Plugin feature: interconnect those sites so they “know” of each other as available languages.
Create any post, page, taxonomy or custom post type content in your main language.
- Plugin feature: mark that particular post or page as translated and save it as a draft for another author; or start translating it right away on the same edit screen.
Publish your default language content.
- Plugin feature: publish your translated content whenever it is ready. Or don’t if translation doesn’t make sense for whatever reason.
Multilingual WordPress in a nutshell
Again, there is no such thing as one way of doing it right. Reducing overhead in code and workflows from the very beginning of conception surely will help to provide an enjoyable user experience later on. Building a solution that utilizes WordPress core features wherever possible is our approach to that principle.
Why wait? You can download and use Multilingual Press Free from the WordPress.org plugin directory. Or purchase a Multilingual Press Pro license here at MarketPress if you’d like to have access to extra features and to our dedicated support helpdesk.
In any case, we’d love to hear your feedback! What are your experiences with Multilingual WordPress?