From Google Webmaster Tools Support page on Multi-region and multilingual sites
Managing multilingual versions of your site
Make sure the page language is obvious
Google uses only the visible content of your page to determine its
language. We don’t use any code-level language information such as
Lang attributes. You can help Google determine the language correctly
by using a single language for content and navigation on each page,
and by avoiding side-by-side translations. Translating only the
boilerplate text of your pages while keeping the bulk of your content
in a single language (as often happens on pages featuring
user-generated content) can create a bad user experience if the same
content appears multiple times in search results with various
boilerplate languages.
Use robots.txt to block search engines from crawling automatically
translated pages on your site. Automated translations don’t always
make sense and could be viewed as spam. More importantly, a poor or
artificial-sounding translation can harm your site’s perception.
Make sure each language version is easily discoverable
Keep the content for each language on separate URLs. Don’t use cookies
to show translated versions of the page. Consider cross-linking each
language version of a page. That way, a French user who lands on the
German version of your page can get to the right language version with
a single click.
Avoid automatic redirection based on the user’s perceived language.
These redirections could prevent users (and search engines) from
viewing all the versions of your site.
Carefully consider your choice of URL
Google uses the content of the page to determine its language, but the
URL itself provides human users with useful clues about the page’s
content. For example, the following .ca URLs use fr as a subdomain or
subdirectory to clearly indicate French content:
http://example.ca/fr/vélo-de-montagne.html
http://fr.example.ca/vélo-de-montagne.html
Signaling the language in the URL may also help you to discover issues
with multilingual content on your site.
It’s fine to translate words in the URL, or to use an
Internationalized Domain Name (IDN). Make sure to use UTF-8 encoding
in the URL (in fact, we recommend using UTF-8 wherever possible) and
remember to escape the URLs properly when linking to them.