Would you be comfortable to set up a cookie preference once a user switch language without changing the actual url? (E.g. a user on site.com/us/ who switch to French would stay on site.com/us/ in French).
I have sites in three languages (English, French, Spanish) but without attempting to localise each. I suspect that getting SEs to treat the subdirectories as different localities will be your greatest hurdle.
Cookies are problematic but most likely doable depending on your market audiences. Bots will mostly ignore cookies. Google bots increasingly (past several years) pickup cookies BUT as they usually are not traversing links the results tend to a mash of yes, no, maybe, depending on cookie purpose(s) and specific bot behaviour.
I'd suggest seeing how detecting and serving pages - initially - based on browser language preference, setting a cookie to that and if/when the visitor chooses a different language adjust cookie and language accordingly.
Historically and currently Google treats pages in different languages as different pages. Having a URL available in multiple languages may, therefor, be a problem.
Note: I've never tested this.
You might get around this by appending a language parameter such as Site.com/de/page?en-gb. Bad idea, see following comments.
Disclaimer: I've never tested this. Caveat emptor.
I detest using scripting for site critical and site important features such as language selection. And doubly so for scripting frameworks. While one can get away with it with most mobile users it adds an unnecessary overhead that slows and can kill connections (especially if 3rd party hosted). And, it can mean that a negligible to significant desk/laptop audience segment either leave or have a less than optimum experience.
---depending on how widespread and where/how it is used.
Note: that AngularJS is mainly maintained by G but, you say, not crawled by G should be a warning flag of concern.
Note: using subdomains for countries and subdirectories for language may be a cleaner architecture.
Which brings up the question of just how you are getting the various language translations? If via a software translator you will irritate almost everyone at some point. Especially if you are providing as granular an option as American, British, Australian, etc.
Edited by iamlost, 22 February 2016 - 12:38 PM.