It is *just* about improving the source code?
It is about providing Translators' comment or precise context to the
confusing source strings in the source code of the application so that the
resultant pot/po files have that context and it becomes easy for the
translators to translate the confusing strings.
By doing that, I think you go to improve the way strings are defined also.
For example "a string" "could be spread" "in many" which
result on
something not translatable is some languages.
There is already a Transifex feature which can help provide context
without having to edit the source code.
If Transifex has this feature, we would like to know more about it because
this can be a more direct solution to the problem. :-)
What seems to do the trick is
http://support.transifex.com/customer/portal/articles/1188235-comments-on...
one can comment a string (to all translators, but in the language he
choose), and event report an issue for his team or the developer (I
don't know if they listen to us...)
Of course, there is no perfect solution, but checking every project
sources might be a huge work. (with no end)