how to enable and support multi language

I like to set up the website to support multiple language, it should be site wide language support, not the language for different course, so it should be one choice tab to choose the different language for user from different region. Really has been confused by different solutions on google, please share with me your experience if you have done the similar task, thanks.