Non-Western person names
|Reported by:||Owned by:||nobody|
|Cc:||davidzhou@…||Triage Stage:||Design decision needed|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Currently, django.contrib.auth have two fields for a person name: first name and last name. And make full name by combining the two with "%s %s". This is okay for Western names, but not good for internationalization.
What is Yao Ming's "first name"? Is it Yao or Ming? An internationalized web framework should support name order, family name first or given name first. And besides, family name and given name not always have a space character between the two. Chinese and Japanese languages don't use space characters to separate words. As for verbose name, Chinese usually call someone by his/her full name ("Hello, Yao Ming", instead of "Hello, Ming"). So have considered of all these complicated things, I would prefer have only one field "full name" in database, and generate first name and last name from full name as an opposite from the current implementation. This is also benifical for non-person, for example, an organization or a pet usually does not have first/last name, but only one name.