Description

Run each language in a separate site, and connect the content in a lightweight user interface. Use a customizable widget
to link to all sites.

This plugin lets you connect an unlimited amount of sites with each other.
Set a main language for each site, create relationships (connections), and start writing. You get a new field now to
create a linked post on all the connected sites automatically.
They are accessible via the post/page editor screen – you can switch back and forth to translate them.

In contrast to most other translation plugins there is no lock-in effect: When you disable our plugin, all sites
will still work as separate sites without any data-loss or garbage output.

Our Language Manager offers 174 languages, and you can edit them.

Features

Set up unlimited site relationships in the site manager.

Language Manager with 174 editable languages.

Edit all translations for a post or page from the original post editor without the need to switch sites.

Show a list of links for all translations on each page in a flexible widget.

Translate posts, pages and taxonomy terms like categories or tags.

Add translation links to any nav menu.

No lock-in: After deactivation, all sites will still work.

SEO-friendly URLs and permalinks.

Support for top-level domains per language (via multisite domain mapping).

Automatic hreflang support.

Support for custom post types.

Automatically redirect to the user’s preferred language version of a post.

Duplicate sites. Use one site as template for new site and copy everything: Posts, attachments, settings for plugins
and themes, navigation menus, categories, tags and custom taxonomies.

Synchronized trash: move all connected post to trash with one click.

Change relationships between translations or connect existing posts.

Quicklinks. Add links to language alternatives to a post automatically to the post content. This is especially useful
when you don’t use widgets or a sidebar.

User specific language settings for the back-end. Every user can choose a preferred language for the user interface
without affecting the output of the front-end.

Show posts with incomplete translations in a dashboard widget.

We cannot guarantee free ad hoc support. Please be patient, we are a small team.
You can follow our progress and development notices on ourdeveloper blog.

Premium Support

We also offer premium support to save your time.
You get direct help from the developers of the plugin-and support the development.

WPML to MultilingualPress

If you would like to switch from the WPML plugin to MultilingualPress, you can use the helping hands ofWPML to MultilingualPress. This plugin converts posts from
an existing WPML multilingual site via XLIFF export/import for MultilingualPress.

Activate the plugin through the Network/Plugins menu in WordPress and click Network Activate.

Go to All Sites, Edit each site, then select the tab MultilingualPress to configure the settings. You
need at least two sites with an assigned language.

Will MultilingualPress translate my content?

No, it will not. It manages relationships between sites and translations, but it doesn’t change the content.

Can I use MultilingualPress on a single-site installation?

That would require changes to the way WordPress stores post content. Other plugins do that; we think this is wrong,
because it creates a lock-in: you would lose access to your content after the plugin deactivation.

I’m new to WordPress multisite. Are there any tutorials to get me started?

I have been using this plugin on 3 websites for many years now. Love it. And my customers love it, too! Multisite is a very good approach to realize multilingual websites because it’s very easy to use. Nothing new, no learning curve. Just switch to another WordPress instance and start translating!

Not only this is the to-go solution for anyone who doesn’t want to risk depending on a proprietary plugin that could be discontinued and does unnecessary tricks with your tables.
I’ve been impressed with the helpfulness by the developer in the forum.
Kudos!

Developers: As we would like to use the official WordPress.org GlotPress for translating
MultilingualPress, we will (have to) change the
plugin text domain from multilingualpress to multilingual-press with the next (major) release. So, in case you are
doing crazy things with our translations (which you basically should really not), please be informed.

Allow removing all terms of a remote post in the advanced translator, seeissue #154, props kraftner.

2.1.2

Combine all scripts and stylesheets, separated for frontend and backend.

Minify scripts and stylesheets when SCRIPT_DEBUG and MULTILINGUALPRESS_DEBUG are not set.

Make the icon/flag for the current site available in nav menus.

Sites with custom name are now returned in Mlp_Language_Api::get_translations().

Better updates: Make sure that site relations are not lost and languages are not duplicated.

2.1.1

Fixed autoloading with glob() on Solaris systems.

Fixed database error when upgrading from a preview version of the 2.1 branch.

Custom flags are now fetched from the correct site.

Built-in flag icons are checked on the file system before we return an URL for them.

Language switcher widget is now visible for all users.

Improved description of the widget options.

Search pages are translated correctly.

Pro: Table duplicator works with custom tables now.

2.1.0

Added links to translations to the head element.

Relations between sites are now stored in a separate table 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.

Pro: Post meta fields in poorly written plugins will not be overwritten anymore. We had many reports about plugins
without a check for the current site when they write meta fields. Now we remove all global post data before we
synchronize the posts, and we restore them when we are done.

Installation and uninstallation are heavily improved now. We catch many more edge cases and switches from Free to Pro.

Languages are now synchronized between MultilingualPress and WordPress. When you assign a language in
MultilingualPress to a site the first time and the language files are available, we set the site language in the
WordPress option to that value.

You can add language links to regular navigation menus in the backend now. These links are adjusted automatically on
each site: if there is a dedicated translation, the link will be changed to that page. It will point to the other site’s
front page otherwise.

Users who are not logged in will not get permalinks for non-public sites anymore. You can work on a new site now
safely, test all the links while being logged in, and your visitors will never see that until you set the site to
public.

You can link existing terms (tags, categories, whatever) now. We will add support for term creation on that page
later.

There are hundreds of other, minor improvements, too many to list them all.

2.0.0

Code refactoring

New Language Manager with editable languages

Rename Widget to Language Switcher

Improved storage of site relationships

Set attributes width and height for flags

Fixed error on plugin deactivation

Implement uninstall.php to clean up on deletion properly

Simplify user interface in site settings

Better keyboard accessibility for form fields

Convert text domain calls to static strings

Better label texts

Missing translation does not prevent translating a post again anymore

Post authors of translations are not overwritten anymore.

Show current site in widget works now

Rework translation metaboxes, there is now one box for each language

Rename blog to site in the user interface

Update German translation, remove outdated other translations

1.1.1

Fix incorrect URLs when front page is set as static page or custom post type.

1.1

Better data handling during setup of post relationships.

Fixed wrong links in widget on the front page.

Added a Catalonian flag, the Canadian flag was used for ca accidentally.

Removed need to reload settings after adding a new relationship.

Copy post meta data and featured image for connected posts.

Set preview of connected posts to readonly, not disabled to make copy and paste easier.

Show languages in site list in native writing style (alphabet), not flags.

Improved German translation.

Made all text domain references static strings.

Unify hook names. Developers: we will change our API completely in version 1.2. If you have
any questions, please contact us before you write new code.

Added a language list in inc/language-list.php to get languages in native and English writing by ISO codes.

Added a helper class Mlp_Db_Replace to update multiple tables and columns at once.