Not many languages have some official flags though. There is one for Esperanto and Francophonie for example. But while anyone speaking Esperanto will certainly recognize the green flag, it's more dubious that most users would recognize the flag of the OIF.
https://commons.wikimedia.org/wiki/File:Flag_of_Esperanto.sv...
https://isolatedtraveller.com/flag-of-organisation-internati...
And the top 3 in China are in the top 10 worldwide if you split up Cantonese (which is mutually unintelligible from most Mandarin languoids)
It's like Java and Scala both compiles to JVM bytecode.
(yes I am aware hk people chose to write 粤语白字 in a particular way, because the orthography movement failed in the 70s)
Not really, it's more like how both Castlian and Galician people write in Spanish. Spanish is not some magical byte-code that unifies Galician and Castilian. It's Castilian. Galicians just translate their language when they write in Spanish, while Castilians just write the way they speak.
Similarly, Written Standard Chinese is not a bytecode, it’s written representation of Mandarin. Both Cantonese and Mandarin have words¹ 看 hon³/kan⁴ and 睇 tai²/di⁴. In Mandarin, the standard word for “to see” is 看 kan⁴. In Cantonese, it's 睇 tai². When Cantonese people replace 睇 tai² with 看 hon⁴ in writing, they *translate* their speech into Written Mandarin, while Mandarin speakers write the way they speak.
> because the orthography movement failed in the 70s
It's not a matter of orthography. 看 and 睇 are different both in Cantonese and Mandarin, it's not orthographic variant like “colour” and “color”.
For example, in Mandarin, you can't replace 睇視 [睇视] di⁴shi⁴ with 看視 [看视] kan⁴shi⁴, they have different meaning and different reading.
They're just different words¹.
____
¹ Or morphemes. “What is a word” is a complex topic and not relevant here.
With some CSS you can make it indistinguishable from an icon
I feel like a globe icon is much more obvious.
文<-->A
Sorry for the poor attempt at ascii art. But I've seen some arrow indicating swapping/matching between the two characters. And the choice of characters does cover a huge swath of people on earth. (文 for zh_* + jp, and A for every latin, cyrillic and greek alphabet language) Of course that's still missing a huge chunk of people concerned that it might just swap between two languages not including theirs, but as a universal symbol for "translation" it's probably a good bet that the reader recognizes them as "being related to languages" at minimum since they have most certainly interacted with one of those language groups before.It's really annoying when they give you a loong list of countries or languages and you have to scroll through it until you get two pages past the target, then scroll back slowly until you get to one page before the target, repeat until you finally have it in sight...
What I tend to do is have a dropdown with a country icon and language name localized to that language for each language. My pet peeve is trying to switch a website from a language I don't speak into one I do speak and the dropdown listing "Dutch" as "Néerlandais" or whatever instead of "Nederlands". I don't speak french, why would I know what dutch is called in french?
(and yes, language switching menus you can't understand are dumb, especially for more complicated cases where names don't even look similar, but unfortunately common)
I do think it might be conceptually possible and intellectually funny to come with flags that are generated from some pattern that some corpus of languages exhibit. Be it sui generis through some LLM, or relying more on scholar lexical/syntactic categorizations, or even something really more trivial like using a language-code[1] as entry.
On the other hand, with such an approach I’m afraid that chances are low that we can gain any adherence and a large recognition of the resulting flags from their speakers.
To my mind the best approaches as of today where already exposed in this thread: something best effort to propose the most likely user recognizable language and a clearly visible option to open a locale selector. If iconography seems a must have in the UI, showing something like a A/あ icon is rather usual by now.
This is the kind of thing that works great for a while, and then an OS update flips the table on how RGB subpixel antialiasing works for the subset of your users with a certain type of display, leading to a false positive all of a sudden.
Chrome could at least expose support like other feature detection APIs, even if they don't go so far as to provide the flags, to avoid this ridiculous heuristic approach.
Aside: my personal belief is that the political charge here lies with Unicode having codepoints for such countries, and downstream dependents of Unicode can readily point the finger. Displaying monochrome text of a country abbreviation instead of a flag doesn't seem like it would appease those who don't want the country acknowledged, anyhow; a "missing glyph" type of thing would come closer.
Unicode has decided flags shouldn’t be part of Unicode.
There are a few flag emoji that got included before they reached that decision and there are “regional indicator symbols” that often get displayed as flags, but that’s it. They won’t, for example, include flags of cantons of Liechtenstein.
See https://blog.unicode.org/2022/03/the-past-and-future-of-flag....
https://github.com/unicode-org/cldr/blob/maint/maint-41/comm...
You can see the country names alongside the codepoints here, ctrl+f for 'taiwan' and 'palestinian territories'
Who exactly decides this, in the actual code?
Flags are Political Symbols. ISO Country Codes are not. People rally around flags. Flag color symbolize beliefs/ideals. Flag crests and images contain political messages. ISO Country Codes are just a couple of letters that might (but not necessarily do) reflect a Country Name.
It's generally not just "don't want the country acknowledged", it's "don't want dissidents rallying to that flag". For instance, the parts of China that believe Taiwan is and always shall be a part of China don't have a problem with naming Taiwan as such, they see that as the "province name"; they do have a problem with the national flag of Taiwan, which intentionally represents and symbolizes its independence from China.
I can't blame Microsoft for not wanting to support flags. Politics are hard. Flags can be the hard mode of Political Symbols.
(Also Microsoft's stance is interesting in the way that it came from that Windows 95-era map-based Time Zone picker. The number of lawsuits they had over effectively "single pixel" border disputes was absurd. Flags are way more political than borders.)
Even if very few of the lawsuits actually escalate to violence or war, is any risk of violence/war worth it? Ethics would suggest "all my competitors are doing it" isn't a great answer here, either, and certainly doesn't remove the risk.
I can respect the "no lawsuits at all" preference here.
I see your point that flags elicit a different reaction out of people than territorial classifications, but simultaneously it seems to be the classification which elicits disagreement. "You can call it a country so long as you don't assign a flag" seems like the wrong place to draw a line in the sand.
Presumably, provinces can have flags!!
Windows also doesn't have an "ISO Country Code Picker" here. They don't provide tools to make flag emoji at all.
Android is an OS, Google is responsible of it, so they get to decide what goes in their fonts.
You are a web browser, not an operating system. Stay in your lane.
To me this just isn't worth the cost.
59 requests 1.2 MB transferred 3.1 MB resourcesChrome relies on the os certs.
I think that's the correct way how software should works.
>Standardizing the set of CAs trusted by Chrome across platforms through the transition to the Chrome Root Store, coupled with a consistent certificate verification experience through the use of the Chrome Certificate Verifier, will result in more consistent user and developer experiences.
https://blog.chromium.org/2022/09/announcing-launch-of-chrom...
Wait. I thought Windows has ClearType which could render black text on white background using colors. And furthermore there is a wizard to allow users to adjust how much ClearType adjustment there is. This feels like a totally incorrect solution.
And apparently starting from 2021 Microsoft Edge did in fact begin to use ClearText according to this article https://blogs.windows.com/msedgedev/2021/06/02/improving-fon... from Microsoft. So the author's approach would be broken in Microsoft Edge since 2021.
https://github.com/talkjs/country-flag-emoji-polyfill/blob/5...
Just randomly sharing, the part of the trick I like the most is that it renders the emojis scaled down to a 1x1 canvas, so it renders just a single pixel. That makes checking stuff like "am i not accidentally reading in the transparent area of the glyph" and stuff like that no problem, because the whole emoji is blurred down to a single pixel.
The author's example is a bit weird in this regard, it does the same trick (set the canvas width and height to 1), and then it still loops through all 1 pixels and discards any transparent ones.
This is so real.
Ask about Fibonacci? Great.
Ask about something tricky? Let's make up some APIs
Heck, even pasting the "prompt" into non-AI Google and Bing worked.
Not everyone has the time or the inclination to keep a stable of local llms (and update them regularly, for example). Some people have other hobbies.
> Heck, even pasting the "prompt" into non-AI Google and Bing worked.
What? It's been years since a regular search got you anything but spam from the usual tutorial farms.
The prompt I used isn't a particularly good search query, and I got:
* A Stack Overflow question about this issue with a proposed solution;
* A Reddit thread offering a workaround to non-technical users;
* This thread on HN (which OP of course couldn't have seen, but anyway);
* OP's article;
* A blog post about OP's article;
* A blog post with an elegant solution using pyftsubset
What am I missing?[0]: https://www.google.com/search?q=Why+would+flag+emojis+render...
In Bing Maps, I expect them change country borders based on localization settings, but that was probably too onerous to implement and test in the Windows 95 days.
They didn't actually remove the map - they just removed any functionality it had. So the time set window is massive for no reason, it contains this huge world map bitmap that no longer does anything.
I think Yandex (Russian Google) removed borders completely from their maps. Also because it’s impossible to figure out where the Russian government would like them to be. Might change on a daily basis.
Google maps added the „gulf of America“ to their US version, because anywhere else it’s still the Gulf of Mexico (even in iOS autocorrect, it changed it correctly to uppercase).
Either you chose sides, create different releases of software for some countries (deployment nightmare), or just remove such „sensitive“ features.
1) Don’t lie. Apps don’t have to “lie” to do business in America. If someone labels the Gulf as the “Gulf of Mexico”, there’s not really a goddamn thing the Federal Government can do about it except throw a shit fit. The fullest extent that they can enforce this is on contractors making products and services specifically for the Federal Government’s and Military’s own use.
2) Maps apps are probably going to relabel it as the Gulf of America anyway within America, and it’s not exactly a lie. Barring any issue with Congress, if there’s some statute buried somewhere that legally enforces the name of the Gulf to be the Gulf of Mexico, it isn’t exactly a lie if the President exercising the authority of the Office of the President renames a geographical feature that’s at least partly touched by the US. There’s a lot of geographical features that have different names either in different languages, different locales or both, and it’s fully within the Executive branch’s purview to name them. They do so all the time, although typically for the more obscure things nowadays since for anything too prominent, the name was decided long ago.
Maps apps can set their own policy on this, but generally the easiest course of action is to defer to governing authorities.
https://www.usatoday.com/story/tech/2025/01/28/gulf-mexico-g...
The author mentions a polyfill [1] and the fact that they dislike it's using a CDN. Fortunately, the polyfill can be configured to use a local/self-hosted font:
> polyfillCountryFlags(fontName?: string, fontUrl?: string)
Here's how I added it to my Astro landing page: https://github.com/pentacent/keila-web/commit/e96ec233eef631...
Nice writeup btw. I still can't get over how ridiculous it is that Windows doesn't have country flags emojis. It just means that every app/website ends up applying a hacky patch like this.
Doesn't help that most emoji fonts render all flags in the same aspect ratio.
I haven't tested with emojis (never thought of it, great test case!) but try Fontimize, which creates font subsets based on text your site actually uses. It runs over the HTML and CSS and creates an applicable subset.
But the Python API supports passing just some specific text. Try using that, passing any and every flag you wish. You should be able to get a font file that contains just the country flags this way.
I really need to get back to this library and add predefined subsets like, say, extended Latin, or country flags!
Looks like the flags-only font is just 77 kb!
During the 2020 protests, Telegram changed large¹ BY emoji to the national white-red-white flag. Then it reverted the large emoji back to Łukašenka’s red-green flag. So, old conversations no longer have the same flag.
These flags don't have the same meaning! They represent two very different visions of Belarus.
I would really prefer if Unicode encoded flags with date of their acceptance. E.g. BY-1991 or BY-1918 for white-red-white, BY-1995 for red-green flag.
_____________
¹ Small emoji retained red-green flag even at that time.
Also, Telegram has an option to replace large emoji with small emoji, so it was totally possible to send white-red-white flag and have it received as red-green flag, and vice versa.
If you ship android as-is from a GIT repo that has <forbidden thing> you can be ok. If you write an app or show slideware which refers to <forbidden thing> you are in the naughty corner for a while.
It's because people who are responding are responding intelligently. They know what they can effect: the future. The past, is another country. They can't get the git repo to ban the <forbidden thing> but they can make your life hell for including it.
So to an outsider this looks "inconsistent" but its (in my opinion) entirely internally consistent: Only act on things you can influence.
Microsoft would not respond to North Korea by deleting all the unicode flags all over the world, so while that might get you closer to the essence of your question, there's no point in me asking my question if you are just going to dodge it.
> can somebody here make a case that this is not actually/solely to appease China (over Taiwan presumably)?
I gave one (of many) examples where this would be relevant for a country other than China. If you don't think South Korea is politically important enough to matter, then use the Israel/Palestinian flag situation as something that certainly is.
Or more simply: no, this is not just because of China and Taiwan.
https://unicode.org/Public/emoji/latest/emoji-sequences.txt
This list notably doesn't have Quebec, Northern Ireland, or Somaliland. But it does have Taiwan and Palestinian Territories.
you have failed to convince me that this is about quebec, somalililand or palestine, those are absurd notions, so you have failed to convince me that this is not about china.
(Of course it won't really be about any one thing, it will be about all of these things - and China is probably the biggest and most relevant case. But it's by no means the only one)
I suppose they did the same with Mongolia, until they couldn't.
It is the communist that ceded a lot of territory to the Soviet Union and the puppet state of Mongolia to appease the USSR by having a buffer between it and china
Like when the PRC threatened invasion when the UK wanted Hong Kong to elect its own leaders, then later they can turn around and say "the British never even let the Hong Kong people vote".
Some with Taiwan / R.O.C and it's territorial claims.
Why not simply collect all the prevalent "stances" on the disputed topics, and give the user to choose on each stance individually (or for a better user experience: create some presets of "stances that often occur together", which the user can use to activate multiple stances at once).
"Is the island to the east of mainland China (also known as Taiwan, or Chinese Taipei) part of the People's Republic of China?"
"What is the legal status of Gibraltar?"
"Who ought to have won the Cod Wars?"
And on, and on...
Alternatively, have your pick of
"Western (standard)"
"Western (tankie)"
"Chinese (the big one)"
"Chinese (the small, disputed one)"
"American (pro-Iceland)"
"American (pro-UK, for the purpose of the Cod Wars)"
"British (Still Irritated Over Suez)"
"British ('What's Suez?')"
Your idea is quite sensible, of course, but you could make it quite absurd if you liked. Perhaps I'll put something like this together one evening. I'm sure there are more silly disagreements to include than the ones I know of as a brit.
Sigh.. I'm so sick of companies pandering to bad regimes. This, google displaying the south china sea as part of china locally, meta dropping their DEI program after trump took over. None of the companies I know showing pride flags in Arab countries on their website during pride month (while of course widely proclaiming their support in PR and internal material everywhere else). It's all so fake. Stick by your values, then we stick by you as a customer.
Funny you say that, considering it originally was an actual gun, then companies progressively changed it to a water gun until it was the defacto standard. I guess if something got changed for "woke" reasons, and it sticks around long enough, you can dunk on the guy changing it back for being "anti-woke"?
That seems like it wouldn't work the way you're meaning in some pretty common cases. For example, with the Russian language.
Just playing devil’s advocate but I kind of get it
If there was a separatist region you felt wasn’t legitimate or entirely delusional in both their existence and their aims, and third parties started giving them legitimacy with flags that your former neighbor made up at night, you would be like “cmon, wtf, cut that out”
obviously I can’t relate to this in any way, but I could imagine it could occur the longer I live
I think we're taking emoji way too seriously in average. Perhaps we should start including popular flag propositions that got shut down by the officials (like the Australian flag redesign contest) just to make it clear that emoji are just words and nothing more.
They're all kind of silly though. If you want an image use <img>...
Who is a country? Who is an autonomous region?
Which flag to use for disputed countries (e.g. do you use the taliban flag for afghanistan despite how much the western world doesn't like it).
Not to mention people might not like the flag changing in their own messages after a take over. Imagine if russia wins the war in ukraine and all the patriotic ukrainians suddenly have the ukrainian flag in their old writings replaced with russian ones after a software update. Feels like something out of 1984.
This is going pretty well, but seems tedious, so for all other cases let's just merge ISO 3166-1 alpha-2 and ISO 639-1 as follows:
SELECT
c.code AS common_code,
c.country_name,
l.language_name
FROM iso_3166 c
INNER JOIN iso_639 l
ON c.code = l.code;
And if they don't speak Afrikaans in Afghanistan or Arabic in Argentina then you'll have to take it up with the International Organization for Standardization. - for English, I'll use the Jamaican flag.
- for Russian, I'll use the flag of South Ossetia.
- for German, I'll use the flag of Austria.
- for French, I'll use the Malinese Flag.
- for Dutch, I'll use flag of Suriname.
just see how happy people are with this ;)What about colonial nations like the US or most of South America. Do the native languages not get a symbol because a colonial history resulted in a foreign language being the dominant one?
Npm package: https://www.npmjs.com/package/react-lang-selecta Source code: https://github.com/MarcAbonce/react-lang-selecta
Just let me choose ‘Netherlands - English’ and I’ll be on my way, please and thanks.
No, people don't know the ISO codes for their languages.
No, you can't use the full name, since some languages have very long names.
No, a single 'languages' icon isn't enough, you often need to symbolically represent individual languages.
For the most common languages, flags are fine.
Edit: I'm amused by the amount of replies that assume the only context that ever requires symbolic language representation is websites. Awesome, how do I add one of your JavaScript language drop-downs to a physical product label? Or an airline steward's name tag?
As a canadian, i know what EN means. However when sites use flags its a mystery. Am i supposed to pick canada or is that "canadian french". Maybe im supposed to pick the american flag, but eww feel like a traitor and i want the u's in my words. Is it the british flag? I have no idea. Flags for languages are stupid.
Not to mention for all those languages that are not the majority language in any country.
As an Australian, I somehow manage not to be entirely baffled by a US/UK flag icon in a language screen.
> Maybe im supposed to pick the american flag, but eww feel like a traitor and i want the u's in my words.
The purpose of a language selection screen is not to stroke your ego?
As an Irish person I can't help feeling a frisson of satisfaction.
But as a developer, this is just asking for confusion, especially since the Irish flag is already confusing enough.
I mean, we could have a beautiful white harp on a green background representing Irish culture. The Welsh got a dragon...
But no, it's a political statement from 120 years ago represented in three boring vertical stripes, just like everyone else's flag. It's identical (ok, mirrored) to the Ivory cost flag. It's the same three colors as the India flag, rotated 90 degrees, which itself is very similar to the Niger flag. And if you squint, or just don't know your flags well, it could easily be the Italian flag. It's a terrible choice to represent a language.
obviously the British flag is for the least controversial option, Ulster Scots.
I don't see what the problem with that is. Universally understandable to anyone who knows the written version of their language
Yes, every language has a name and you can use that. If you prefer an imprecise flag over the actual name of the language then what you're saying is that you prefer style over substance. There's always space to show the language name.
I frequently travel in places where I don’t speak the primary language — and having to hunt down a menu in a language I can’t read sounds a lot worse than having a flag I know visible on the main page.
Symbols are useful. You can quibble over the symbols chosen (they don't seem to do a lot of physical weighing in courts?), but that is fundamentally besides the point, which is 'how do I convey this widely understood concept in a limited amount of space?'.
I know that they have flaws. The problem is, there isn't any better pictorial representation, and they work well enough that it's better than not having one.
For some languages they work very well (e.g. Swedish), for others there may technically be ambiguity but it's clear enough (e.g. the Union Jack for English), and some are more difficult and rely on convention (e.g. the Egyptian flag for Arabic).
The landing page (https://nuenki.app) has a cloud of flags of the supported languages. It's an information dense, easy to scan way of seeing whether your language is supported. Sure, it's not technically 100% accurate, but what's the alternative?
Then of course the multitude of languages spoken in many european languages such as Spain (catalan, gallician, basque). Or the latin american variation.
Or what about Switzerland who dont have their own language (they speak french, german, italian and romanch).
Even your example of Sweden is naive, as we have Swedish, Finnish, Sapmi, Meänkieli and I would argue Älvdalska is another proper language too, even if it dont have official status.
Its a very flawed idea and no matter how pretty it may look, it cant map to reality and is just misleading at best.
Nuenki supports European Spanish (though now you mention it, I ought to make that clearer). If it were American Spanish, I'd probably use Mexico. I handle Portuguese that way.
Switzerland is easy, because I have no need to include their flag. German is covered by Germany (yes, I know of Austria), French by France, etc.
And I'm highly unlikely to add Romansh, if only because it'd be very difficult to translate with good quality. I would if I could though, I find it fascinating. For a flag, I'd find an online Romansh community and ask what flag people would find most respectful + representative, or if people would prefer I forgo it.
You argue that it's misleading. I see where you're coming from. It isn't perfectly explicit and unambiguous. However, I don't think it's misleading in practice.
Nobody looks at a Spanish flag and thinks it's denoting Catalan - I'd probably use a regional flag there - nor do people look at a Union Jack or an American flag and go "no idea what that's for". When looking to see if Nuenki supports Finnish, nobody looks for the Swedish flag. They look for the Finnish flag.
People know what the stereotypical flags are, particularly when they're learning that language.
So imo it's about absolute precision vs UX, and the UX of reading through a textual list of languages is awful. It's a complete pain to scan through without any kind of visual indicator. That's why, in practice, everyone uses flags.
I didn't previously use flags so widely. Adding them everywhere (e.g. the dropdowns on the demo) was a result of feedback from people who felt it would make it nicer to use. Also, they're generally alongside the full name (aside from the aforementioned cloud), to clear up any ambiguity.
Curious, do Indian websites just never use flags then?
Or do they use flags for the states within India?
Because at a quick glance, it seems like there is a general mapping of languages to one or more states:
https://en.wikipedia.org/wiki/Languages_of_India
https://en.wikipedia.org/wiki/States_and_union_territories_o...
Very similar to the world situation.
German -> Germany, French -> France, Swedish -> Sweden.
It's not perfect, but 99% of times it communicates what is meant to communicate, which is more than what you can say of many icons.
You will have a hard time, even on Wikipedia.
For most people, flags absolutely are the best shorthand for the language of the same name.
It may be technically correct, but it's pretty obvious to people what it means. It's extremely common.
I feel obliged to point out that majority of engineers get stuck in 3-hour-long meeting discussing corner cases "is Okinawan a separate language" or "what even is a language", while refusing to address the business problem at hand, which is "I want my European user to pick between Italian, French and Spanish". I used to enjoy these "yes but technically no" discussions, but then I understood they never lead anywhere, because they're about solving the problem in some imaginary world that only exists in some people's heads, rather than the real one.
The truth is that there exist situations where using country flags is effective means of communicating the idea of a language. You might not like it, but that's how it works.
It's clear that English originates from the UK and Portuguese originates from Portugal. Not to mention that sites often do have country variants -- the Brazilian Portuguese gets the Brazilian flag. And if a site is only for US and Mexican customers, a US flag makes sense rather than UK because it'll also use US currency.
And a flag icon also helps your eye quickly find the localization drop-down mixed in with a bunch of other stuff in the footer.
There aren't really existing unambiguous language icons, at least for the majority of languages, so it'd be less about making them a formal emoji and more about actually inventing + "legitimising" new icons so they can be broadly and uncontroversially used.
I doubt that'd happen in practice - there just isn't a pressing need, and you'd need an enormous (and likely controversial) public education campaign to make them adoptable - but it would be a neat design problem. r/vexillogy would have a field day.
If I come across a site that is not in English, but I see a little flag somewhere, that is a very good indicator that that's the place I can go and change the language to English.
(Happens a lot more when you're travelling in a non-English-speaking country.)
It's one of those "yes technically you're right, but actually it still works really well in practice so sod off" things. It's like saying tomatoes should be in the fruit aisle. No thanks. Sometimes utility is more important than anal correctness.
Says who?
Probably not the actual users of websites, I'd wager.
E.g., Switzerland has four official languages, none of which are English.
Also, UX/UI designers have rightfully been banging the "don't use country flags to indicate languages" drum for literally decades, now. We dealt with this issue in the 90s.
It's a pain to phrase, but: There is no reason to use the Swiss flag to indicate a language. French has the French flag. German has the German flag. Etc. There are dialects, as a nuance to this, but you can solve that by e.g. using a 50/50 merge of the German and Swiss flags.
Countries may have ambiguous languages, but _languages very rarely have ambiguous countries_. Sure, there are Finnish speakers in Sweden, but the Swedish flag remains a clear indicator of the Swedish language.
Hindi and India is the main exception to this. Arabic is also difficult, though Egypt seems to have a slight edge by convention.
> UX/UI designers have rightfully been banging the "don't use country flags to indicate languages" drum for literally decades
I sympathise, and if they have any better ideas than a textual list that users need to read through rather than quickly scan (not very good UX...), I'd love to hear them. From a _UX perspective_, is there something better than the flag cloud at https://nuenki.app for quickly asking "is my target language supported"?
Switzerland seems pretty easy -- French, German and Italian get the obvious flags, while Romansh gets either the Swiss flag or the Grisons flag. No?
> Also, UX/UI designers have rightfully been banging the "don't use country flags to indicate languages" drum for literally decades, now. We dealt with this issue in the 90s.
So it kind of seems to me like they've lost. They might be banging the drum, but in the real world the flags are useful.
But why does it have to concern some Finnish online store that also has English and Swedish as options? Do their actual users really care? Because that is the litmus test, not the opinion of someone writing a blog.
Or are you claiming that they don't know what the French or German flags look like?
What sold me to subscribe to his channel is this absolutely wonderful bit with flags at 4:30:
https://youtu.be/iQNdkdqoIdw?t=4m29s
Flags aren’t languages. Listen to your elders.
EN - English
FR - Français
RU - Русский