[eluser]ivantcholakov[/eluser]
1.
The approach you described is possible, but I am not a fan for it. I don't save all data in all languages at once. I use a menu on the left of the form that shows links for switching language of DATA to be entered. So the form permits only one language to be edited. When the language is the DEFAULT one, the form allows all the fields to be edited - those that need translation and those that don't need translation. On the additional languages fields that don't need translation I show as static information (non-editable).
The language of DATA I identify using a GET parameter - language=bulgarian, etc. (if this GET parameter is missing, the default language is assuned for data). The language of the USER INTERFACE I identify by using a URI-segment - bg/ etc. For the default language I have a configuration option to remove the corresponding URI-segment.
Briefly saying one click on the button "Save" is related on one language only. Why? Because of validation. If data in all the languages is saved at once, validation gets complex beyond my taste. And showing visually validation messages for all the language would be a tricky thing, I can't imagine how it could be done nice.
2.
Many CMS solutions claim that are multilingual, but the multilingual concept is something complex. Check for "gotchas". :-) Form what researched in the past, IonizeCMS has the most correct multilingual implementation, at least in my eyes.
I don't use ready CMS solutions that are publicly available, so I can not make the comparison you asked for.