correctly translate things that are arrays when saving

if something's an array then we need to translate each element
indvidually.
fix bug preventing fall back to default language translation

if translated isn't null then the catch for it not exiting is never
called and we don't fall back to the default. And if it's not a
translated object *then* we fall back to returning it as is.
forEach makes more sense than every
correctly translate arrays for viewing

If it's an array we need to translate each element of the array
individually rather than handing over the whole thing