pic
2020-07-16 18:05
在做多语言 UI 设计的这段时间里,遇到过不少在进行单语言设计时不会去考虑的问题,因此做了相关研究,找到了一些解决方案并应用到了我们的设计工作中。如果你也正准备进行多语言设计,那么这份避坑指南也许能够帮助你避免一些基本的设计问题,从而有更多的精力去思考具体的视觉呈现。
问题一:文案长度不可控
文案长度不可控,是我们在进行多语言设计时遇到的最主要也是首先应该考虑的问题。我们发现,该问题基本由以下两点导致:
难点 1:文案长度不易预测
有时候看似留足了空间的设计,但由于错误判断了文案翻译后的长度,导致原来的设计预留空间不够,这种情况在日语、西语等情况下尤为常见。
用英日西的长度差异举几个简单的例子大家感受下:
Email(电子邮件):日语文案长度约为英语文案的 2.5 倍,西语文案的长度更是达到了英语的 3.5 倍多。
Retry(重试):日语文案长度为英语文案的 1.6 倍,西语文案的长度更是达到了英语的 3.1 倍。
这句短句(为了解锁等级测试,你需要学习完所有课程并获得足够的星星)的日语与西语在占位面积上更是「碾压」英语。
类似的情况很多见,这样在 App 的实现中就会很容易遇到文本溢出的情况,标题末尾的省略号会经常出现,最可怕的是交互文案可能无法在其容器内以正确的样式完整显示,哪怕不限制字符溢出,一行变两行、字号压缩变小、容器产生不符合预期的形变等,都可能会影响页面的整体视觉效果。
对这个问题我们首先想到的思路,是限制文案字符数。但是这也就引出了第二个问题:
难点 2:文案字符数限制不易执行
文案在界面中是帮助用户理解信息的,一个被迫“阉割”过的交互文案很可能无法准确表达含义,让用户无法正确解读,从而在使用产品时容易产生不符合预期的结果,这样的文案实际上是违背用户体验的。
我们也屡屡由于限制文案字符数而和翻译产生许多沟通上的问题,在一些语境情况下,翻译方表示文案绝对不可能短到满足我们的字符数限制。
因此,为了用户体验考虑,同时也为了减少不必要的翻译沟通,我们在设计时应尽量避免限制文案字符数的情况发生。
解决思路
1.在保证可读性与层级的前提下尽可能减小字号,提高字符承载能力
那到底多小的字号是最小且能够保证可读性的字号呢。这可能还真没有一个“标准答案”,不同的字体、字重会影响相同字号下的可读性。
我们基于一些文字可读性方面的调研,再结合 Human Interface Guidelines 和 Material Design Guidelines 对字号的要求,并对 Airbnb 等在包容性设计上投入较大的产品进行调研后,结合归纳和演绎,得出了我们自己的结论:
- 图标与图片等的说明文案(Caption)最小使用 11pt;
- 短文案或极次要文案(Notes)最小使用 13pt;
- 标题、正文、按钮文案最小均使用 14pt,常规 16pt。
Human Interface Guidelines 和 Material Design Guidelines 字体规范的部分截图
2.尽量增加文案占位的宽度
尽量增加文案占位的宽度,尤其尽量避免文案并排放置。在这个思路下进行设计,哪怕只是使用英语等拉丁语系语言进行单语言设计,也能有效帮助避免由文案或单词长度带来的展示问题。
文案占位宽度预留不够,导致一行只能放下一个单词,甚至出现一个单词被强行分行的情况
3.快速试验多语言下的文案实际长度
Translator 在 Figma 众多的多语言插件中实测最为好用,我们使用 Translator 检查页面在其他语言中的效果。它可以快速选择目标语言并对所有文字进行机翻。
虽然机器翻译未必准确,但我们在实际操作中发现,当英语文案正确时,人工翻译与机器翻译在绝大部分情况下的长度是非常接近的,在使用这样的方法进行检查后,暂时还未遇到人工翻译文案过长而导致需要重新设计的情况。
Translator 实操演示
问题二:前端字体实现效果不可控
越优秀的前端工程师越是能够高度还原设计稿,然而如果我们在进行多语言设计时不考虑以下问题,前端再优秀怕也是爱莫能助。
难点 1:字体不可控
作为设计师,难免会对某些字体有特别的偏爱。有的公司会为表达产品调性购买字体,设计师往往也更趋向于使用公司专门购买的字体。
可是在涉及多语言时,这些字体可能导致以下问题:
字符支持不够完整,并且当字体的特色较为明显时,遇到其不支持的语言而产生系统字体替换时,实际展示效果与设计时预期的效果不符。
拿 Gilroy 举例:
如上图,在字号 14pt,字重 Regular 下,Gilroy 比 iOS 系统默认英文字体 SF Pro Text 看起来更细更小。那么为了保证文字的可读性,我们在使用 Gilroy 进行设计时,会偏向于使用粗一些的字重,使得在多语言下,如果字体使用 Medium 字重,在回退至系统字体时,整体视觉效果会偏粗。
解决思路
系统字体已经对大部分语言进行了良好的适配,所以在进行多语言设计时,比较简单的做法是:
使用系统字体进行涉及多语言的界面设计。
难点在于,设计师要控制好自己想使用更偏爱字体的欲望。
当然,在一些无须支持多语言的情况下,比如说品牌向的特定词汇、阿拉伯数字、英语词典中的英文等等,还是可以考虑使用非系统字体来提高设计的整体视觉效果的。
难点 2:字重不可控
这个实际上也是在解决 Gilroy 会出现的问题时发现的。在想要提高视觉层级时,我们会用到 Gilroy 的 Extrabold 乃至 Black 字重,但是一到多语言实现时,Extrabold 或 Black 在苹方下只能显示为 Semibold 字重,在视觉上的「重量」完全不能符合期望。这使得我们不禁开始怀疑,就算我们在设计时都使用系统字体,会不会也会有由字重导致的还原问题呢?
苹果预装中文繁体字体
苹果预装日文字体
基于这些疑问,我们调研了中、日、韩、英等语言下的系统预装字体对字重的支持。
以 iOS 为例,日文字体 Hiragino Sans 对字重的支持只有 W3/W6/W7(等同于 Regular/ Bold/ Heavy),而繁体中文 PingFang 虽然支持的字重多达 6 个,最粗却只支持到 Semibold。
这将导致:如果我们使用 Regular、Medium、Semibold 字重进行开发,那么在日文界面中,就只会有 Regular 这一个字重的文字了,我们将无法通过字重来达到拉开视觉层级的目的。
解决思路
基于系统字体支持的字重和字重回退的逻辑,我们得出了以下方案:
使用 Regular 与 Bold 双字重进行设计。
如果喜欢用苹方字体的话,那设计时用 Semibold 也可,只要与开发约定好开发时使用 Bold 替代 Semibold 就行。
结语
最后总结一下进行多语言界面设计时需要注意的点:
- 尽量避免限制文案字符数
- 在保证可读性与层级的前提下尽可能减小字号,提高字符承载能力
- 尽量增加文案占位的宽度
- 使用系统字体进行设计
- 使用 Regular 与 Bold 双字重进行设计
相关链接:
Human Interface Guidelines 字体规范
Material Design Guidelines 字体规范
figma插件:Translator