How to set up a multilingual site in WordPress
If you want your site to be available in more than one language, you can set up a multilingual site. WordPress doesn't come with options for that so you have to use a plugin for creating and managing a multilingual site. There are many different plugins that can be used for that purpose. According to the similarities they share in terms of storing and managing the translations a few groups of such plugins can be described.
Plugins that Save Each Translation as a Separate Post
These plugins add each language version of the same post as a new post. For example, if you have a post in English and you translate it in French and Spanish, each of these translations will be added as a new post. Such plugins are xili-language, Polylang and Bogo.
The plugins will add more options to the add/edit form for posts and pages. With those settings you can assign one of the installed languages to each new post. When you edit an existing post/page there will be options on the form with which you can add a translation in any of the installed languages. Each of the plugins also comes prepackaged with a language switcher widget. When you enable that widget a sidebar menu will be added from which visitors/users on the frontend of your site can switch between the enabled languages. Only posts belonging to the selected language will be shown on the frontend.
Plugins that Keep All Translations in the Same Post
Such plugins save and keep all translations of the same post as a single post. When a visitor/user selects a language from the language switcher menu on the frontend, the translations in that particular language are displayed. An example of such a plugin is qTranslate.
Plugins that Use Machine Translations
With all the above listed plugins you or other users have to translate the posts/pages into the various languages. Plugins in this group use machine translations. The translations are performed automatically which saves a lot of time, but machine translations are not as good and accurate as the ones made by people. An example of such a plugin is Transposh. A very useful feature of that plugin is that once the automatic translations are performed they can be edited by you or other users.
If you want to, you can make each language version of the same site a separate site and thus turn a multisite into a multilingual multisite. You can do this without plugins. Install the languages that you need and then in the admin panel of each site go to Settings menu>General sub-menu and use the respective option to select one of the installed languages. For some more options and functionalities you can use plugins such as Multisite Language Switcher and Multilingual Press.
If you want each site in the multisite network (or some of the sites) to be a separate multilingual site with more than one language, you can use one of the above listed plugins that are used for a single multilingual site (e.g. Polylang, qTranslate). With their help you can manage each site in the network as a separate multilingual site.
For some more details check out the tutorial on how to create a WordPress multilingual site.