有几个国家(土耳其、蒙古、吉尔吉斯斯坦等)一般男性的名字可以没有中间名,而是使用“oglu、uulu”等词。
例如“Michael oglu Bret”,意思是“布雷特的迈克尔之子”。
我曾经把这种词分开并假设它们是一个中间名,所以在过去的一周里,我对我这样做的方式的正确性感到怀疑。
是否有任何标准化或一些规则来处理这种名称?
我不能告诉你什么最适合你,但总的来说,中间名的概念并不能很好地映射到许多文化中。即使在西方(欧洲和北美),它最终造成的问题也多于解决的问题。最好放弃中间名,只使用两个字段作为名称:GivenNames 和 FamilyNames。在每个字段中,您必须允许名称包含多个名称单词,并允许名称很长。给定的名字是给孩子作为个人的名字,即个人名字,而姓氏是来自家庭和/或氏族的名字。通常,我们西方认为的名字和中间名是给定的名字,而姓氏是姓氏。
例如,西班牙裔命名约定是有两个姓氏——父姓和母姓。问题在于,习惯于一个名字、一个中间名和一个姓氏概念的数据输入人员会将其中一个姓氏放在中间名槽中,这是不正确的。
阿拉伯名称遵循类似于您在问题中描述的约定(请参阅http://en.wikipedia.org/wiki/Arabic_name#Arab_family_naming_convention)。在给定/家庭模型中,诸如“Saleh ibn Tariq ibn Khalid al-Fulan”(Saleh,Tariq 的儿子,Khaled 的儿子;al-Fulan 家族的儿子)之类的名字会将“Saleh”映射到给定的名字,并且“ ibn Tariq ibn Khalid al-Fulan”改为姓氏。但是,如果这些类型的名称都是您的系统将处理的,您可能会使用三个字段:名字/个人姓名、父亲姓名和家庭/氏族名称。只有一个名称字段是另一种选择。
最大的问题是让数据输入人员在与来自不同文化和命名约定的人打交道时一致且正确地映射名称。似乎无论您选择哪种模型来存储名称,它们都会错误地输入来自命名约定与自己不同的文化的名称。在编写名称查找时,这需要更多的编程工作来解决这个现实。
该网页讨论了许多与名称相关的问题: