`

Person对象中"姓-名"的设计及中英习惯不同的问题

    博客分类:
  • java
阅读更多
以前一直用 FirstName,LastName来进行设计,一般来说FirstName代表名,LastName代表姓,但咱中国人可不是这么整的,小日本,韩国也不是这么整的。

在gmail里发邮件时,在发件人里看见自己的名字在前姓在后,别扭啊。

想设计个比较好的结构
1. FullName ,FamilyName设计,个人觉得LastName代表姓,完全是按照老外自己的习惯而言的,从字面看就是后一个名字,有歧义,还是用FamilyName来表达姓比较好。之所以要这个FamilyName,无非是有时需要,Welcome,Mr Gui,或者桂先生你好等。

2. FirstName,LastName,isTurnName,isTurnName用来表示姓名是否倒置。

3. CnXing,CnMing,EnFirstName,EnLastName, 个人有些大汉族主义,觉得未来很长时间中文和英文是两种主要语言,中文名,英文名也将成很多人都需要准备的名字。其他民族名,不考虑。

如果你设计一个网站,对于个人信息的设计,你会选哪一种?
分享到:
评论
7 楼 caryl 2008-08-04  
直接用name1、name2得了
对于老外,name1是lastname,name2是firstname;对于中国人,name1叫姓,name2叫名
6 楼 hax 2008-08-02  
name很难做到国际化。因为有些文化里名字有超过2个部分,比如middle name。还有prefix和suffix。有些文化里甚至没有姓。

如果考虑中国传统的,那还有 generation name (也就是许多人名字当中有个字是按家谱辈份排的)。甚至还有字、号等。

此外对于女性来说还有夫家姓。

所以可以说没有一个放之四海的方案。如果有,也会非常的复杂。

不过考虑一般IT系统在绝大多数情况下的需求,无外乎:

full name 法律意义上的全名
given name 名
family name 姓
display name 用于显示的名字

举例如下:
full name: John Hax
given name: John
family name: Hax
display name: Dr. Hax

此外有些系统需要加入姓名检索方式。比如可以用“Hax, John”表示姓名检索两个部分,先比较Hax再比较John。

5 楼 都别装了 2008-06-25  
jasongreen 写道
都别装了 写道
数据库还是叫first / last name 在页面显示的时候做i18n不就好了么 还弄这么多ooxx name出来 真是有空哦!!


name怎么做i18n?

person 和 name 是 one-to-many的关系
name对象上有属性标明它是什么语言
明白否??
4 楼 quaff 2008-06-25  
我搞不懂的是老外为什么一定要把first name和last name分开,直接用一个name不就完事了
3 楼 jasongreen 2008-06-25  
都别装了 写道
数据库还是叫first / last name 在页面显示的时候做i18n不就好了么 还弄这么多ooxx name出来 真是有空哦!!


name怎么做i18n?
2 楼 都别装了 2008-06-25  
数据库还是叫first / last name 在页面显示的时候做i18n不就好了么 还弄这么多ooxx name出来 真是有空哦!!
1 楼 叶子 2008-06-25  
e文 显示时候就颠倒下顺序不就得了。。

相关推荐

Global site tag (gtag.js) - Google Analytics