Reputation: 1042
I am working on an application (CQRS + event sourcing) that should support multiple user languages. The user will have the ability to translate some of his input different languages. E.g. some labels or descriptions can be given in Dutch and/or English. Depending on the language preferences of the user, the application should show the correct translation.
I suspect the read model plays a big role in this process.
I was thinking of creating events like ItemDescriptionTranslated
, telling 'The description of item X was translated to language Y as Z'.
I would think that the aggregate can safely ignore this kind of events, and that only the read models should do something with this information.
Does this make sense? Does any of you have experience with CQRS/ES in a translated application? Any hints are greatly appreciated.
Upvotes: 4
Views: 212
Reputation: 1044
Of cource you can use event sourcing. You can code aggregate's build funcs to ignore ItemDescriptionTranslated event.
The main question is - if you really need event sourcing in this part of application. For example you can build authorization using both ways - es or not. If you want to log all users' login and auth, you prefer ES. But if you want login only, without any analysis - i suggest not to use es.
So, do you want to collect some additional info about translating? When, who, maybe check some statistics about corrections by different authors and so on.
Upvotes: 3