I have never seen a site that was effective in addressing multiple languages in the same site. All serious implementations of multiple languages seem to use a site per language and this is what I would do. I would probably link the sites together using flag icons in the headers of each site but they would be independent sites. Still nothing prevents you from doing it in a single site if you want to make pages in different languages the content system will allow that.
However resource strings such as button and link labels etc come from localized resource files. By default the language preference of the user's browser will determine which resource files is used and will fall back to en-US if no resource is available for the browser language. This is configured in the globalization section in web.config as auto:en-US, which means try to automatically use the language of the browser but if no resource is available fall back to the default language of en-US. If you put something other than en-US for the default you must make sure there are no missing keys in the resource files for your default or it can result in null reference exceptions or blank labels and buttons.
If you go with the multi sites approach you can specify a language per site (for the purposes of resource files) as indicated at the bottom of this page: http://www.mojoportal.com/localization.aspx, but again this only determines which resource files are used and if the resource files for the specified language have any missing keys it can be a problem.
Hope it helps,