This week I was contacted by a potential client. They wanted a WordPress based eCommerce site. But there was a catch. They wanted it to be bilingual.
It’s tough to find a content management system that does bilingual well. It’s even more difficult when you add eCommerce to the mix.
In Quebec (where I build websites), if you are a commercial enterprise targeting Quebec businesses or consumers online, you are required by law to provide a complete French-language version of your website. But most people also want to take advantage of the larger English speaking markets in Canada and the US, and that means they need a multilingual website.
The first problem I’ve found is that many systems claim they are multilingual, when really they are unilingual, in a language other than English.
What a lot of eCommerce providers recommend when their product can’t be used to build a multilingual site, is building two parallel sites. This is a possible, but inefficient solution for a general content management system. It is also compatible with the solution favoured by search engines. But it’s not practical for small-to-medium eCommerce.
Why? Imagine you have a 1-time-use $100 gift certificate. Will it only work on one version of the site? Or maybe it will work on both and will cost you $200 in merchandise? And how will you deal with inventory? And then there is the annoyance of updating both sites and remembering to double-check all the prices so that an item isn’t cheaper on the other language version. And will clients need two logins if they want to shop in both languages? It get complicated.
So I’ve collected a list of eCommerce solutions that can be used for multilingual sites. I haven’t tried them all. So feel free to add your experiences with these solutions in the comments. And if I’ve missed one, let me know!
I’m also looking for a cart that will work with Canadian taxes, so unless otherwise indicted, all of the following should do that as well.
Magento
Opensource, self-hosted, free.
Magento is a full featured, complex solution that provides multilingual sites. But it’s not a solution I can fully recommend. Paul Boag of Headscape recently wrote a review of Magento agreeing that it was best suited for store with sales of at least $1m/year. Magento is an open source product with a free community version, but unlike many other open source projects, the development team does not assist in the support forums. Their documentation is sparse and often out of date. There are some bugs. The learning curve is steep (though out of the box Magento works quite well). And if you find you do need support, you will pay $3,000 USD per year and up. Magento also offers a hosted product called Magento Go, but it is not multilingual, only unilingual in a language other than English. There is also an enterprise version which includes support for $13,000+ USD per year.
VirtueMart with Joomla!
Opensource, self-hosted, free.
Joomla! is a full featured open source content management system that can be used with a language plugin (Joom!fish) to create a fully bilingual site. You can then add Virtuemart to the mix to create a bilingual shopping cart. All three components are open source and free. Even though this setup uses three complex independent parts, it is not especially difficult to setup. However, customizing the look and feel can be annoying. That is because although Joomla 1.7 has just been released, Virtuemart and the language plugins needed only work with Joomla! 1.5. This older version doesn’t always do a great job of separating presentation and content, CSS and HTML. And it uses some tables to present content. Note: This solution used to require a hack to work with compound taxes (where one tax is applied to a second tax), but now complete plugins are available. As well, updating Joomla! can be difficult, if you are used to easy-to-update solutions like WordPress.
Update March 18, 2012: The new version of Joomla! (2.5) now includes an easy update option and no longer requires a language plugin as this feature is now built in. However, Virtuemart is not yet compatible with this version.
WordPress
Opensource/commercial, self-hosted, $120
WordPress is another open source content management system, often used for blogs. You can turn this into a multilingual system by adding one of several plugins. However, only one works well in a self-contained multilingual site: WPML. Although there is a free version, you’ll need the commercial CMS version ($79) for a multilingual site. Support and updates are then $40 USD per year. WPML can be a little buggy, in my experience, and it requires a multilingual-ready WordPress theme. But then you’ll still need a shopping cart. A Shopp plugin is in alpha development. WP eCommerce compatibility is in beta. These are not recommended for live sites, yet. MarketPress ($40), a less commonly used WordPress eCommerce plugin is compatible with WPML now, but I have seen very few reviews.
Pinnacle Cart
Commercial, hosted or self-hosted, $800.
Pinnacle Cart is a professional commercial product that costs $800 for the self-hosted version and between $30-150 per month for the hosted version. Support and updates are then $300 USD per year. It is full featured and provides many features that add-on carts do not. You can have a multilingual install in both the hosted and self-hosted versions. Adding a new language involves adding new template files for each language. They offer a free 14-day trial to test it out. They also offer a reseller program, though you need to pay monthly to participate. (I’ll do a full review soon.)
ExpressionEngine
Commercial, self-hosted, $450.
ExpressionEngine ($300 USD) is an extremely flexible commercial content management system. Unlike other content management systems, it needs a bit of setting up to get started, but adding extra languages with this tool is quite simple and does not require any special plugins. There are no design limitations and it can be used to power quite complex sites. I often joke that building a site with ExpressionEngine means (almost) never having to say no to a client. However, development costs can be a little higher. Also there are no pre-made templates for ExpressionEngine, so you’ll need to use a custom design. If your eCommerce needs are simple, ExpressionEngine comes with a Simple Commerce plugin built in, however it will really only power very simple site. Otherwise, you’ll need to add a shopping cart. There are several available, but only CartThrob ($150 USD) will work with a bilingual site. CartThrob 1.x works with ExpressionEngine 1.x, while CartThrob 2.x, which works with the newer version of ExpressionEngine 2.x is still in beta. Note that this cart will not show compound taxes on two separate lines on invoices, as required by Canadian law.
Update March 18, 2012: CartThrob2 is now out of beta.
What about osCommerce and ZenCart?
Opensource, self-hosted, free.
osCommerce and ZenCart are opensource, free shopping carts that work with multilingual sites. However, they are clunky and sometimes buggy. I personally find them to be less functional than other solutions. But more importantly, they require registration for purchases, which makes them poor choices in terms of ROI.
Update March 18, 2012: As mentioned in the comments, there are plugins that allow purchases without registration, however, these have not been recently updated.
Prestashop
Opensource, self-hosted, free.
Someone on twitter just suggested PrestaShop either alone or integrated into WordPress with the WP PrestaShop plugin. However, this solution, while much nicer than osCommerce or ZenCart still requires registration for purchases, which is not ideal.
Update (March 18, 2012): After a bit of quick testing, I’ve discovered that a module can be added that allows purchasing without registration. I’ve found Prestacart to be a little buggy, even before any customization. Note that this cart will not show compound taxes on two separate lines on invoices, as required by Canadian law.
Mal’s Ecommerce
Commercial, hosted, free or $8/month.
In the comments, Kathryn suggested using Mal’s Ecommerce. This is a hosted service that can be integrated into a large number of systems to provide a limited-feature cart. WordPress and ExpressionEngine will both work well with this cart and integration is very easy. Simpler CMSs, like Perch or Frog CMS could also be used. Many people use the free version. The premium version costs $8 per month and allows additional shipping features and spreadsheet downloads for the administrator. You are allowed to process 30 orders per day with the free version and 150 with the paid version. The cart can be multilingual, but customized messages and automated emails only have one text field, so you’ll need to fit both languages into the available space. I’ve also found it can be tricky to get Google Analytics to track sales through the purchase flow, which can limit your ability to track conversions. Note that this cart will not show compound taxes on two separate lines on invoices, as required by Canadian law.
Not in the running
The following popular products do not provide multilingual functionality: Shopify, Interspire, Volusion.
So have you tried any of these? Did I miss anything? Let me know in the comments.
Zen Cart has a module that allows to shop and pay without registering, Checkout Without Account. It has been around for years.
Yes, but this module hasn’t been maintained since 2008. osCommerce has a similar module, Purchase Without Account, that was last updated in 2010. However, it seems to me that this kind of basic functionality should be built right into the base product.
You are right, the option should be the part of the core installation. It’s Zen Cart’s old roots showing up 🙂 BTW, the module still works with the latest version of ZC.
I’m using CartThrob2 with EE2 this month for an ecommerce site. We also looked at newcomer BrilliantRetail.com for the cart, but ultimately chose the more familiar CartThrob, even though it’s still in beta. BrilliantRetail say they are working on adding multilingual, but no sign of it yet.
If you don’t have a huge number of products, one reasonable multi-lingual option is Mal’s Ecommerce. By setting one tiny variable in the product button code, you can switch the system into one of many available languages. I use it in English and French on one client’s site and it works quite well – the checkout process is totally in the chosen language and there’s no need to create an account. The email notifications are bilingual. The only issue is that the French option is France French – no Canadian French option… yet.
http://www.mals-e.com/tpv.php?tp=21