i18n_sync and i18n_helper

in

Our application has translated nodes with certain common fields synchronised using i18n_sync but we want the translation source node (in our case in English) to control these values and for them not to be editable in translated nodes. A real world example of this problem would be a product content type with stock code common to all translations.

The application has complex content types with 30 or more fields per type. Some of these fields should be common to all translations. Internationalisation ships with i18n_sync which synchronises certain fields across all nodes in a translation set - these fields are chosen in the content type edit form.
i18n_sync changes the value of the field across all nodes in the translation set whichever node is edited. In our application the English node is considered the master node in the set and for usability reasons we want to restrict editing of the common fields to the English node.
Internationalisation Helper (i18n_helper) is a new module which addresses this issue by making the fields hidden or read only in node views and node edit forms for translated (non-english nodes). The module should work equally well for nodes which are the translation source (tnid) even if they are in another language.

Bug reports are welcome at the module issue queue. Feature requests will be most welcome if accompanied by a patch!