Personal names around the world
To sum it up:<p>TL;DR - Names are complex, simply ask the person for an unicode representation of how they'd like to be called and use exactly that.<p>1. Any reasonable assumptions or generealizations that you could try to make about names are wrong for millions of people, so don't make any.<p>2. There is no reasonable way to automatically split a person name in meaningful parts, because there is no such thing as a single universal ontology of meaningful name parts that will fit everyone. Treat personal names as indivisible, immutable items; don't try to separate them in parts.<p>3. There is no reasonable way to automatically generate a short-polite-addressable form from a full name, aside from (a) asking the user or (b) limiting yourself to a whitelisted subset of names that won't work for millions of USA citizens, much less globally. So don't even try.<p>4. Don't assume that you can infer [non]existence of family relations from their names. You can't.