I’m of the opinion to not worry about it and just use the flags. It’s enough effort to properly internationalize a site and keep it maintained. That it’s available at all is a huge effort. Debating flags vs a drop down with languages is nitpicking IMO.
Plus, when the language codes include a country it’s a natural UI decision.
EDIT: Supporting multiple languages increases the complexity of the entire development pipeline. Translation teams are brought in, translation tools are brought in to support in-code language as well as translations in the database itself. Every new text snippet needs to be translated to each language to deploy it.
Your search features get more complicated, date formats, number formats, currency, collations. Every language you add increases this complexity. Because of that, you will represent a language with a primary country and not every language spoken in that country. On the chance that a company has opted to go all in to support region specific dialects of languages where 100+ choices will be listed, then no…of course flags wouldn’t work. But in most cases you’re lucky to get 2 languages at all with potential for a couple more for all but the largest of companies. Virtually every other site is just going to use one and churn out some Google translations or ask you to do that yourself.
After considering all that, yes…just use flags.
If I choose the flag from the Netherlands to get Dutch, I'll probably be confused by a whole bunch of terminology since the dutch of different countries differs vastly more than the English from different countries.
"People who complain about flags are nitpickers" is a perfect way to say "I grew up in a gigantic monoculture where you can drive 5 hours in any direction without encountering a different language, if you ignore the natives"
As a US citizen I often visit sites that use a British flag to represent English. I don’t bristle because there’s not a US flag or question whether the US flag should also be referencing Spanish.
It’s just a detail to draw your eye that otherwise holds no importance once that is accomplished.
Belgium is an exceptional case but I'm sure you can find more.
Or take "poepen" which means "to have sex" or "to take a shit" depending on which country you are in.
I frequently have to ask my friends from the Netherlands to clarify something because, even though I hear which word they're using, I have no idea what they mean because the words mean something different or are just never used that way in Flemish.
In the specific case of Taiwan, if you want to maintain good business relations with normal civilians on both sides of the straits you need to represent Taiwan as a state to Mainland China IPs and represent it as a country to Taiwanese IPs and most of the rest of the world.
I'm not advocating any particular political view, this is just the technological fuss you have to go through to maximize the number of happy customers. So sometimes it's much easier to just forget the flags, state the language and currency directly as text, and skirt around these issues.
As for language selection, I really don't think it's necessary to beautify it UI-wise. Pick based on the user's Accept-Language header and 99.99% of the time you'll present it exactly as the user wanted without them having to select anything. You can then implement a text-only language selector somewhere in a less conspicuous place, such as the footer, than polluting your navigation header.
To explain, let's turn it around. Assuming you also live in the US, imagine a EU company would make the following assumptions that are common (to the point of feeling entirely "natural") in lots of European countries, but wrong in the US, and think about how that could impede you in varying business situations:
* There is only one time zone in a given country.
* VAT and other sales taxes are the same over the whole country (and therefore just included in the display price).
* Every debit card, credit card etc. has a PIN, and a common API to the bank for card/bank-specific verification.
* Every bank account is identified by IBAN, even across countries. Wiring money is always free.
* Decimal separator is universally "," and grouping is ".". (Bonus: Let's instead be in an Asian country where it's common to group digits by 4 instead of 3.)
* Dates are always either in order "DD MM YYYY" or ISO YYYY-MM-DD. In the case the year is omitted, "DD MM" is assumed and no clarification is ever made. Your appointment is 4.5., thanks for doing business with us! Sincerely yours, noreply@example.com.
* Car-related business: You have to be at least 18 to drive a car (and have spent the equivalent of thousands of dollars and many hours of mandatory theoretical and practical training). It is illegal to drive a car more than 2 years without a thorough inspection that forces you to fix even minor things (Autobahn speeds are dangerous), so old cars are uncommon. There are special enthusiast registrations for so called "oldtimers", but that still requires extra maintenance.
* Gastronomy-related: But you're allowed to drink beer at 16 (was at least the case when I was that age), anything else 18.
* You have to use/publish your real name, address, and other information mandatorily in a lot more situations (e.g. when hosting a website of any kind--imagine a business enforcing that for all customers).
You may find that if you want to do business internationally at all, you have to start caring about those things.
If anything, I cared a lot more about getting it right than anyone else but it is a lot of work.
My point is that with all of the work a company has to put in to even make a proper language choice available, complaining about flags is literally just finding a reason to be bothered.
It’s like somebody built you a house just how you wanted it, but you latched onto the color of the front door to complain.
So yes, 100%…if flags make your site look better just use flags and ignore the noise. If you want to do it a different way, do that. You’re investing the time to get it right, you don’t have time to deal with petty complaints about the selection box.
Un-natural UI decision then if a language can exists in more than one country, and one country can have many languages?
I agree that flags aren't great, but I don't know of any other solution to this problem.
Once there, given that the language list itself is in its own localization (or that iso codes are used to represent them, or both) you should be able to pick yours just fine.
Iconography is required.
Why not use full language names?
I am very tired of seeing one flag represent my language where that is the newer nation using that language as national language. But that language is spoken for a thousand years or more in other regions.
I'm not disagreeing with your general point, but I'm curious: What language is over a thousand years old and still recognizably the same language?
Although in fairness, it does now come down to a semantic argument about what counts as the same language, and I acknowledge that a reasonable person could disagree with my narrower view.
This is...difficult to read, but once you realize that þ == th, it's semi comprehensible. Looking up some Middle English on Youtube, it's also semi comprehensible. I doubt I could have a deep philosophical conversation with an ME speaker, I think we could make eachother understood.
I really enjoy Jamaican patois for this. Arriving there, try as hard as I could...I couldn't understand a single word of it, even though it was ostensibly "English-enough" that I should have been able to. The first 5 days spending time in groups speaking the local language felt like anywhere else that I couldn't understand -- Saudi Arabia, Portugal, Guatemala, etc.
Right around the one week mark, something just 'clicked' and I could understand pretty much all of it as if it were regular English except for the true slang. Really felt like "dialect" on the cusp of become "language". Very cool spot for a language.
Latin.
If I end up on the page in a language I don't know, then how would I find the language selector?
I agree that flags aren't great, but I don't know of any other solution to this problem.
And language codes should be given in ASCII. Someone not native has a slight chance of not knowing what fr is, or bn is, or nl is, but, a native, or someone who speaks the language will always know.
This:
https://www.w3.org/International/questions/qa-lang-prioritie...
Use the user locale. Expressed as a geographic region (which you can use to compute the best possible region to serve the user from) and a language (used to render the page).
If you do it correctly you can support weird combinations, such as a German speaker living in California (expects prices in USD). Or the country of Switzerland (one territory, 4 official languages).
Localisation basically never has a simple “we should just…” solution.
Language comprehension is unnecessary when all you need to do is recognize a character.