当前位置:操作系统 > 安卓/Android >>

android 系统语言为英语时,Contacts联系人名字含有特殊前缀后缀(Dr. Mr. Lt等)时的相关问题处理

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的定义,可以直接去掉客户在实际中遇到的特殊前后缀。
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,