Since your solution will be multi-lingual and you would want maybe in the future to use the product catalogue information to display product in your communications, I strongly suggest that the product catalogue be multi-lingual too....the product unique identifier would be SKU+Language.
Then, when you get the order items into Campaign, the Order Management System or ECommerce system would have to ensure they pass you the product identifier associated with the product language (SKU+Langauge). It is a very common design pattern for multi-lingual ECommerce site.
For Categories, depending of your use cases, you might just need to have them in a single language and you have 2 solutions:
Provide them via flat fields in the Product Catalogue (reserved 4 or 5 fields), probably the easiest solution
Build a custom entity, kind of a lookup entity (name+label) and have 4 or 5 links in Product Catalogue