Since forever, my CMSs have asked for a Language Code in order for consumers to place different translations per text Key. Also, the CMS takes Country into account for the sake of altering product availability, Currency, Date formats, etc. Edit v. Mike But the website text is always based on a Language Selection chosen by the visitor, and has little or nothing to do with their country.
For some reason, a client has asked that their CMS be updated so they can provide translations for all combinations of Language/Country including:
As far as I can tell, Angular Translate only takes a Language Code into account, not a Country Code or Culture-Code.
So how common is it that Web Translations take Country/Language into account instead of just Language? And what frameworks handle that? I specifically use C#.NET and AngularJS Translations
This answer is somewhat a template which describes my understanding of my answer, but also allows other answers to key off of what I'm looking for, and argue against some of my points.
I am American and I speak English. So my experience is limited (in many ways). But I believe this:
Internationalization means my website can differ based on a Visitor's Location. It can differ in many ways, such as:
In this case, I am ONLY Talking about Text. So basically just Translations.
I note that I DO take Location into account for all other things. And that I do take Language Selection into account so users can select their language. But I currently do NOT allow them to select something like:
That is because Japanese in Japan and Japanese in Germany are the same thing, as far as I know. And English in Nigeria and Germany are the same as English in the USA and Europe...
EXCEPT I realize that some spelling color / colour
and some grammar are slightly different. But how much different? Enough to change from the scheme of hiring ONE Translator per language to MANY Different Translators for special dialects based on region?
As far as I can tell, it isn't common in web development to break down to those minute differences. And while using a framework such as AngularJS Translate, it only asks for the Language Key to be passed around (AJAX'd in my case). Granted, I could easily make that language key say "FartFace-McButterEater" if I wanted to, but that isn't the intended use.
So while other answers might include other frameworks and examples. I'd say that those are off-cases and rare in the scope of the web.