菜单旋转_为什么你不能旋转文字(来解决开始菜单的问题)?

本文探讨了在设计开始菜单时遇到的垂直显示文字的问题,特别是针对中文字符的旋转。由于不同语言的阅读习惯和字体支持,使得统一的旋转规则变得复杂。文章指出,Windows操作系统通过多语言支持来解决此类问题,但这也带来了如何处理不同语言语法和数量表示的挑战。个性化文件夹如"MyDocuments"显示为"Chris'sDocuments",需要考虑语法准确性,增加了翻译的复杂性。
摘要由CSDN通过智能技术生成

在上一篇文章中,我曾说过,我们宁愿将”开始”这两个字隐藏也不愿意采用其他方案。在评论区有人就问了:”为什么不可以将文字进行垂直显示呢?”

啊(惊奇),你是时候开始了解垂直文字的精彩世界了。

我们在设计新版的XP开始菜单的时候,也想过将文字进行垂直显示。在这种设计方案中,你的用户名将会在菜单的左侧进行垂直显示,而不是在菜单的上方水平显示。

对于传统的以垂直方式显示的语言,例如中文,对它们进行旋转是存在很多问题的。因为你的机器上可能并没有按照中文字体。想象这样一种情况,X, Y和Z是中文汉字,表示的是你的名字。在传统的垂直显示方式中,它看起来会像下图1中所显示的那样。需要注意的是,英文是以顺时针进行旋转的,这样就可以保持自顶向下的阅读模式。

1957090dd5e9482b06308d3953e5e45a.png

为了和西方文字的显示方式保持一致,我们可以以从左至右的方式来显示中文汉字,这样你的名字就会显示为:XYZ (Amy Smith)。

这个时候,和传统西方文字的旋转相比,上述的文字会以逆时针方式旋转而被显示为”Amy Smith”,见上图中的Example 2。

如果使用西方文字显示方式来显示中文,例如”XYZ (Amy Smith)”,则会出现上图中Example 3的结果。如果从中文角度来看,这样的显示方式就完全颠倒过来了。本来应该显示在最上面的X,这个显示在了最下面。

Windows经过多年的进化后,已经完全实现了操作系统的多语言支持。这意味着,不管显示的语言是哪种,都不会影响到底层的系统代码。修改系统的语言很少会修改被显示的字符串。这还意味着,系统中不会出现和语言相关的用户界面。在这个案例中,我们不能为中文添加一种独立的字符串旋转规则(这个规则与英文或者德文完全相反)。

(即使我们可以有独立的旋转规则,我们也需要知道名字是以上面描述的格式组装而成,还是以”Amy Smith (XYZ)”这种格式。在这种格式中,我们应该如同上图中Example 2中那样进行旋转,因为在它是一个嵌入有中文的英文字符串,和我们上面列举的例子恰好相反(上面的例子是嵌入有英文字符的中文字符串),如果你曾经碰到过阿拉伯语和英语混合在一起的情况,就会看到标点符号带着相似程度的混淆。

操作系统的多语言特性,也解释了为什么你会看到类似于”1 folder(s)”这样的字符串,而不是”1 folder”和”2 folders”。为什么不使用两种格式的字符串表示呢?一个表示数量是1的情况,另一个表示数量为2或者更多的情况?

一方面在于,如果设计两种不同的格式,那会显著地增加需要维护的字符串的数量。另一方面,有一些语言,例如斯洛文尼亚语,除了表示单个的”singular”和多个的”plural”,还有一个表示两个的”dual”。在印尼语中,有单个的”singular”,两个的”dual”,三个的”trial”,和一些的”paucal”,以及很多的”plural”。因此,你可能需要对每个包含可替换数字的字符串使用多达五个不同的版本。

除了上面说的例子,还有另外一个相似的例子。当表示表单的属性的时候,我们通常会使用”Property: Value”的形式,例如”Last modified: Monday, September 29, 2003″,而不是采用短语形式(“Last modified on Monday, September 29, 2003”)。这对于避免出现语法错误十分必要。如果你需要显示一个短语,则你需要考虑各种语法结构(主语/动词,性别表示,数量表示等)是否正确,而这恰好是计算机不擅长的。所以,唯一比较安全的做法是以”Property: Value”这样的格式来显示各种属性。

但是,我们还对上面所说的”不依赖语法”规则开放了一次例外,那就是:个性化文件夹。如果你观察到某个用户的”My Documents”文件夹,则它会显示”Chris’s Documents”。我们将这个要求提给了负责翻译的同时,他们花了很多精力来确保在任何语言下的语法的准确性。

(幸运的是,我们不需要处理那些模板的形式依赖于我们知道Chris是男人还是女人的语言。)

6ce3e9035344862a902f023fe86af67f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值