|SEO-friendly URLs & Permalinks|
|Top-level Domains per Language|
|Translate All The Things|
|Add Language Links to WP Nav Menus|
|Future-proof, WordPress-Core-based Architecture|
|Inline Docs & Developer Support|
|No Lock-in, just honest Open Source Software.|
|Visual editor (Advanced Translator)|
|Automatic language redirection|
|Translate Custom Post Types|
|Automatically Trash Translations|
There are a few things to consider when it comes to publishing web content in multiple languages. Most technical aspects, however, you shouldn’t need to worry about.
Especially when your content gets more complex, WordPress should remain easy and intuitively usable.
That’s why we have built MultilingualPress leveraging a powerful WordPress core feature: Multisite. Working on top of Multisite, MultilingualPress enables you to create a network of sites in different languages, all interconnected with and related to each other.
For every language you have created a site in your Multisite network for, MultilingualPress will insert an extra Visual Editor when you edit a Post. Or a Page. Or Custom Post Type.
Just translate away on the same screen while you’re on it!
Hired a professional translator? Create a regular WordPress user account for them and grant them author permissions on a per-language basis. Whenever you’ll draft a new post in one language, MultilingualPress automatically will create drafts of that post for each language within your network. Translators just need to open their Dashboard and find new drafts right there to go to work with.
Translating Custom Menus, Widgets and other WordPress components on your website remains extremely flexible. Each language you set up literally translates into a separate site within your WordPress Multisite network. MultilingualPress interacts very carefully with the changes you make on a per-site basis and will only take action when it detects a translated ›sibling‹ of a particular Post, Page or Custom Post Type.
For example, you can add a widget displaying your latest blog posts on your English site. When you add the same widget on your French site, it will, of course, fetch the latest posts from your French blog. Those could be translations of your English blog posts, or not, just as you see fit.
“An image is worth a thousand words”, as the saying goes. But is it in any language?
Maybe the image you chose to illustrate a point for anglophone visitors won’t necessary translate to people socialised in non-English spoken society? A video in Portuguese would look great with German subtitles on your German site, wouldn’t it?
MultilingualPress adds great flexibility to the cultural aspects of translation by keeping separated media libraries in WordPress Multisite intact. Yes, it means you have to upload each image for each language and possibly host multiple versions of one and the same image. Just think it through—it’s a feature.
(There’s a nifty checkbox to have your Featured Image copied over to other languages automatically, though.)
MULTILINGUALPRESS_DEBUGare not set.
glob()on Solaris (Strato)
mlp_site_relations. This is faster than the previous option call, and it is less error prone, because we don’t have to synchronize these relations between sites. The old options will be imported into the table automatically during the upgrade.
language_shortreturn just the first part of a language tag,
language_longthe complete language tag.
privatein relationship changer.
get_available_languages_titles()use the correct source.
uninstall.phpto clean up on deletion properly
disabledto make copy and paste easier.
inc/language-list.phpto get languages in native and English writing by ISO codes.
Mlp_Db_Replaceto update multiple tables and columns at once.