Ohh boy, as someone who works on a travel booking, service serving customers in Asia, this problem hits hard. I guess the answer depends on how you plan to handle the names once they got submitted.
I happen to be handing that data over to airlines, which has some of the less forgiving, yet fragmented name requirements. If you handle this incorrectly, your customer can't fly, even after they paid for the flight. And for those who say that this doesn't matter as much: It absolutely does. People do get confused by this more frequently than you think. I've seen people losing an entire trip that they saved for, all because of unclear naming requirements.
The way I deal with this is to provide a country and locale specific name fields. You don't have to detect the geolocation or track the user for this, just let them choose whatever locale setting they want, and give them the "sensible" layout. Here are some examples:
- In Vietnam, we use last name then first name.
- In Indonesia, we use first name, then last name, but also give an option to declare that the person doesn't have a last name.
- In Singapore, we use a single field to input the first name and last name.
Even when you've handled the layout convention carefully, the 3rd party you're handing the data to, if one exists, might not give the same care and attention that you do. In my case: some airlines just haven't gotten around the idea that some people simply don't have last names. When a person with a single name wants to fly, airlines want the customer to use the name for both first and last name (e.g. If the person's name is David, then the airline expects "David David"). If you require First Name and Last Name as the input, and don't elaborate on how to fill them, the customer might simply fill the last name with a dot (".") character. The airlines / any other 3rd party won't accept that. For this, I suggest to detail out the ways in which you handle the data and go talk to your providers, if any.
All in all, it's a pretty tough challenge, and the wisdom around this isn't going to fit inside a single HN post. I do commend you for actually thinking about this problem. Good Luck.