如何完成支持全球語(yǔ)言的UI設(shè)計(jì)?微信高手總結(jié)了8500字干貨!
讓應(yīng)用支持全球的各種語(yǔ)言是一項(xiàng)挑戰(zhàn)。兼容不同的語(yǔ)言形態(tài)、語(yǔ)法、數(shù)據(jù)格式需從設(shè)計(jì)層面就開(kāi)始考量。遺憾的是,我們很容易忽略使用其他語(yǔ)言或文字系統(tǒng)的用戶,從而使得體驗(yàn)受損,甚至造成用戶流失。
設(shè)計(jì)支持全球語(yǔ)言的 UI 的重要性主要體現(xiàn)在以下 3 個(gè)方面:
①提升用戶體驗(yàn)
支持本地語(yǔ)言的 UI 能提升用戶粘性,這對(duì)于提升用戶體驗(yàn)和用戶增長(zhǎng)非常重要。
②提升品牌全球影響力
通過(guò)支持全球語(yǔ)言,可以打造更具全球影響力的品牌,提升品牌的全球認(rèn)知度。
③推動(dòng)科技向善
引導(dǎo)大家關(guān)注處于文化弱勢(shì)困境的群體,讓所有人均可平等地享受科技帶來(lái)的便捷,實(shí)現(xiàn)「為所有人設(shè)計(jì)」的目標(biāo)。
可見(jiàn),設(shè)計(jì)支持全球語(yǔ)言的 UI 是至關(guān)重要的。因此,我們建議將支持全球語(yǔ)言納入到日常設(shè)計(jì)的考量范圍內(nèi)。
本文將從文本翻譯、文本排版、數(shù)據(jù)格式等 3 個(gè)方面,帶領(lǐng)讀者對(duì)多樣的語(yǔ)言環(huán)境進(jìn)行初步了解,并介紹相應(yīng)的最佳設(shè)計(jì)實(shí)踐。
一、文本翻譯
文本翻譯是支持多語(yǔ)言的第一步,也是最為重要的一步。通常,這部分工作主要都由專職的翻譯人員來(lái)完成。但為了保證翻譯質(zhì)量,我們還需盡可能做到以下 4 點(diǎn):
- 分離文本、代碼
- 分離文本、圖像
- 添加文本注釋
- 創(chuàng)建翻譯指南
1. 分離文本、代碼
將需要本地化的 UI 文本從代碼中分離出來(lái),以獨(dú)立的資源文件方式存放,以備交付給本地化人員進(jìn)行本地化處理。
我們可以在 Xcode 中使用 string catalog 來(lái)管理 UI 文本。
2. 分離文本、圖像
對(duì)于包含文本的圖像,為每個(gè)語(yǔ)言都提供一個(gè)獨(dú)立的素材,不僅成本高,還會(huì)增加應(yīng)用的內(nèi)存占用。因此,UI 文本應(yīng)與文本分離。
我們可以將這類圖像上的文本與圖像本身分層,以達(dá)到簡(jiǎn)單替換字符串即可完成翻譯的效果。
3. 添加文本注釋
為 UI 文本添加注釋(comments)可以為翻譯人員提供必要的信息,從而協(xié)助他們翻譯出清晰且自然的譯文。
注釋可以包含以下 2 類內(nèi)容:
①顯示位置
描述文本會(huì)顯示在什么 UI 元素上,例如:
Text("收藏", comment: "按鈕") Text("收藏", comment: "導(dǎo)航欄標(biāo)題")
②上下文
在上面的案例中,盡管已知曉文本的顯示位置,但翻譯人員可能還是無(wú)法知曉「收藏」的具體含義。其可能是「Add to Favorites」,也可能是「Favorites」。因此,注釋有時(shí)還需要添加上下文,如:
Text("收藏", comment: "按鈕: 收藏此項(xiàng)目") Text("收藏", comment: "按鈕: 前往已收藏項(xiàng)的列表")
4. 創(chuàng)建翻譯指南
通過(guò)以上設(shè)計(jì)策略,翻譯的準(zhǔn)確性已有所保證。但為了讓譯文更清晰、自然,我們還需創(chuàng)建翻譯指南。例如,淘寶的翻譯人員就需要從翻譯指南中了解「親」這一用詞的來(lái)源及含義。
翻譯指南主要包括以下 2 部份內(nèi)容:
①風(fēng)格指南(Style Guide)
風(fēng)格指南包含了產(chǎn)品的行文語(yǔ)氣、寫作風(fēng)格、句子結(jié)構(gòu)、拼寫等規(guī)則。其并非充滿語(yǔ)言規(guī)則的語(yǔ)法手冊(cè),而是幫助翻譯人員產(chǎn)出更佳譯文的工具。
②術(shù)語(yǔ)表(Glossary)
術(shù)語(yǔ)表包含了產(chǎn)品經(jīng)過(guò)考量的特定翻譯,以幫助翻譯人員保證翻譯的一致性。
二、文本排版
不同的語(yǔ)言有不同的展現(xiàn)形式。因此,我們需要提供能靈活變化以優(yōu)雅展示內(nèi)容的 UI。
制定文本排版策略應(yīng)主要考慮以下 5 點(diǎn):
- 字符形態(tài)
- 詞匯分隔
- 文本長(zhǎng)度
- 文本強(qiáng)調(diào)
- 縮寫
1. 字符形態(tài)
不同的語(yǔ)言通常使用不同的字符(glyph),其可以被分為以下 3 類:
①English-like
用于歐洲、非洲的大部分語(yǔ)言(如英語(yǔ)、希臘語(yǔ)、西里爾語(yǔ)、希伯來(lái)語(yǔ)、亞美尼亞語(yǔ)、格魯吉亞語(yǔ)等)的字符類型。
②Tall
用于南亞、東南亞語(yǔ)言(如阿拉伯語(yǔ)、印地語(yǔ)、泰盧固語(yǔ)、泰語(yǔ)、越南語(yǔ)等)的字符類型。
③Dense
用于中文、日文、朝鮮文的字符類型。
與拉丁字母的相比,tall、dense 類型的字符在視覺(jué)上顯得更復(fù)雜,如:
- 一些語(yǔ)言會(huì)在字符上方、下方添加重音符號(hào)(diacritic marks)、變音符號(hào)(accent marks)。如法語(yǔ)中的「père」。
- 泰語(yǔ)的元音字母(vowels)寫在輔音字母(consonants)的上方、下方、左側(cè)、右側(cè)。如「??????????」。
不僅如此,tall 類型的字符還容易出現(xiàn)文本被裁切的現(xiàn)象。
可見(jiàn),應(yīng)為使用較為復(fù)雜的字符的文本提供更大的行高、行間距,或更大的字號(hào),以確??勺x性。
我們也可以利用 UIKit 的「dynamic line-height adjustments」,以自動(dòng)優(yōu)化 tall 類型的字符的行高。
2. 詞匯分隔
詞匯分隔指的是,用特定的符號(hào)或空格將不同的詞或詞組分隔開(kāi)來(lái),使其更易于理解。例如,在英語(yǔ)中,我們通常在單詞之間使用空格來(lái)分隔它們。
對(duì)于沒(méi)有明顯的詞匯分隔的語(yǔ)言(如漢語(yǔ)、日語(yǔ)),一個(gè)單詞常常被拆分到 2 行中。當(dāng)此現(xiàn)象出現(xiàn)在標(biāo)題文本中時(shí),拆分的單詞會(huì)增加讀者的識(shí)別、理解成本。
為確保良好的可讀性,應(yīng)盡可能避免在標(biāo)題中拆分單詞。
我們也可以利用 UIKit 的「improved line breaking」,以自動(dòng)優(yōu)化漢語(yǔ)、日語(yǔ)、韓語(yǔ)的換行行為。
3. 文本長(zhǎng)度
將內(nèi)容翻譯成不同語(yǔ)言時(shí),譯文的長(zhǎng)度可能會(huì)有非常大的變化。
以下是「200 次瀏覽」中的「次瀏覽」在翻譯成不同語(yǔ)言后的長(zhǎng)度變化:
可見(jiàn),翻譯后的 UI 文本可能會(huì)面臨顯示空間不足或頁(yè)面空白過(guò)多的問(wèn)題。
以下是從英語(yǔ)翻譯到歐洲語(yǔ)言的平均預(yù)期擴(kuò)展率:
可見(jiàn),較短的文本字段更易受到文本擴(kuò)展的影響。
值得注意的是,文本擴(kuò)展關(guān)注的是「文本長(zhǎng)度」的變化,而不是「字符數(shù)」的變化。因?yàn)?,漢語(yǔ)、日語(yǔ)的字符所需的水平空間一般都比拉丁字母大得多。例如,英文中的「desktop」在日文中寫為「デスクトップ」,雖然日文的字符數(shù)少了 1 個(gè),但所需的水平空間卻大了很多。
①設(shè)計(jì)策略
以英語(yǔ)為基準(zhǔn),按以下表格提供的比率來(lái)設(shè)定顯示空間。
優(yōu)先縱向排布含文本圖層的元素。
若需要水平排布元素,盡可能減少每一行的元素?cái)?shù)量。
水平排列的元素可以通過(guò)自適應(yīng)向垂直方向擴(kuò)展。在 Figma 中,將 auto layout 的 direction 設(shè)為「warp」。
對(duì)于文本溢出的場(chǎng)景,可按需選擇省略、換行、折疊(漸進(jìn)展示)、滾動(dòng)(跑馬燈效果)等策略
- 若選用省略的策略,需要評(píng)估省略號(hào)前展示的內(nèi)容是否可被理解。在 Figma 中,為文本圖層開(kāi)啟「truncate text」。
- 若選用換行的策略,需要進(jìn)一步明確極限行數(shù),以保證容器高度可控。在 Figma 中,為文本圖層開(kāi)啟「truncate text」并設(shè)定「max lines」。
- 若選用滾動(dòng)的策略,需要評(píng)估是否會(huì)過(guò)度吸引注意力。
4. 文本強(qiáng)調(diào)
一些語(yǔ)言不適合使用粗體(bold)和斜體(italics)來(lái)強(qiáng)調(diào)文本。例如,中文、日文可以通過(guò)加粗來(lái)進(jìn)行強(qiáng)調(diào),卻通常不用斜體,因?yàn)樗鼈內(nèi)狈π斌w字形。
此外,一些語(yǔ)言不適合使用下劃線,如字符自帶基線的天城文。
可見(jiàn),應(yīng)慎用粗體、斜體、下劃線等字符樣式。
5. 縮寫
避免使用縮寫來(lái)規(guī)避文本擴(kuò)展的影響。因?yàn)?,?duì)于許多語(yǔ)言(如阿拉伯語(yǔ)、俄語(yǔ)),縮寫并不常見(jiàn)。此外,縮寫本身常常就是難以理解的。
三、讀寫方向
不同的語(yǔ)言通常使用不同的讀寫方向,其一般被分為以下 2 類:
①LTR Languages
全稱為「left-to-right languages」。如基于拉丁字母(如英語(yǔ)、法語(yǔ)等)、西里爾字母(如俄語(yǔ)、保加利亞語(yǔ)等)、方塊字(如漢語(yǔ)、日語(yǔ)等)的語(yǔ)言。
②RTL Languages
全稱為「right-to-left languages」。如阿拉伯語(yǔ)、波斯語(yǔ)、烏爾都語(yǔ)、希伯來(lái)語(yǔ)、意第緒語(yǔ)、迪維西語(yǔ)等語(yǔ)言。
此外,還有中文、日文、韓文的傳統(tǒng)垂直讀寫方向。對(duì)此,本文暫不展開(kāi)討論。
支持多讀寫方向不僅僅是簡(jiǎn)單地更改對(duì)齊方式、進(jìn)行鏡像翻轉(zhuǎn)。我們需要將 UI 元素分為以下 3 類來(lái)分別處理:
1. Mirrored
其包含 2 類:
①需要鏡像翻轉(zhuǎn)整體的元素類型,例如:
傳達(dá)水平方向的圖標(biāo)
需要鏡像翻轉(zhuǎn)布局的元素類型,例如:
①含圖標(biāo)的列表項(xiàng)
②導(dǎo)航欄按鈕
③按鈕組
對(duì)于需要鏡像翻轉(zhuǎn)布局的元素類型,應(yīng)使用 leading、trailing 屬性來(lái)描述布局,而不再使用左側(cè)、右側(cè):
- leading 指的是更接近讀寫起點(diǎn)的一側(cè),對(duì)于 LTR languages 來(lái)說(shuō)是左側(cè),對(duì)于 RTL languages 來(lái)說(shuō)就是右側(cè)。
- trailing 指的是更接近讀寫終點(diǎn)的一側(cè),對(duì)于 LTR languages 來(lái)說(shuō)是右側(cè),對(duì)于 RTL languages 來(lái)說(shuō)就是左側(cè)。
使用這組屬性后,設(shè)備會(huì)依據(jù)語(yǔ)言的讀寫方向來(lái)自動(dòng)轉(zhuǎn)譯頁(yè)面布局,以實(shí)現(xiàn)正確的讀寫方向。
2. Universal
指無(wú)需處理的元素類型,例如:
①不傳達(dá)水平方向的圖標(biāo)
②含右手操作含義的圖標(biāo)
③映射物理實(shí)體的圖標(biāo)
④圖標(biāo)中的斜杠
⑤媒體進(jìn)度條
⑥非 RTL 的文本
⑦數(shù)據(jù)圖(X 軸、Y 軸的位置始終不變)
值得注意的是,盡管 RTL 的本文一般使用右對(duì)齊,但若文本中穿插有 LTR 語(yǔ)言的段落,此段落仍需保持左對(duì)齊,以提高可讀性。
3. Dedicated
指需要為每個(gè)讀寫方向分別提供設(shè)計(jì)的元素類型。
四、語(yǔ)法
對(duì)于 UI 中的文本,符合諸如單復(fù)數(shù)、陰陽(yáng)性等語(yǔ)法規(guī)則是至關(guān)重要的。對(duì)于靜態(tài)文本,可以由專業(yè)的翻譯人員來(lái)維護(hù);而對(duì)于動(dòng)態(tài)生成的文本,則需要從代碼層面來(lái)進(jìn)行「語(yǔ)法自適應(yīng)」。
語(yǔ)法自適應(yīng)主要需處理以下 5 點(diǎn):
1. 標(biāo)點(diǎn)符號(hào)
不同的語(yǔ)言可能有不同的標(biāo)點(diǎn)符號(hào)規(guī)則,例如:
①樣式不同
②位置不同
③某些語(yǔ)言很少使用標(biāo)點(diǎn)符號(hào)
2. 大小寫
不同的語(yǔ)言可能有不同的大小寫規(guī)則,例如:
①某些語(yǔ)言會(huì)使用大小寫區(qū)分含義
②某些語(yǔ)言沒(méi)有大小寫的概念(如漢語(yǔ)、泰語(yǔ)、阿拉伯語(yǔ)等)
3. 復(fù)數(shù)
不同的語(yǔ)言可能有不同的處理名詞復(fù)數(shù)形式的規(guī)則(pluralization),例如:
①英語(yǔ)僅有 one、other 兩種復(fù)數(shù)形式。
②俄語(yǔ)則擁有更豐富的復(fù)數(shù)形式。
4. 語(yǔ)法性別
語(yǔ)法性別(grammatical gender)指的是,名詞、形容詞、代詞等詞性可能會(huì)根據(jù)所指代的實(shí)體的性別(包括 feminine、masculine、neutral)而有所不同。
例如,在西班牙語(yǔ)的外賣點(diǎn)單頁(yè)中,「份量(tama?o)」的選項(xiàng)應(yīng)符合用戶所選菜品的陰陽(yáng)性:
- 咖啡(cafe)是陽(yáng)性的。因此,小份的咖啡應(yīng)寫為「cafe peque?o」。
- 沙拉(ensalada)是陰性的。因此,小份的沙拉應(yīng)寫為「ensalada peque?a」,而不是「ensalada peque?o」
5. 并列結(jié)構(gòu)
并列結(jié)構(gòu)(parallel structure)指的是,在句子中由多個(gè)名詞、形容詞、副詞等成分并列放置的結(jié)構(gòu)。
不同的語(yǔ)言可能有不同的并列結(jié)構(gòu),例如,在英語(yǔ)中,并列結(jié)構(gòu)成分間僅需在插入逗號(hào)或「and」即可;但在西班牙語(yǔ)中,「and」一詞需根據(jù)上下文變?yōu)椤竬」或「e」。
6. 語(yǔ)境敏感性
人們通常會(huì)根據(jù)對(duì)象、話題、場(chǎng)合、文化背景等因素來(lái)變化措辭,以生成準(zhǔn)確、得體的表達(dá)。例如,在漢語(yǔ)中,下級(jí)到訪用「拜訪」,而上級(jí)到訪則改用「蒞臨」。
在 UI 中,影響措辭的常見(jiàn)因素為設(shè)備類型。設(shè)備類型對(duì) UI 文本的影響主要體現(xiàn)以下 2 方面:
①措辭變化
在 iPhone 上,一段文案可能會(huì)寫為「輕觸這里」;而在 iMac 上,這段文案則應(yīng)寫為「點(diǎn)擊這里」。
②文案體量
在 iPad 上,一段文案可能會(huì)寫為「Greetings and Salutations!」,而在 Apple Watch 上,這段文案則可能被縮寫為「Hello!」。
iOS、macOS、AndROId 平臺(tái)均在代碼層面提供了語(yǔ)法自適應(yīng)的解決方案。例如:
- 在 Apple 的平臺(tái)中,我們可以使用 NSInflectionRule 來(lái)自動(dòng)處理英語(yǔ)復(fù)數(shù)、時(shí)態(tài)變化。
- 在 Android 中,我們可以使用 Grammatical Inflection API。
五、數(shù)據(jù)格式
世界上有著多樣的數(shù)據(jù)格式:表示溫度的華氏度、攝氏度,表示長(zhǎng)度的中國(guó)傳統(tǒng)度量衡、國(guó)際單位制。UI 中的數(shù)據(jù)格式應(yīng)以用戶期望的形式顯示。
1. 單位制
不同的國(guó)家和地區(qū)可能有不同的單位制。例如,在美國(guó)用的英尺(feet)到法國(guó)需轉(zhuǎn)換為米(meter)。
世界上較為通用的單位制有以下 3 種:
- 國(guó)際單位制(SI)。適用于絕大部分國(guó)家和地區(qū)。
- 英制(Imperial Units)。主要用于英國(guó)民間、利比里亞、緬甸。
- 美式英制。普遍用于美國(guó)。
2. 數(shù)字
不同的國(guó)家和地區(qū)可能有不同的數(shù)字類型、書(shū)寫格式,例如:
其差異主要在于以下 3 點(diǎn):
①數(shù)字符號(hào)(Numeric Notation)
例如,阿拉伯?dāng)?shù)字符號(hào)的「123」,在爪哇語(yǔ)數(shù)字符號(hào)(Javanese)中寫為的「? ? ?」。
在 iOS 的鎖屏設(shè)置中,就提供了多種數(shù)字類型供選擇。
②十進(jìn)制分隔符(Decimal Separation)
例如,十進(jìn)制分隔符在瑞士通常為逗號(hào)「,」,但在中國(guó)為點(diǎn)「.」。
③數(shù)字分組(Number Grouping)
為了更容易閱讀位數(shù)較大的數(shù)字,人們常常會(huì)為數(shù)字進(jìn)行分組。在歐洲,通常為三位數(shù)一組,但在中國(guó)、日本、韓國(guó),則為四位數(shù)一組。
3. 貨幣值
不同的國(guó)家和地區(qū)可能有不同的幣種,這帶來(lái)了不同的貨幣值表達(dá)方式,例如:
其差異主要在于以下 4 點(diǎn):
①數(shù)字不同
詳情請(qǐng)見(jiàn)上文。
②貨幣符號(hào)不同
例如,人民幣的符號(hào)為「¥」,美元的符號(hào)為「$」,歐元的符號(hào)為「€」。
③貨幣符號(hào)的位置不同
例如,在日本,貨幣符號(hào)放在數(shù)字前(¥200),而法國(guó)則不然(200€)。
④貨幣符號(hào)和數(shù)值間是否有空格
例如,在美國(guó),貨幣符號(hào)和數(shù)值之間沒(méi)有空格($200),而荷蘭則不然(€ 399)。
此外,有些幣種的貨幣符號(hào)是相同的。例如:
- 人民幣和日元都用「¥」作為貨幣符號(hào)。
- 美元和加拿大元都用「$」作為貨幣符號(hào)。
我們可以使用 ISO 4217 貨幣代碼來(lái)解決貨幣符號(hào)相同的問(wèn)題。例如,將一百元的人民幣寫為「CNY 100」,將一百元的日元寫為「JPY 100」。
值得注意的是,「RMB」「軟妹幣」「塊」「米」均非國(guó)際通用的人民幣別稱,需避免使用。
4. 時(shí)間、日期
不同的國(guó)家和地區(qū)可能有不同的時(shí)間、日期格式,例如:
其差異主要在于以下 4 點(diǎn):
①順序
大多數(shù)歐洲國(guó)家使用「DD/MM/YY」格式,美國(guó)使用「MM/DD/YY」格式,日本使用「YY/MM/DD」格式。
②分隔符(Separators)
斜杠、破折號(hào)、連字符、句點(diǎn)均可能被用作分隔符。
③前導(dǎo)零(Leading Zero)
部份國(guó)家和地區(qū)會(huì)省略前導(dǎo)零,如「2023/6/6」;而其他地區(qū)則不然,如「2023/06/06」。
④小時(shí)制
12 小時(shí)制、24 小時(shí)制均可能被使用。
設(shè)計(jì)策略
①優(yōu)先使用公歷(Gregorian)
以避免產(chǎn)生歧義。也可以直接在頁(yè)面上對(duì)如何理解日期進(jìn)行說(shuō)明。
②優(yōu)先使用「YYYY-MM-DD」格式
因?yàn)?,這是 ISO 8601 推薦使用的較為清晰的格式。
③支持時(shí)區(qū)、夏令時(shí),以及本地日歷
例如,日本人通常使用皇歷(Imperial calendar)來(lái)記錄生日(如平成 31 年 1 月 1 日),泰國(guó)人經(jīng)常使用佛歷(Buddhist calendar)。
5. 電話號(hào)碼
不同的國(guó)家和地區(qū)可能有不同的電話號(hào)碼格式,例如:
- 在法國(guó),電話號(hào)碼以 2 個(gè)數(shù)字為 1 組,如「01 23 45 67 89」。
- 在英國(guó),電話號(hào)碼會(huì)被分為 3 組,如「01234 567 789」。
此外,電話號(hào)碼里可能還會(huì)包含國(guó)家代碼(如英國(guó)的國(guó)家代碼是「+44」)、地區(qū)分號(hào)(如上海的地區(qū)分號(hào)是「021」)。
建議將 International Telecommunication Union 的 E.164 standard 用作電話號(hào)碼格式的標(biāo)準(zhǔn)。
還可以利用 Google 的 libphonenumber 來(lái)自動(dòng)處理電話號(hào)碼格式。
6. 郵政編碼
不同的國(guó)家和地區(qū)可能有不同的郵政編碼格式,例如:
- 中國(guó)的郵政編碼由 6 個(gè)數(shù)字組成。
- 美國(guó)的郵編由 5 個(gè)數(shù)字組成。
- 英國(guó)的郵編由字母、數(shù)字混合而成。
建議將 Universal Postal Union 的 POST*CODE? DataBase 用作郵政編碼格式的標(biāo)準(zhǔn)。
7. 地址
不同的國(guó)家和地區(qū)可能有不同的地址格式,例如:
- 在中國(guó)、日本,地址的格式通常為宏觀到微觀。
- 在美國(guó),地址的格式通常為微觀到宏觀。
建議將 Universal Postal Union 的 POST*CODE? DataBase 用作地址格式的標(biāo)準(zhǔn)。
8. 人名
不同的國(guó)家和地區(qū)可能有不同的姓名格式。其差異主要在于以下 5 點(diǎn):
①順序
人名的構(gòu)成順序可能不同。如:
- 在中國(guó)、日本、韓國(guó)、匈牙利,人名的順序通常是「姓、名」,且無(wú)空格將其分隔。
- 但在英國(guó),人名的順序通常是「名、姓」,且有空格將其分隔。
②姓氏
人們可能沒(méi)有姓氏。
在印度南部、馬來(lái)西亞、印度尼西亞的一些文化中,許多人的名字只包含一個(gè)名字,沒(méi)有任何姓。
夫妻的姓氏可能不同。
雖然在美國(guó)、俄羅斯、日本等國(guó)家,妻子改用丈夫的姓氏仍然很常見(jiàn),但隨著女性權(quán)益的發(fā)展,有越來(lái)越多的女性選擇婚后不改姓。此外,甚至還有丈夫婚后改用妻子姓氏的情況。
人們可能有多個(gè)姓氏。
例如,在「María José Carre?o Qui?ones」這一西班牙名字中,「Carre?o」「Qui?ones」都是姓氏。這說(shuō)明此人可能是「Antonio Carre?o Rodríguez」和「María Qui?ones Marqués」的女兒。
多個(gè)姓氏的順序可能不同。
例如,西班牙語(yǔ)中,姓氏的順序是「父姓、母姓」;而在巴西的葡萄牙語(yǔ)中,順序?yàn)椤改感?、父姓」?/p>
多個(gè)姓氏之間可能會(huì)添加短詞。
如 Carre?o de Qui?ones、Tavares e Silva。
③特殊稱謂
人們可能有與真名無(wú)關(guān)的特殊稱謂。
例如,在泰國(guó),人們通常有一個(gè)常用于非正式場(chǎng)合的昵稱。這個(gè)昵稱也常用于向外國(guó)人介紹自己,因?yàn)樗ǔV挥?1 到 2 個(gè)音節(jié),更易于發(fā)音。舉個(gè)例子,泰國(guó)前總理 Thaksin Shinawatra 的昵稱是 Maew(????)。
④詞體變形
相同的姓名可能會(huì)根據(jù)性別產(chǎn)生詞體變形。
例如,對(duì)于「Patronymic」這一冰島名,用于男性時(shí)會(huì)以 -son 結(jié)尾,而用于女性時(shí)會(huì)以 -dóttir 結(jié)尾。
⑤多音字
相同的姓名可能會(huì)有不同的發(fā)音。
以日本人名為例。日本人名中的漢字(kanji characters)通常有多種發(fā)音。這可能使得人們難以確切地知道如何讀一個(gè)名字,并且也給給予發(fā)音的排序、檢索帶來(lái)困難。例如,「東海林賢蔵」這一姓氏可以被讀為「Tōkairin」,也可以讀為「Shōji」。
由此,人們會(huì)將日本人名轉(zhuǎn)換為用羅馬字母拼寫的形式,以便于非日語(yǔ)使用者更好地理解日本人名的發(fā)音和拼寫。但轉(zhuǎn)為羅馬化(kanji romanization)后的日本人名仍有相同發(fā)音帶來(lái)的問(wèn)題。例如,「莊司」「莊子」「東海林」「小路」羅馬化后都是「Shōji」。
設(shè)計(jì)策略
- 允許輸入特殊字符。應(yīng)允許用戶輸入連字符、撇號(hào)、空格等特殊字符。
- 允許不填寫姓氏。若將姓氏作為必填項(xiàng),沒(méi)有姓氏的用戶會(huì)在此字段中輸入垃圾數(shù)據(jù)(如「.」或「Mr.」)以勉強(qiáng)完成表格填寫。
- 支持設(shè)置稱呼。在設(shè)置個(gè)人資料時(shí),建議單獨(dú)詢問(wèn)用戶希望應(yīng)用如何稱呼他們。例如,對(duì)于中國(guó)人名「李曉月」,「李女士」「李小姐」「小李」「曉月」都是可能被期望的稱呼。
- 支持設(shè)置發(fā)音。鑒于多音字的存在,應(yīng)支持用戶聲明人名的正確發(fā)音。
- 支持多種排序方式。因?yàn)椋藗儾豢偸瞧谕葱帐吓判蚵?lián)系人。例如,泰國(guó)、冰島人希望按名字排序。
- 考慮僅提供一個(gè)足夠空間的全名輸入框。因?yàn)?,?lái)自不同文化的姓名的長(zhǎng)度、構(gòu)成、順序都是不同的。僅要求填寫一個(gè)姓名字短能減少大量適配工作,并提升靈活性。
總的來(lái)說(shuō),我們應(yīng)盡可能遵循由「Unicode CLDR Project」提供的規(guī)范。
值得注意的是,使用相同語(yǔ)言的用戶不一定會(huì)使用相同的數(shù)據(jù)格式。例如:一個(gè)生活在德國(guó)的以英語(yǔ)為母語(yǔ)的用戶,可能會(huì)選擇英語(yǔ)作為語(yǔ)言,選擇德國(guó)作為地區(qū)。
因此,UI 應(yīng)支持分別選擇語(yǔ)言、數(shù)據(jù)格式類型,以支持用戶的多樣化訴求。
六、設(shè)計(jì)驗(yàn)收
1. 使用 Pseudolanguages
對(duì)于多語(yǔ)言的頁(yè)面呈現(xiàn),我們推薦使用 Pseudolanguages(偽語(yǔ)言)進(jìn)行驗(yàn)收。
Pseudolanguages 并不是真實(shí)存在的語(yǔ)言,而是一種模擬其他語(yǔ)言的特征和特性的語(yǔ)言。通過(guò)在 UI 中使用 pseudolanguages,我們可以測(cè)試應(yīng)用在不同語(yǔ)言環(huán)境下的適應(yīng)性和可用性。
在 Xcode 中,我們可以使用以下 6 種 pseudolanguages 進(jìn)行驗(yàn)收:
①Double-Length Pseudolanguage
將文本長(zhǎng)度加倍,以測(cè)試應(yīng)用在長(zhǎng)文本環(huán)境下的效果。
②Right-to-Left Pseudolanguage
將語(yǔ)言方向改成從右往左,以測(cè)試應(yīng)用在從右到左的語(yǔ)言環(huán)境下的效果。
③Emotional Pseudolanguage
將文本轉(zhuǎn)換成 emoji 等利于傳達(dá)情感的形式。
④Accented Pseudolanguage
將文本轉(zhuǎn)換成帶有重音符號(hào)(accents)的文本,以測(cè)試應(yīng)用在帶有高低升降調(diào)的語(yǔ)言環(huán)境下的效果。
⑤Bounded String Pseudolanguage
在字符串兩端加上中括號(hào),以便識(shí)別出可能出現(xiàn)截?cái)嗟淖址?/p>
⑥Right-to-Left Pseudolanguage With Right-to-Left Strings
將語(yǔ)言方向改成從右往左,并在其中穿插右到左的文本。
以下是將「We love WeChat!」這一語(yǔ)句轉(zhuǎn)為部份類型的 pseudolanguages 的效果:
2. Checklist
以下 checklist 僅供參考,可以根據(jù)實(shí)際需求進(jìn)行調(diào)整。
結(jié)語(yǔ)
通過(guò)全球化的設(shè)計(jì),我們將朝著對(duì)全球用戶更具同理心的目標(biāo)邁出重要一步。我們希望能有更多設(shè)計(jì)師能參與到設(shè)計(jì)支持全球語(yǔ)言的 UI 的工作中來(lái),讓科技不再限于特定文化。
作者:We-Design
想了解更多網(wǎng)站技術(shù)的內(nèi)容,請(qǐng)?jiān)L問(wèn):網(wǎng)站技術(shù)