I have a node type called Match. Each match have two entity reference fields that points to two nodes that has the type of Team. I built a view and use the relationship to show the matches and the information of the host team and guest team and it's fine. My problem is that the Team node is multilingual and I want to show the translation of Team fields in the view. It is obvious that the fields has a reference to the original untranslated node ID and when I use the relationship in the view it will grab that node even if it has translations.
You can use the Translation redirect module (part of the Internationalization module) if your users are anonymous (unauthenticated). It just issues a 301 redirect whenever translated content exists.
If your users are logged in then there is another approach I have used, use an URL alias for your nodes. Set the alias to be the same for all translated content of a node and when linking to that node use the URL alias instead of the node number.