when handling recommendation engine product catalog - what would be the best way handling product translations?
Option 1 - create language entity.name, entity.shortDescription etc with language suffix added?
e.g. entity.name_en, entity.name_ru etc
Option 2 - add language parameter to productID. As a result I would have multiple entries for the same product, but wouldn't have to deal with translation items within same product.
Anyone having better ideas how translations logic could be built up?
Go with option 1 with the suffix.
With option 2, you will weaken your product relationship data. Also, if you ever implement A4T, you will need to also maintain your language suffix in Adobe Analytics, which makes Saint Classifications annoying to maintain, etc. You'll be better keeping your productID synchronized with the ID in your internal systems.
we ended up going with option 1 and created whole structure gradually, based on customer behaviour on the page e.g. only these elements are updated which are corresponding to site language.
Slight inconvenience comes up with built in entity variable like name, message, productURL, categoryID ( Entity Attributes )etc, which cannot be used, when you don't have unique value for all languages. While product name and categories will be heavily used also in analytics, we took extra development time and created unique values within main retail site datalayer.
Result is something like this:
entity.categoryId -> unique value and entity.categoryName_en -> translated value, entity.categoryName_fi etc
entity.name -> unique value and entity.name_en -> translated full name, entity.name_fi etc
entity.pageURL, entity.message -> left unused