Setting up multilingual Drupal site
Drupal provides easy and fast way to share content in different languages. All you need is the Internationalization module, which is actually a set of various modules like menu translation, profile translation, taxonomy translation, views translations and others.
1. Install and enable these modules including the core Locale module. Then go to the Configuration >> Languages and add new language. From now on you are able to make a translations to your content.

2. Assume you have a node in English and you want to translate it into Portuguese, open it in edit mode and change Language option from "Language neutral" to "English". Save the node and new tab "Translate" will appear.

3. In the Translate mode add new the translation in the language you want

Translate the block
It's little tricky to translate the blocks: go to Admin >> Site building >> Translate Interface, open a Search tab and set the "Limit search to" option to "Blocks", press Search button. Page will show you all of the blocks you have for translation.

Setting up frontpage by using Views
It took some time for me to find out how to make a frontpage multilingual by using Views. The solution is Views Filters: just add new Filter "Node translation: Language" to your frontpage View and "Is one of" operator to "Current user's language". Update the new Filter, save the View.
