You can use various plugins to create a multilingual WordPress website. This post is a short introduction into MultilingualPress, which I use here on my site.
Requirements and finding a plugin
The only requirement was that the plugin has to support WooCommerce because my shop should, of course, be accessible in different languages too — including customer emails et cetera. If you are searching for a multilingual plugin with WooCommerce support, you will quickly find WPML. After reading about problems with that plugin in Ellens post about her top 10 plugins in 2016 in the Elmastudio blog, I decided to move on and search another solution.
Polylang is one alternative, but after activating the plugin, I got a white screen (Edit: which probably was caused by something on my site, but I did not want to look for the error as long as there were still open alternatives)… I heard from MultilingualPress before (since September 2015 the plugin is completely free, including previous pro features) but was scared of maintaining two WooCommerce installs for a two-language shop. After thinking about it for a short while, I realized that this maintaining effort is manageable in my case, so I tried it.
Plugin features and setting up MultilingualPress
MultilingualPress uses the core feature multisite — each language uses its site. That may be the biggest advantage of this solution: you are independent of a plugin. The content is managed via default features of WordPress, not via fields which are created by plugins. Of course, for example, the language switcher is lost, if you stop using MultilingualPress for whatever reason. But the content stays reachable and editable.
The first step after activation is to set the language for your existing site. You can see a screenshot of the settings page above. After that, you create a new page. You can automatically copy all contents and plugins from an existing site, for which you defined a language.
If you now edit a post or page, you can find a meta box for creating a translation — displayed in the screenshot below. I, personally, do not use this box for writing, but add the post on the other site and link them with the Change relationship button.
Much more is not to do. You can add the language switch widget to a widget area, and your multilingual website is ready. Following a few more features of the plugin:
- You can translate custom post types — you have to enable this in the settings.
- The plugin supports redirecting visitors based on their browser language settings.
- On deleting content, you can optionally remove its translation in the same step.
- You can link to the translation in the post content automatically.
More information on the plugin page and for developers in the GitHub repo.