The API can't solve this for you, also if I'm getting your request right, you basically could have the following BluePrint:
[ 01 Master Content ]
| [ 02 Translated Content ]
[ 03 Master Site ] |
[ 04 Translated Site ]
Now the Component is created in 01, the Page in 03, the Component is localized in 03, and used on a shared Page in 04.
What the API can do for you is find the Page in 03, because that is where the page is created and where the Component is used. It can also find you the localized Component in 02, because that is not a shared, but a localized item.
But the API can never find the Page in 04, because it simply doesn't know about that, there could be a lot of Publications in that BluePrint where there is a shared Page where a shared Component is on, but the API doesn't know what the URI of the Publication is that you consider the translated website.
Actually to solve this task, you need to feed your algorithm with some knowledge about your BluePrint. When you add a mapping between Content and Site Publications, you can resolve the Page using URI manipulation.
Let's say that Master Content has
tcm:0-1-1, Translated Content
tcm:0-2-1, Master Site
tcm:0-3-1 and Translated Site
When you query for the Page belonging to a Component in
tcm:0-1-1, you automatically get a Page in
tcm:0-3-1, so that is a simple task, you have the right data. But when you ask for the Page to a Component in
tcm:0-2-1, you will get back the Page in
tcm:0-3-1 (since the shared item in
tcm:0-4-1 doesn't really exist in the database, it is just a "view"). Now if you have a mapping saying that when you look for the usage of Component from
tcm:0-2-1, it should return items from
tcm:0-4-1. Then you can simply manipulate the Publication ID in the URI of your Page (remember a Page in
tcm:0-3-1 will have the URI
tcm:3-xyz-64, with the Publication ID as the first part of the URI, change it into
tcm:4-xyz-64 and you have the Page you are looking for).
Now this will become more complex depending on the complexity of your BluePrint. But that is the only solution I see for this, your code (the algorithm) needs knowledge of your BluePrint, which isn't clear in the CMS. The CMS only knows parent/child relationships, and not what you use the Publication for (even the Publication Type currently doesn't help you here yet).