Localization of Domain Models in Neos / Flow


(Julian Walter) #1

Hey there,

since the last months I am developing a big enterprise level website for a customer. The website also contains a self-developed shop system. I have created a Flow Plugin for the shop functionalities where the products, variants and vouchers are kept as domain models.
Since the customer wants to launch their website in different languages I need to find a way to manage translations for the domain objects.
I cannot find a way which is baked into Neos/Flow so my first thought was to change the translatable fields (description & stuff like that) to translation identifiers which are then used inside the view with the translation viewhelper. This would work totally fine if the customer would not want to edit those things by themselves. My next idea was to just implement an extra field for each language-dimension and each translatable field (like description_en; description_es, …). But this would be the worst approach in terms of maintainability and changeability.
I usually worked on TYPO3 projects where translation of domain objects is really easy and working out of the box. So this experience inside Neos is very frustrating.

Does anybody came across a similar problem or even has found a solution to this?

Kind regards
Julian


(Daniel Lienert) #2

Hey Julian,

whenever we’ve got the requirement to have multi-language content so far, we’ve solved that, by storing the data within the Neos Content Repository. This way language handling aka dimensions work out of the box. Also, building a UI for that records is very easy by using inline editing or the inspector of the content module.

Note, that storing data in the CR does not necessarily means, that you have to store it under the /site root node. You could also add a new root node /products to store your products.

You could have a look at https://github.com/neos/metadata-contentrepositoryadapter where meta data is stored under its own root.

Hope that helps,
Cheers, Daniel