🌍 Send your products to a WooCommerce store in every language you sell in
A WooCommerce channel can now publish in more than one language. With the free Erpilo for WooCommerce plugin in your store, every language you choose is written into your WPML or Polylang shop and kept up to date from Erpilo.
Most online shops here sell in two to four languages. Until now a WooCommerce channel in Erpilo sent one of them, and every other language had to be typed into the store by hand - and typed again whenever a product changed.
Now a channel can publish in every language you keep your products in. Erpilo sends the main language as it always has, and a small free plugin in your store writes the rest.
What your store needs
- A language plugin Erpilo can write into:
- WPML together with WPML String Translation and WPML Multilingual & Multicurrency for WooCommerce (formerly WooCommerce Multilingual). All three come with a WPML licence. String Translation is the one that is easy to miss: without it the WooCommerce add-on quietly does not run, and Erpilo reports the store as one it cannot write into.
- Or Polylang together with Polylang for WooCommerce. The free Polylang is enough, as long as Polylang for WooCommerce is installed beside it.
- The Erpilo for WooCommerce plugin. In your store, go to Plugins ▸ Add New, search for "Erpilo for WooCommerce", install and activate it. There is nothing to set up and no key to paste: it uses the WooCommerce key your channel already has.
A store that sells in one language needs none of this and keeps working exactly as before.
Some language plugins cannot be supported, and Erpilo says so on the channel page instead of sending half a shop:
- TranslatePress keeps one product and swaps its words as the page is shown, so there is no second product for Erpilo to write into.
- Weglot and GTranslate keep their translations on their own servers, not in your store.
- Polylang without Polylang for WooCommerce cannot keep stock in step between languages.
Check what your store runs
Open Settings ▸ Sales channels, choose the channel and press Check connection. The connection card has a new Languages part showing:
- whether the Erpilo shop plugin is installed, and its version;
- which language plugin the store runs;
- the store's languages, with its main one marked.
If anything stops the store taking more than one language, it says what, in a plain sentence, and what to do about it.
Choose the languages
Publish language is now Main language, with an Also publish in list of your product languages below it.
- The main language has to be the store's own main language. The store is written in its main language first and every other language hangs off it, so Erpilo will not save a further language until the two match.
- Each language is shown beside the store's matching one, so you can see at a glance that Estonian in Erpilo is Estonian in the shop.
- Saving a change asks first, because every product on the channel is written into the store again at the next send.
A channel without a connector - a shop counter, a price list - can be given languages too. They are only recorded there; nothing is sent and no plugin is involved.
What is sent in each language
For every product on the channel, in every language you chose:
- the product name, description, short description and web address;
- the names of its categories and its option and attribute values, such as "Blue";
- its variants, each with its own description.
Prices, stock and pictures are shared by all languages. Erpilo never writes them to a language version: your language plugin keeps them in step with the main-language product, as it already does.
Nothing is translated for you. What you wrote in each language is what the store shows. Product text is written on the product's Content & SEO tab, category names on Products ▸ Categories, and option and attribute values on Products ▸ Option catalog and Products ▸ Attribute catalog, one language at a time.
A product with no text of its own in a language is sent your main language's text, so no page in the store is ever empty. Sync health counts these per language, so you can see what is still to be written.
Preview and send
Sending works exactly as before. Preview now names the languages the send will include, and Send to store writes the main language and then every other one.
A product counts as sent only once every language is written. If the store refuses one language, that product is tried again with the next send.
Taking a language off the channel hides that language's products in the store at the next send, and leaves every other language as it is.
Sync health shows each language
The Sync health page has a new Languages card with one row per language:
- In the store - how many products are live in that language;
- Showing ... text - how many have no text of their own in it and show the main language's instead;
- Could not be written - anything the store could not take in that language, with the products named.
It also says up front what the store's language plugin cannot handle at all - for example, WPML keeps one name for an attribute such as "Colour" across every language.
And when something stops a channel from sending, the Sales channels list now says so on that channel's row, with a link to its Sync health.
Worth knowing
Erpilo is the source in every language. Text changed by hand in the store, in any language, is replaced by Erpilo's at the next send of that product. Make the change in Erpilo instead.
A language the store does not sell in stops the channel. It is saved, but nothing is sent to that store until you add the language in the store or take it off the channel. The channel page names the language.
Brands and tags go out under the name they were created with. They can only be named in your main language for now, so every language version of the store shows that name.
An attribute's own name stays in the main language. "Blue" is written in every language; "Colour" is not, because neither WPML nor Polylang lets it be written from outside the store.
A parent category keeps its main-language name until a product is filed directly under it. The store only renames the categories a product actually carries.
Two languages wanting the same web address get a number on the second one, because WordPress does not let two products share an address. It stays the same from one send to the next, and you can change it in Erpilo.
Not sent in any language yet: SEO titles and descriptions, and picture descriptions.
WooCommerce only. Erpilo connects to no other store platform yet.
Who can do what: choosing a channel's languages, previewing and sending are for admins and owners, as before.