亲爱的 UI 设计师,请别再给语言选择器加国旗了

/ 0评 / 0

别问,问就是跟人相关的事情就是这样让人不爽。

语言不能代表国旗

首先,最基本的,语言不能代表国旗。这里的「语言」为了方便讨论,只限定到受 ISO 承认、出现在 ISO 639 列表上的语言。

然后你就会在这份列表上见到 Ido 和 Interlingua 这两个人造语言。严格意义上来说,这两个语言确实有旗帜,但是想要打出这玩意的旗帜除了嵌入一个图片以外没有其他方案——因为直到 Unicode 16.1, 这两个语言的旗帜还没有被正式收录,意味着你没法通过 Emoji 打出这两个语言的旗帜。

当然你可以说,我这是鸡蛋里挑骨头。「正常程序」哪有说翻译到这两个语言的。好,那么,加拿大的法定语言是英语法语。而且,说法语的加拿大人并不比说英语的加拿大人少,很多加拿大人则是两门语言都会说。那么,

🇨🇦 English
🇨🇦 Français

是不是也可以呢?事已至此,我们不妨来点更好玩的:

🇮🇳 English(印度官方语言之一,英语(印度变体))
🇫🇯 Hindi(斐济官方语言之一,印地语(斐济变体))
🇸🇬 Tamil(新加坡官方语言之一,泰米尔语)
🇨🇱 Spanish(智利主要语言之一,西班牙语)
🇨🇾 Turkish(塞浦路斯的官方语言之一,土耳其语)
🇪🇹 Somali(埃塞俄比亚的官方语言之一,索马里语)
🇰🇲 Arabic(科摩罗的官方语言之一,阿拉伯语)
🇸🇷 Dutch(苏里南的官方语言,荷兰语)
🇨🇭 Italian(瑞士官方语言之一,意大利语)

一个国家内可以有多门语言。甚至,取决于你把「语言」这条线划在哪里,这个情况对于国内而言也适用。甚至更干脆的,苏里南虽然只说一种语言,但是说的是荷兰语而不是「苏里南语」。这就使得「用国旗表示语言」这件事情多少有点难办。

国旗也不能代表语言

你也可以说,我们的客户又不在那些地方,用用国旗怎么了?好吧。就算我们规定:国旗所代表的语言表示了该国家几乎全部人都可以听和读的语言,那也会有非常让人头疼的事情发生。最基本的就是这么做在一些文化里是属于「非常冒犯」的行为。

许多地区由于其殖民历史,主要语言变成了殖民者的语言。虽然这个国家最终得已宣布独立,脱离殖民历史的苦海,但语言本身不会。在巴西,西班牙语是主要语言之一,但是给西班牙语标上西班牙的国旗让巴西人来选无异于强揭伤疤。

这种「别扭」感对于我们而言并不陌生。想想「繁体中文」应该用什么「国旗」表示?无论选择哪个旗帜,「别扭」二字都脱离不开。

用国旗表示语言,无异于在地理政治的雷区上起舞。

不用国旗用什么?

最好的方案,就是除了文字以外什么都不用。把语言简单地按照 ISO 639 规定的字母代码按字典序排列,然后给每个语言他们自己的完整名称就足够了。English 就是 English. 简体中文就是简体中文。简单,明了,也不需要担心那些有的没的的地理和政治问题。

要以无文字说明的方式引导用户执行语言选择,使用「地球」或者「翻译」图标作为打开语言选择列表的按钮即可。如果你还需要再纠结一些的话,ISO 7000-3728 或许是一个好的开始。

如果你需要一些例子来说服自己不要用旗帜表示语言的话,看看 Windows 自己的语言选择界面就可以了。几乎所有需要在乎跨文化使用的软件,无论是工业软件、艺术设计软件还是系统软件,在语言选择上都统一地使用了上述方案。其理由不言自明。

亲爱的 UI 设计师,是时候把国旗从语言选择器上摘掉了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Your comments will be submitted to a human moderator and will only be shown publicly after approval. The moderator reserves the full right to not approve any comment without reason. Please be civil.