- I still want to investigate "non-versionable" content-items .
If you think about non-versionable content-items, why should we still store information about the item in cr_revisions? If we do it for API's sake, then we just make the API smarter....
- We should remember that the vast majority of sites are monolingual, not multilingual
This is the primary reason behind my approach of overlayering translation (have a default version that is "overlayered" by a locale specific translation). I agree that your master item approach is best in achieving this.
- Malte's suggestion is a big change to the existing datamodel
I agree that idea 1) is a big change, but I don't see how the move of nls_language to cr_items is a big change, especially taking into account that is not used anywhere in the first place (if my knowledge is accurate). Otherwise I don't think the upgrade would be hell.
My main thinking here is: Only keep information in cr_revisions that is bound to change or has to be displayed to the user.