1. 進入contacts app,建立一個連絡人;
2. 在連絡人姓名欄輸入如下類似欄位(目前已知):
Class 1: common_name_prefixes
1LT , 1ST , 2LT, 2ND, 3RD, ADMIRAL, CAPT, CAPTAIN, COL, CPT, DR, GEN, GENERAL, LCDR, LT, LTC, LTG, LTJG, MAJ, MAJOR, MG, MR, MRS, MS, PASTOR, PROF, REP, REVEREND, REV, SEN, ST
Class 2: common_name_suffixes
B.A. , BA , D.D.S. , DDS , I, II, III, IV, IX, JR., M.A., M.D., MA,MD, MS, PH.D., PHD, SR, V, VI, VII, VIII, X
Class 3: common_last_name_prefixes
D\’, DE, DEL, DI, LA, LE, MC, SAN, ST, TER, VAN, VON
Class 4: common_name_conjunctions
&, AND, OR
更多內容可查看對應軟體版本下路徑:”alps/frameworks/base/core/res/res/values-en-Rus”下的donottranslate-names.xml檔案中所列舉的絕大多數特殊前尾碼。
3. 當姓名中含有這些特殊欄位時,會對其作特殊處理,比如“Mr”,”Dr”,”Lt” 等可能會當作首碼處理而不作為名字;而”van”,”LA”,”DE”等可能會直接當作last name的首碼處理,而不參與名字的順序交換,等等。分別舉例:對於前者來講,如果在連絡人編輯介面的name輸入框輸入"Mr","Dr","Lt"等,再輸入號碼時儲存後連絡人名字為該號碼,若不再輸入號碼時儲存後連絡人名字為no name;對於後者來講,如果在name輸入框輸入”Van minh”,如果交換first name和last name的顯示順序,則不會有變化。
4. 這是google default設計邏輯,也是符合英語的使用習慣的。
請找到”alps/frameworks/base/core/res/res/values-en-Rus”下的donottranslate-names.xml檔案,裡面有關於”common_name_prefixes”,”common_name_suffixes”,”common_last_name_prefixes”和”common_name_conjunctions”欄位string的定義,可以直接去掉客戶在實際中遇到的特殊前尾碼。