Context: We've got a website which is available in multiple language versions. However, the content is the same. Each translated version of the site is available on a distinct subdomain.

On some pages, we use <link rel="canonical" /> to point to canonical version in the same language of the same page if necessary. This is just basic normalization stuff, in this case ordering of tags.

The problem is, we could have a page where a <link rel="canonical" /> is present for normalization and additionally a bunch of <link rel="alternate" hreflang="XX"/> tags to point to different translations.

What does Google do in such a case? We do not want to be punished for duplicate content, but do not want to lose the different language versions of the page in the Google index.

We've searched a lot and couldn't find anything which addresses our case and some resources were confusing about this topic.