How to only show translated fields in an additional locale? I'm using the localisation feature for the first time, and I'm not sure if I understand its rationale.

On a site with entries that have multiple fields, I only have the main body text set up for translation. If I switch to the secondary language in the control panel, all fields are displayed and pre-populated with the contents of the main language (but according to my understanding, they're just pointers and not duplicated in the database). 

Why are the non-translateable fields not set to disabled, marked up otherwise, or even hidden completely? Is there a way to do so?

(My concern is that my client can't identify which fields need to be translated, and hereby overwrites a non-translateable field with the secondary language.)
The fields that are not marked for translation are duplicated and synced between the different locales. So if you make a change in one locale, it will change it in all. This is different from saying that they are only available in one locale, which isn't possible in Craft.

Removing/disabling them in "secondary languages" isn't possible, and doesn't make sense since there is no "primary" or "secondary" languages in Craft. You can choose to publish an entry in only your "secondary language" if you want, and when doing so you'd probably want all fields to be editable.

But, I see your point, and I've had this dilemma myself. What I did was put the fields that weren't translatable in a separate tab (you could of course do it the opposite way, put the fields that are translatable in a separate tab). That made sense for my client, at least, but I guess it really depends on your project. :)