This post is about multi-language stores. That is probably a long-term project, but I want to start the conversation as early as possible because many e-commerce software developers have made some wrong decisions with their software core in the beginning, and later those issues are very difficult to fix.
If I want to create a multi-language site with Joomla, I need to create a separate article for each language. Another option is to use some external, expensive and difficult translation system like Falang. Using Falang is bearable as a developer who uses it often, but for someone who rarely makes changes (most of the website owners), it is just a pain in the ass.
While the multiple-article-approach of Joomla might work for content, it doesn't work for e-commerce. Software like J2Store which creates products based on Joomla articles has a major issue here. You have to use Falang OR create separate articles (products) for all languages. This means a huge amount of extra work because...
1) Each product (translated article) needs the product information typed in separately (price, weight, shipping settings, related products, sku...).
2) Each product (translated article) has its own stock quantity, which is stupid because the product is the same, only the frontend language changes.
So basically, if you have 100 products in 4 languages, you need to create 400 products and type the same data 4 times for each product. If you want to make changes, you need to make changes in four products instead of one.
Furthermore, if you have 10 pcs of "Shirt size XXL" in stock, what are you going to do? Each four language versions of the product have a separate stock quantity, so are you going to input a stock status of 2 in each language, and keep wondering which language sells out first so you can move more stock from one language to another?
But of course, once you choose this route it is very difficult to change it. Pro2Store is also based on articles, so I am very concerned about how this will be handled in the future.
If you will be using separate articles for each language version (The Joomla current way)...
The minimum requirement (in my opinion) is to be able to link the language versions of the same product to use the same inventory. This is the basic thing.
An even better alternative would be to have a "master product" which would have all the product data (price, sku, stock quantity, weight, size, related products, similar products...) and all the other language versions could have an option to pull the data automatically from this master product (and keep up to date all the time if there are changes in the master product).
In this way, we wouldn't have to type the product data 400 times in the previous example, and the stock quantity wouldn't be a problem.
However, this means that we would still have to create those 400 translated articles, even if only 100 of them are master products with all the data. This causes some extra "bulk" in my opinion.
So I would like to suggest an even better way. I don't know if this is possible with the current Joomla framework, considering how Pro2Store is based on the Joomla article structure. But in my opinion, if the language versions are done like this, it would offer major benefits over any current e-commerce software I have tried with Joomla.
If you added the translation options right in the product editor, next to those fields which need to be translated, it would be ideal. Then we would have only 100 products instead of 400. I will use the software I have been using in Finland as an example:
They have little language buttons next to each field you can translate. Very simple and useful. If the field doesn't have a translation, it will show the "main" language which has content (because it is mandatory to fill in at least one language). Also there you can choose which language versions will show the product and which ones not.
Maybe this would mean that the products need to be separate from Joomla articles, but I don't know. Currently, I am trying to create a similar end-result with custom fields for translations and show them in Yootheme based on the version language. A lot of work to figure this out, so it would be better to have this in the software. Aliases cause a major headache.
Even if this last suggestion is impossible to create, please at least consider the "minimum requirement" and the "better alternative" described above in the early stages of Pro2Store development.
Thanks a lot, I have great expectations for this project so I spend a decent amount of time suggesting things. I hope this software will be a success for you guys!