Always return (and only accept) a dict for localised fields (original) (raw)

The current api/v3 behaviour of returning a flat string when ?lang=xx-YY is passed means the api consumer doesn't know what language the string return actually is. Accepting a flat string as input to update/create a localised field means the client doesn't really know what locale it's setting either (unless the default_locale is also set at the same time), and makes deleting localised values extra hard.

So we should drop that behaviour in v4. Dicts will always be returned; dicts will always be required to set/update values.