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
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)
🇮🇳 obviously.
Zimbabwe obviously 🇿🇲 ah fuck
Have different locales for uk and us
And I absolutely would not be able to resist labeling these as:
- English, U
- English, No U
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.
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.
The translators often have zero context and don’t know what the UI even looks like or what the software does.
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.
You don’t speak dutch? 🤮
/S
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.
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.
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 (“nihongo”) and J (“japanese”)
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?
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.
The most recent update to Libre Office reset my UI language to one I don’t know well enough to recognise. I uninstalled and reinstalled it.
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
I mean, if they insist on everything being in Dutch then at least include a flag. If you’re going this deep on the UK obviously having the list in the native language is preferable.
The reason for the list above being all in Dutch might be because it’s a list of countries, not a list of languages. (I speak some Dutch)
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?
It would be way more user-friendly to use the language in the HTTP headers. As a web developer the fact that websites are too stupid to do this really grinds my gears. This is just as bad as assuming the language/region from the geolocation of the IP address.
C’mon guys…
It wouldn’t be too much work to hook the request language up to a CMS and then a translation service. You could produce in a couple of popular languages upfront and then when someone with a new language visits a landing page, translate it at high priority (few seconds), then the cascade the next most likely click-throughs in order of popularity (or callout weight if it’s new). The translations can then be queued for review, and it will mean you only translate when you need to, and the user only experiences a second or so delay as the translation streams the content above the fold.
the last one piss me off so much, especially when they redirect you and you don’t have anyway to load the English version…
Even worse when a version is actually different. I had to check the US prices in a store once, it decided “nah mate, your IP’s not American, clearly you’re a bloody idiot, here’s your native version” and even when I manually changed the url to US English, as they did languages based on part of the path, it still decided clearly I must not know what I want. I couldn’t even try to infer the price, as the product didn’t exist on my version of the site.
And aside from that and language pet peeves, what if you’re on Holiday? Or live in an area that speaks a lot of languages close together?
As Cousin Mose said, the language is in the header, the fact that some web devs decide the IP address is clearly a better way to figure out what language you want is insane
It’s like all the developers in the field got handed access to some IP dataset and they’re just looking for reasons to use it. Screw the users I guess?
The customer gets what the customer wants.
I’ve tried countless times to convince them to just use the browser locale, but most of them somehow keep insisting on using geolocation…
My Pixel started giving me distances in miles once because I had the system language to English. I needed to change it to English (German) to show me meters. I don’t know if they reverted that but at this point I am too afraid to change it.
My pixel set to Australian English works fine in metric. I presume you chose British English where they use miles rather than kilometres, of course that works for me as I also want Australian spellings
I have my Google Account set to English, but YouTube still autotranslates all video titles of newer videos to German for some reason…
That’s just how locales work. When you set the language, you also get the associated date/time representation, unit system, etc
But you should be able to set the locale separately from language. You can easily do that on any Unix/Linux system. In your locale.conf, set LANG to your language and all other LC_* variables to your preferred locale.
Systems that do not allow this are badly designed. For a lot of multilingual people, locale and preferred language are independent.
Yeah, Japan as a country uses kilometers, and Rawhide Kobayashi has an easier time reading things on his phone in Japanese, but his heart craves the measurement units of his true home, Texas.
Yeah but it didn’t say locale or location, it said system language, that is what i was confused about language =/= location.
And that is just an example of horrible UI. Locales should not be tied to those things. Maybe set the defaults but not forced.
Yes, but it doesn’t solve the problem. Even when a website does that, they might still have a switcher to let you override.
We do both.
A) use the language set by the user in their os/browser B) switcher shows the language name in that language
Done, easy, etc. IMO the hard part are great translations and designs that work in languages where every word is a novel. And yet, here we are.
deleted by creator
I’m pretty sure nobody’s doing that based on geoip. Client-side, the browser exposes the user’s languages choices. And server side, the HTTP header can help. But geoip is totally unreliable, even a broken salesman would not sell that as a feature.
Well ok they would sell it but get a very heavy glance from the dev team.
Have you used the web and/or VPN lately? I send the language header but am bombarded by content in the wrong language all the time.
YouTube (and Google in general) has been horrible for multilingual users (and users who want to see content in a different language than the default for whatever country they’re browsing from) for quite some time, but lately it’s getting downright unusable without untranslator browser extensions.
Accept Language headers are sadly an easy browser fingerprint. I therefor have it set to English even though that’s not my native language.
There’s also the case where you might have misclicked when changing your language, so your argument isn’t really a complete solution. It just helps but doesn’t fix the main problem.
If you set your language on a website what’s the difference between them using the header versus using the selected language for fingerprinting?
I understand what you’re saying but even I, a person who splits all their traffic between three different VPN tunnels and goes way too far with DNS blocking don’t really care about fingerprinting based on language.
If the person really cares so much they can set the browser language back to English then manually change it on each website they visit. We shouldn’t punish everyone on such a silly privacy preference.
Edit: Yeah of course just downvote me, don’t bother to engage in any kind of dialog.
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 (screenshot attached)
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 language 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 single 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
I mean if it was done accidentally then the sheer shitshowyness of that blunder would be pretty funny to me
Because they didn’t think it through.
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.
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
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
But you can. Hopefully, you know how your language is called in your language, right?
Which language should the language picker be in?
the language of the listed language. Lots of language switchers do it that way
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.
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.
A Japanese customer wants to switch to French. Which language should the language picker be in?
日本語。
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.
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.
What flag do you use for english ?
🏴
Best answer up to this point
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.
UK.
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
Can you show me an example of a website outside of a .DE site that offers translation into any of them?
this is a region switcher, rather than a language switcher (the website may of course be conflating the two, though)
You are right, it is a region switcher. I didn’t realize that, maybe because the “change region” button was in a language I didn’t know? :)
Be that as it may, I honestly don’t see what difference that would make in regards to OP’s point… While it is spmewhat rather ironic, their argument over choice of word(s) in this particular situation is - imo, anyway- not one of semantics, but more of localization.
Either way, whether this is a language selector or region switcher (or any variation on such a theme for that matter), I believe the point OP was - correctly, if you ask me - making is: Whenever a UX/UI element is needed to prompt for proper display language, each language should be displayed however it appears in its native tongue as opposed to how it appears in whatever language is currently selected.
As an added bonus, this also solves the problem of a user inadvertently changing the language (or forgetting to lock their workstation when leaving briefly and returning to find it changed to “help them remember to lock their station when not in active use” allegedly… not that that’s happened to anyone I know or anything) and being unable to change it back due to not knowing how to spell “English” in Japanese, for example.
Be that as it may, I honestly don’t see what difference that would make in regards to OP’s point…
OP said that it’s from the Fairphone website. The website has separate settings for language and region, language is shown in English and in the language itself, i.e. “Dutch / Nederlands”, region is shown in the current language. So the website is actually doing what OP wants.
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.