In the marshalling process the data is being converted based on the column type, and your columns are most probably string types, so you cannot patch arrays into them, this will result in empty strings.
Have a look at
- Cookbook > ...ORM > Behaviors > Translate > Saving Multiple Translations
For now, use the traits
translation() method as shown in the docs. You can do that in your saving process before or after patching your entity. It is advised that you don't use the actual column names in your form, so that you can easily patch in the request data.
Note that the original entity should hold the default language contents. So in case the default happens to be
en_US, then you should only store
fr_CA as translation.