I’m not so sure about the manual button thing. I would personally probably forget to click it sometimes and sometimes I would click it but forget some fields. Then I still need to go back to see where I clicked the button and where I forgot some translations.
Maybe my original idea is the best I can think of after all:
A page is translated if all the fields in
diff is not equal to the original language. Skip when
false (even if in diff list).
That way you flag what fields that needs to diff from one language to the original. You would probably add textareas and input text to that list, but probably not select boxes or prices in there.
However I like the states red, orange and green. I think that make sense.