Thanks Danb,
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