This always annoys me. I land on a site that’s in a language I don’t understand (say, Dutch), and I want to switch to something else. I open the language selector and… it’s all in Dutch too. So instead of Germany/Deutchland, Romania/România, Great Britain, etc, I get Duitsland and Roemenië and Groot-Brittannië…
How does that make any sense? If I don’t speak the language, how am I supposed to know what Roemenië even is? In some situations, it could be easier to figure it out, but in some, not so much. “German” in Polish is “Niemiecki”… :|
Wouldn’t it be way more user-friendly to show the names in their native language, like Deutsch, Română, English, Polski, etc?
Is there a reason this is still a thing, or is it just bad UX that nobody bothers to fix?
This should be a universal symbol. Like a flag in the corner you can pretty safely assume might be for language. And then yeah each language listed in that language.
Which flag do we use for English?
I won’t allow the stars and stripes
Usually services in English will have English (US) and English (UK). Sorry to all the other English-speaking countries out there, though.
🇮🇳 obviously.
Every time I make a tool like this, I try to wind up any Americans in the company by putting the US flag as
English (simplified)
and the Union Jack asEnglish
It’s a fun back and forth we have switching it between the two (inevitably someone makes a PR to put it back, and we go on)
Zimbabwe obviously 🇿🇲 ah fuck
I have seen at least one site where they used the English flag. Luckily I have watched the European Cup a few times and could recognize it.
Wow, the actual English flag, not the Union Jack?
I imagine that would trip up quite a few people even though there is a cheeky aspect of technical correctness to it.
Yes, the actual English flag, not the British flag.
Have different locales for uk and us
And I absolutely would not be able to resist labeling these as:
- English, U
- English, No U
because most web developers are morons :/
It’s more like “localization is hard and you have a week to add support for it”
Yes, this one. i18n was a three day training course at my last workplace, because things that seem really obvious if you’re an Arabic speaker browsing a Russian website, aren’t at all visible to the original developer who has their environment set to English, develops in English, puts all the frontend labels in a “messages” config file to be sent for translation by another department in another country, and will likely never even see the end result.
Valid comment to some degree, but putting language options in the selected language is always dumber than providing them in the only world language.
Nobody’s arguing that it’s the right way to do it, we’re just saying that breaking out words like “dumb” after the fact from the comfort of our keyboards, over problems that aren’t necessarily obvious at development time if you’ve not had i18n training, is kind of harsh.
The only thing I know about i18n is that it is an annoying shitload of language installer packages for both firefox and libreoffice ^^ That said, however, how you need training for a localization package to provide a language menu(!) - not the translations, mind you - in English, is beyond me. I can’t follow the point you seem to be trying to make. There’s no reason to not hardcode (in English) a language selection menu, and then display the list of available site languages (and these should be a country flag with the name of language next to it in what may be the language itself)
The languages in a language menu should each be written in their own language. So German should be “Deutsch”, English should be “English”, Japanese should be “日本語”, etc.
I can’t follow the point you seem to be trying to make.
The point is that it’s really easy to point at stuff after the fact like it’s obvious. Take for example your mention of flags; the World Wide Web Consortium recommends against their use, because countries aren’t languages, and so the use of flags to represent them is potentially contentious depending on what market you’re selling your product in and which flag you choose. Any screwup you make there would be really easy for some smartass to show up afterwards and say “well obviously you shouldn’t use a Taiwan flag to represent Traditional Chinese if you’re selling in China, dumbass, you shouldn’t need special training to know that… and while we’re at it, at least a few of the 8 million Ukrainians who speak Russian probably aren’t keen on identifying themselves in their profile with a Russian flag either”.
Again, and I feel like I’m repeating myself here, my point isn’t that you’re incorrect, it’s that getting on your high horse about it and calling people dumb is kind of a neckbeard move because every aspect of i18n has the potential to make anyone look dumb.
well obviously you shouldn’t use a Taiwan flag to represent Traditional Chinese if you’re selling in China, dumbass, you shouldn’t need special training to know that… […] at least a few of the 8 million Ukrainians who speak Russian probably aren’t keen on identifying themselves in their profile with a Russian flag either”
fair enough, that is a good point.
Again, and I feel like I’m repeating myself here, my point isn’t that you’re incorrect, it’s that getting on your high horse about it and calling people dumb
No, I wasn’t calling people dumb, I was calling “most web developers” morons, and I stand by that. Most web developers are morons. And the language topic at hand is just one of many symptoms of that. Way more annoying than that is that almost all websites have been fubared with stupid frameworks and interactive sites transmitting each keypress and reloading parts of the page while you are trying to use them / whatever was in your focus before. Interactive websites can be done right, but most of the time they are not, and it’s the fault of stupid marketing people and crappy web developers / designers who do NOT refuse to implement shitty marketing ideas.
The translators often have zero context and don’t know what the UI even looks like or what the software does.
You don’t speak dutch? 🤮
/S
Do I speak Ierland-ish? Mabey not, could be weird, but I got the one that must be Italian, and then I can pick English from there. Except I glossed over Groot-Brit… because Groot couldn’t be what I was looking for.
Ive had multiple situations on websites or in games where i accidentally switched the language to like- japanese or something and then had to fumble around trying to switch it back. On websites at least you can translate to find the right option but i recently installed a game on my steamdeck and the input was all screwed up, and while trying to fix it i accidentally switched the language and then navigated away from the menu. Trying to get back to the right setting with broken input and not understanding anything wasnt fun.
In an international context, not everybody speaks English. A Japanese customer wants to switch to French. Which language should the language picker be in?
Alternative is to put the flag of each language next to the name in the picker. That way, whoever doesn’t read the current language can at least pick by icon.
The label for the language picker is an issue, but the choices themselves? In the target language. You want French? You pick “Français”. You want Japanese? You pick “日本語”. You want english? You pick “English”.
Supposedly, if you’d rather have a website in a given language, you must have some level of understanding of that language, and picking its name should not be a challenge in any case. If you somehow change a site/app to a language you don’t know, as long as you can identify the language picker, you’ll be able to change to something you understand.
It does leave out the case of a user wanting to change to a language they do not understand, but I do not care for those.
Perhaps a universal icon for “pick language” would be helpful, like we have a icons for volume control and share. Good luck getting it adopted though.
Why not do both tho? Like "日本語 (Japanese)” So that if I fuck up my languages for some reason, I can turn back
But you can. Hopefully, you know how your language is called in your language, right?
We’re saying, don’t translate the language’s names at all, use what the speakers call their own language.
English is always “English” regardless of UI language. French is always “Francais”, Then you can switch to any language you can read
Yeah, and the comment you just replied to said: why not both? Language name in language up front, and language name in current language in parens. I think it’s a neat idea and absolutely would support that as a standard.
My big question would be what would that add? If you speak Japanese, Spanish and French, 日本語, Español and Français would give you all the information you need. Adding the language name in a second language would increase the work to do, while also not really providing any benefit that I can see. If you manage to change the language to Spanish, or are using somebody else’s device, “English” is no less helpful for you than “English (Inglés)” would be.
Easy enough. Tells you what languages are supported. Also helps you debug a bad language label. Although does have the disadvantage that you still need the name of every language in every language (the existing state) and you don’t get to suddenly sqrt your data requirements for storing that
Have the language in the current language setting and the target language native tongue so you would get フランス語 / French “Alphabetic” sorting would be difficult, so it wouldn’t be perfect, but at least a lot more understandable. Still, just having a search option would fix that easily.
The annoying thing is, you can’t put an image in the default select from browsers. So you have two choices :
- Make a custom select -> it’s complicated and will break on some machines.
- Use emoji flags -> windows do not have an image pack for flag emoji, and chrome didn’t bother implementing their own (Firefox did), so it displays the initials instead.
So whatever you do will not be universally supported, thank you Microsoft.
A Japanese customer wants to switch to French. Which language should the language picker be in?
日本語。
Which language should the language picker be in?
the language of the listed language. Lots of language switchers do it that way
The language selectors in the system I have built are either English or native. And I can tell you, implementing and verifying over 100 languages in their native writing is quite a challenge.
If people really insist then at least have a flag emoji
No, flags for languages are a bad thing.
- If you put a Swiss flag, what language would it be? (They speak 4 languages in Switzerland)
- What flag would you use for English? The UK? The US?
More details here: https://localizejs.com/articles/why-using-flag-icons-can-confuse-your-users
You use both obviously
Like this?
🏴 English
🇺🇸 English (simplified)
that’s all fine and dandy until you get a porch of geese angry at you for using the brazilian flag or vice versa
They’re going to hiss at me aren’t they?
Perfectly comprehensible if you speak english, look:
I think i’ve had a stroke
Is that real?
It’s Dutch uwu speak, but the real version would not be much better: “Oeps! De trein is stuk. Wij zijn heel hard aan het werk om dit te maken. Misschien kan je beter fietsen.”
(Oops! The train is broken. We’re working very hard to repair it. Maybe you’d be better off biking.)
Dutch uwu speak
Logically, it makes sense that this exists, but still not something that I’ve ever thought about.
No
:(
owo
I’ve seen language switchers with translated language names that were sorted by the English name. So “Deutsch” was sorted under G.
Out of curiosity, would you put Deutsch before or after 日本語?
Since we’re using Unicode we sort by first on left to right or last letter on right to left languages by their code point
Before, since D and G are both before N and J
I think his point was that they are using different alphabets, and therefore can’t be sorted “alphabetically”… there’s no N or J in 日本語. In order to sort alphabetically, we would have to pick an alphabet, which will in some cases contradict the alphabet of the language’s native speakers.
Haha, to avoid exactly this conundrum we prefixed languages with their iso code in a dropdown. So DE - Deutsch or EN - English.
What language would you sort them by?
If everything is displayed in the same language then sort by the displayed language. You don’t want to have to search for Spanish near the E letter because it’s sorted by the original espanol in the background since that’s not what you as the user sees.
And if they’re all displayed in their own language?
byte order, nobody is happy but at least it’s sort of equitable
Byte order in which Unicode encoding? UTF-16LE?
Yeah that happened on Microsofts knowledgebase sites for years…
So annoying. But cant blame such a small company for not fixing that, they probably couldn’t afford to fix it /s
It’s not my fault if the Scrum Master can’t provide a proper scope in the ticket. They said change the names, not the sorting.
The scrum master is not a product owner and shouldn’t be providing scope or anything for that matter in tickets. No wonder agile is hated and dying, it’s been corrupted beyond recognition by people who have no reading comprehension.
No wonder agile is hated
I think that the basic ideas are reasonable. Keep in touch with your team and evaluate the current situation, track progress, stuff like that.
It’s just that the excessive codification of the practices becomes overbearing.
The product owner often doesn’t understand technology well enough to know that mapping labels and sorting are different. They don’t know what they don’t know. The SM needs to help bridge that gap.
Just bad UX design. Typically this should include flags or the language’s name in the language if they really did a good job.
What flag is for English? What flag is for Portuguese? What about Austria, do they got a language? What do we put under Chinese flag, Mandarin? Where do Cantonese go? Oh, what about Belarusian? There are at least three options, and two could get you in jail, choose carefully.
I’m just telling you what I’ve seen used. Typically it’s a lot of European flags for languages that originate in Europe. So UK for English, German for German, French for French, Spain for Spanish. Belarusian would be the flag of…Belarus? Not sure why that’s a challenge.
To your question about China - What should be used for Swahili? What should be used for Yarouba or Hausa or Shona or Chewa? Africa is the problem, and so the typical method for doing this is very Euro-centric.
What flag do you use for english ?
🏴
Best answer up to this point
UK.
Use the UK flag if the site is in English and use the American flag if it’s in Webster English. Seems pretty evident to me.
A split combo of the two is pretty common.
English is an official language in 53 countries, and primary language in 29. You can attempt to split it, but that wouldn’t be very pleasant picture.
Flags don’t represent languages and therefore shouldn’t be used to represent languages.
Typically they’re used for the counties where the language originated.
UK for English France for French Japan for Japanese Spain for Spanish Russia for Russian Portugal for Portuguese
No, typically they aren’t, and if they do it’s a bad idea. Only 4% of L1 Portuguese speakers live in Portugal. There is 4 languages in Switzerland. German originated in at least 3 countries. USisans will throw a hissy fit if they will have to click on anything but their favourite star spangled banner for their language.
It’s a mess.USisans will throw a hissy fit if they will have to click on anything but their favourite star spangled banner for their language.
I thought you were trying to convince us not to use flags
I’m not saying it’s a good idea, i just see it a lot. Maybe I’m only paying attention to this in Europe, where it’s a bit more clear-cut, rather than tracking down population data to select a template option on a website for something like a cafe menu.
Flags don’t make sense.
Otherwise this is completely valid:( ) German 🇧🇷
( ) Italian 🇧🇷
( ) Japanese 🇧🇷Tell me… Where did, roughly speaking, German originate? Germany, perhaps?
Does Germany have a flag?
Not sure why this is some sort of hidden secret code.
German language as we know it now, predates Germany by at least 500 years, originated, roughly speaking, in the area that is now Germany, Austria, Switzerland, and in small part Belgium and Netherlands.
It only simple and easy if you don’t know about it and don’t care. But people who use the language, surprisingly, do care.Please try and look at this as a reasonable person.
Do you go to Italy, see a QR code on a table in a cafe, and berate them about their online menu showing an Italian flag, but the Italian language predates the Italian Republic?
It’s simple because this is someone coding a site in one language, and then likely running it through Google Translate to get other options. Maaaaybe with a single human reviewing it of they’re lucky. But likely not even that.
Not every website has a translation team of 20 or 30 PhDs working to ensure optimal linguistic understanding and anthropological and historical accuracy. Likewise, no, I’m very sorry to tell you that people very often don’t really care about others. If pay 3 people in India, or ask an LLM, to code a website with German translation, either the drop down will say Deutsch or it’ll say that and have a German flag. What should Austria have, a tiny picture of Mozart but the site is still just German?
There are some German dialects that only survive (barely) in Brazil.
And the German language is much older than Germany.
German dialects are still…German language, yes?
They are more different than any of the Englishes are from each other
Because they didn’t think it through.
The reality is, it varies.
I just opened the language picker on the first site I had in my browser tabs (happened to be Epic games) and they display the language list using native names for the target language, rather than current language.
I agree it’s much better to do it this way.
As a developer, why it doesn’t happen sometimes could just be by accident. If you intentionally set out to localise a site and put all text and menu elements into localisation files to be translated, then the country names are going to end up getting translated too. It takes conscious thought and UX design to realise that it’s better for accessibility if that one part of the site is actually just static text, regardless of what language is selected.
And before anyone suggests using country flags in your language picker as a cool solution - please don’t, because that sucks too. There isn’t a 1:1 relationship between countries and languages and so the flag approach is a flawed compromise at best, and actually insulting at worst.
Yeah okay but imagine clicking the option with an Israeli flag and suddenly the website is in Arabic. That’s too funny to pass up.
Probably not so funny other way around hah
It really isn’t funny either way
There’s plenty of examples of software doing this right and displaying each language in the selector in that language, it’s hard to say why they’ve localised it here. Most likely they just didn’t consider how the user interacts with that element and localised it the same way they translate everything else, but that could be down to anyone from the developer habitually running everything through localisation to company policy where they couldn’t get an exception for that element.
You’d have to ask support for whatever software you’re using for more detail, chances are you won’t get anything useful back but if you’re lucky they might fix it.
This is Fairphone’s website. I’m not that anal about it, doesn’t bother me too much, but I did see it on several websites, and I’m just confused…
Since Fairphone is Dutch it kinda makes sense they’d make this mistake. I suppose if you’d e-mail them about it they’d be open to making the change. They’re probably not even aware of it.
It gets more difficult if even the script is different. I once installed some Chinese app that would put the language picker in Mandarin and their symbols. I really didn’t know how to change it to anything I could understand so I’d go by all of them one by one until I found a language I understood.
Eh… why would including English help?
Ideally you keep each language in their own language so it can be recognized by native speakers. Flags help. Adding English to the native name… does not.
And of course if you’re selecting a country, not a language, then it makes sense for the country list to be in the language you have selected. Why would you not know the names of countries in the language you chose for the interface? As somebody points out below, those are not language names in the screenshot.
I’m not saying it should include English, I was just using it for clarification. I think each language / country should be in the native language.
I only realized the list is a region selector after it was pointed out to me. Maybe this proves my point, I didn’t know what the button I pressed was for :) Having the region/country name in the website language does make sense. Language names however…
Flags do help, but there are none in this example (mobile or desktop version). Sometimes flags can be confused too (Romania, Moldova, Chad).
I don’t have a solution, and I’m not the usual ranter, I mostly post in the cooking community :)
Yeeeah, I don’t know, it’s an interesting UX question. For language selection, sure. For country? There are plenty of reasons why you may need to select a country name and not be clear on the native spelling of its name. Plus how do you end up in a country selector list in a language you don’t understand?
I’ll say that flagging the language selector for international users is even harder than the list itself. If you don’t have an icon for it in particular. You can make the name cycle, but depending on where it’s at it can be distracting or impractical. Accidentally changing the language to Hungarian (which may as well be an alien language, for how unrecognizeable its roots are if you don’t speak it) was one of the few times I ended up having to delete a config file just to be able to use a piece of software again because I just could not find the lanuage selector after that.
Plus how do you end up in a country selector list in a language you don’t understand?
By clicking random buttons hoping to find the one that changes the language to one you can understand?
Sure, but that’s a problem with the language selector setting, as I said above, not with the country list.
this is what he is saying actually