0

I'm building a webshop that contains multiple stores, each store has multiple languages, like so:

Website A
    |__ Store A
       |__ StoreView EN
       |__ StoreView DE
       |__ StoreView FR
Website B
    |__ Store B
       |__ StoreView EN
       |__ StoreView DE
       |__ StoreView FR
Website C
    |__ Store C
       |__ StoreView EN
       |__ StoreView DE
       |__ StoreView FR

The problem is that when you edit some content, like an attribute, you have to enter the translations for each language three times, since each store has three separate store views for each language. Is there a way to avoid this, or is this just the limitation of how Magento works?

1

It's a limitation of how Magento works. As you are no doubt aware each StoreView will have it's own ID.

But in someways this might be a good thing. You might not want duplicate content on different websites.

Also in setting up the above you cannot share EN baskets and customers for example. So it would make sense to have a layer of separation with product data.

You could use observers on product save etc to unify data - or external db syncs but then indexing becomes a factor.

Website A
    |__ Store A
       |__ StoreView EN 1
       |__ StoreView DE 2
       |__ StoreView FR 3
Website B
    |__ Store B
       |__ StoreView EN 4
       |__ StoreView DE 5
       |__ StoreView FR 6
Website C
    |__ Store C  
       |__ StoreView EN 8
       |__ StoreView DE 9
       |__ StoreView FR 10

So the principal is that any insert/update to data in store ID 1 would replicate to ID 4 and 8. So you've got to catch ID 1 save, allow usual index, replicate to 4 and 8 - trigger index for 4 & 8.

You can of course start replicating index tables. But then you've got to watch for table locks.

The alternative is that magento fetches from a common data source for certain attributes such as name, description. Basically 'word' based attributes. So an external service and / or connector. So 1, 4 and 8 fetch from single source.

It's problems that I've faced before and generally we go with whatever the client wants (within reason). I guess the point I'm making is that there is no right or wrong answer.

One thing though. The admin will be a default language. Therefore potentially you could lose the requirements for 2, 5 and 9 to have values set and configure attributes to use default value if your admin is in DE for example.

  • Thanks, I guess the client has to simply copy paste the different languages. Another option is to use a translate function in the template for each attribute value, but then you have to keep updating translation files. I don't think that's worth it. – Arne Jul 9 at 12:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.