软件的多语言版本中,同一句话用不同语言来表示时长度不一,在设计界面时有啥最佳实践方案如果难以实现,为每种语言做一个界面代价是否更大

字符串长度控制是很常见的 UI 问题,这个一般是在开发与本地化两个过程中去控制。有时开发人员会在可本地化的资源文件中注明这个字符串允许多少个字节,这时翻译就能根据这个信息去调整文字。(@ 龚博致,不同语言是不大可能做到同一个源语言翻出相同长度,比如俄语或者希希腊语这种就是文字出了名的长。而且 UI 翻译并不是感性的,恰恰相反,UI 翻译更多的时候有点机械和公式化。)如果没有在本地化翻译阶段进行文字长度控制,可以在本地化之后做调对话框的工作,对表格、菜单、消息框等界面的长宽高进行调整,使文字完整显示,界面布局合理。这需要在界面可见的本地化工具中来做。这中间可能串上一些本地化测试的环节。多语言版本并不是什么难以实现的事情,主流产品如 Office、Windows 不都有几十个版本么?而且还可以做到 simship,即若干个语言版本同时发布,这在十几年前还是不可想像的。当然这里的多语言版本只是说文字内容不同,版面风格是完全一样的。
■网友
翻译是可以做到长度大致相同的吧。文字是一个很自由很感性的内容一般来说,一个字一个词这种会长度相差很大,但是比如20个字组成的一句话,翻译成其他语言,是可以通过加工来做到长度差不多的。没必要咬着每个字直译,意译会更通畅。为每种语言做个界面,代价绝对大。这里不是开发成本,而是沟通成本如果所有语言一个界面,让翻译去填词,只有一道工序如果每个语言都给界面,翻译完了给开发,至少两道工序,要是加上产品经理视觉设计甚至老板,这里的成本就不知道哪里去了……
■网友
参与过一款线上产品的多语言化,说说经验。前端人员为每一个字段设置建议长度和最大长度,告诉翻译人员字符数的界限;并列在一行的多个字段设定本行最大长度,适用于翻译导航的情况,比如“这行字5个链接控制在32个英文字符”,可以给翻译人员更大的自由度;翻译后放到UI上review,要让前端和翻译一起商量,因为两个角色的诉求是不同的,冲突需要融合;不建议为不同语言单独设计界面,成本太高,除非是要差异化运作。


    推荐阅读