I can’t believe nobody has done this list yet. I mean, there is one about names, one about time and many others on other topics, but not one about languages yet (except one honorable mention that comes close). So, here’s my attempt to list all the misconceptions and prejudices I’ve come across in the course of my long and illustrious career in software localisation and language technology. Enjoy – and send me your own ones!
Geolocation is an accurate way to predict the user’s language.
Now that’s a pet peeve of mine, a bizarre belief surprisingly often held by people, who must be oblivious to the existence of tourism.
deleted by creator
Now there you have one more pet peeve of mine, language preference settings that pretend that all language versions are equal, that shitty translations aren’t abundant. If the original text is in a language that I can read then I want the original, not some shitty translation. It shouldn’t be that hard!
This. When I was in Mexico on my honeymoon, Google kept redirecting me to their .mx version of Google; despite my inability to read Spanish.
And I always want the english version instead of the german version, despite me being german. Literally only google fucks that up. Every other site, even the small local german Uni website or the canteens meal site, respects my browsers setting. Google does not, and serves me german.
It would be a useful way to predict it possibly, but presumably the author meant if you have support for localization, you also provide an obvious and easy means of changing the language.
More importantly, you should be using the language an existing user has already used in the past.
Edit: come to think of it, this is less a programmer problem, and more of a UX problem. Obviously as programmers we need to take UX into consideration, but in all my products I’ve worked on, UX is specified already by a UX designer.
It’s not even that, there are multiple languages spoken in the same region. Webpages should just use the language the browser tells it to use.
I had assumed the author didn’t limit his statements to web browsers. If it’s an application on a user’s box, they should be using the language the OS provides.
In the case of less complex hardware, IoT or embedded devices with localization support, you would likely have another strategy if it doesn’t have a setup process. For something without internet or GPS, you can’t do this obviously. For something without a GUI, it’s unlikely to have localization support without direct design consideration for it’s destination.
yup I too remember getting YouTube ads in Hungarian when I was there as a tourist - despite not understanding Hungarian at all and watching videos only in other languages, they really ought to know that
I hate when apps use my number formatting setting to determine display language - despite Windows having a display language as well. Even Qt does (did?) that.
deleted by creator
Icons that are based on English puns and wordplay are easily understood by speakers of other languages.
This reminded me of one of those Top Gear “drive across a foreign country in weird vehicles” specials where Jeremy Clarkson needed to borrow a cable to jump-start his car, and laboriously mimed out jumping for “jump”, and walking a dog for “lead”, to a perplexed local. Richard Hammond was cracking up but finally managed to point out what a fool Clarkson was being.
Geolocation is an accurate way to predict the user’s language.
And as an addendum to this, in 2025 nobody should be using Windows’ “Non-latin/-unicode character set” setting to guess the user’s preferred language. That’s a pre-WinXP kludge. I’m specifically looking at you, Intel integrated graphics software writers, but you have plenty of company, don’t worry.
Geolocation is an accurate way to predict the user’s language.
This makes me so angry. It really really really really really does.
Despite setting everything to English I still get my receipts in French. And all because my IP is CG-NAT to the capital which is marked as french speaking.
What is so hard about letting me decide. The absolute fucking arrogance thinking you as a company know better than me in which language I would like to be served.
Eat a dick Microsoft.
For real. I’ve seen the fingerprinting info, I know your website can see what language I’ve set, so display your website in that language!
Another couple missing:
- every language uses gendered nouns/verbs/adjectives/pronouns/etc
- no language uses gendered nouns/verbs/adjectives/pronouns/etc
- pronouns referring to people are always gendered
- pronouns are always singular (1) or plural (2+)
A fun language to learn regarding these is Hawaiian, where the language uses a-class and o-class rather than masculine and feminine, and which you use is largely based on how much control you have over it.
deleted by creator
- There is always only one correct way to spell anything.
“gray" and “grey” are both correct spellings of the color between black and white.
Segmenting a text into sentences is as easy as splitting on end-of-sentence punctuation.
Is there a language this actually isn’t true for? It seems oddly specific like a lot of the others and I don’t think I know of one that does this. Except maybe some wack ass conlangs of course.
Even in english this isn’t true, for example dots can appear inside a sentence for multiple reasons (a decimal number, an abbreviation, a quotation, three dots, etc, etc), which would make you split it into more than one piece.
English. I can go to the store and buy a sandwich for $8.99 all in one sentence, but splitting it on periods gives you two sentences.
Oh of course, I didn’t think about punctuation occurring in the middle of a sentence. Duh, thanks.
@2xsaiko @TehPers there’s other examples too. E.g. Thai has no spaces between words but spaces between phrases/sentences. However the spaces between phrases involve style choices similar to comma in English and many other Latin script writing systems. Also, Thai may have spaces around abbreviations special characters.
I’m quite familiar with Thai so that’s close at hand but I guess it’s the same in a lot of other writing systems based on Brahmic scripts.
Interesting, thanks!
“splitting on end-of-sentence punctuation” would not split on 8.9 though!?
There are languages that don’t have the concept of “punctuation” at all.
“All languages (that use the Latin alphabet) have the same alphabetical sorting order.” oh this one is very unexpected to me. Does someone know an example? I’m curious
In Denmark we have the digraph “aa” that is the same as “å”. Since “å” is the last letter in the Danish alphabet, “aa” must be sorted likewise. Hence the ordering Aalborg -> Allerup -> Middelfart is incorrect and the correct ordering is Allerup -> Middelfart -> Aalborg.
The exception is if two a’s are pronounced as separate vowels e.g. due to compounding words: “ekstra” + “arbejde” gives “ekstraarbejde” but here it is not pronounced as “å” so ekstraarbejde -> ekstrabetaling is correct ordering as well
https://en.m.wikipedia.org/wiki/Danish_and_Norwegian_alphabet
Middelfart? :-D
It’s not too smelly, but it’s not completely benign either.
The great city of Middelfart ;) https://en.m.wikipedia.org/wiki/Middelfart
Many examples are listed on Wikipedia: https://en.m.wikipedia.org/wiki/Alphabetical_order#Language-specific_conventions
For French, the last accent in a given word determines the order.[14] For example, in French, the following four words would be sorted this way: cote < côte < coté < côté. The letter e is ordered as e é è ê ë (œ considered as oe), same thing for o as ô ö.
In German Ä comes after A, in Swedish Ä comes after Z
There are perfect guidelines on preparing translatable strings in the GNU gettext documentation.
“Every country has exactly one “national” language.” - Switzerland meanwhile lol
Every language has words for yes and no.
Assuming yes and no means true and false, c has numbers (1, 0) for yes and no and c++ can use those numbers for yes and no because it is a superset of c.
Technically, it’s 0 and non-0 but I always use 1. They are integers rather than keywords.
The article is not about programming languages 🫠
Technically, 0 is false and anything else is true. !0 is 1, though, IIRC
As far as C goes, 1 is true and 0 is false.
In terms of POSIX exit codes, 0 is success and 1 is error.
I think more specifically for C, 0 is false and anything nonzero is true. Idk about NaN/inf.
True is anything other than zero in C.
That’s what I meant so I’ve edited my comment to hopefully make that a bit clearer.Having actually tested it, because in C++ I use true/false, it is 0 that equals false and anything else is true. You’ll have to forgive my lack of clarity. It’s 03:02 and I’ve had about 2 hours sleep tonight and won’t be getting any more. Time for a coffee.