Подтвердить что ты не робот

Заглавные буквы имен в программировании

Кто-нибудь знает какой-то код/​​правила о том, как правильно использовать имена людей?

  • Джон Смит
  • Йохан ван Ренсбург
  • Деррик фон Гог
  • Ruby de La Fuente
  • Питер Маклорин
  • Гарри Макдональд

(это может быть неверно, просто некоторые образцы имен и то, как может быть/работать капитализация)

Это похоже на проигрышную битву...

Если у кого-то есть код или правила о том, когда и как заглавные имена, сообщите мне:)

Cheers, Альберт

4b9b3361

Ответ 1

Единственный разумный способ справиться с этим, на мой взгляд, - позволить пользователям рассказать вам, как их имя должно быть заглавным. Любая автоматическая схема будет раздражать кого-то.

Ответ 3

Скажите им, что вы СТАРАЯ ШКОЛА. Это делает его простым и 100% правильным:

- JOHN SMITH
- JOHAN VAN RENSBURG
- DERRICK VON GOGH
- RUBY DE LA FUENTE
- PETER MACLAURIN
- GARRY MCDONALD

Та же логика также помогает во многих проблемах i18n.

Ответ 4

Я не уверен, что Ruby полезен, но вы можете взглянуть на NameCase. Даже если вы не работаете с Ruby, вы можете перенести это (это с открытым исходным кодом) на свой язык.

Ответ 5

Там также эта реализация в Python, которая основана на this алгоритм. Основная идея - преобразовать имя в заголовок, а затем проверить имя на гигантскую таблицу исключений.

Но на самом деле то, о чем говорил Джонатан Леффлер, - это то, что: если у вас есть какое-то требование для преобразования ранее существовавших неформатированных данных, автоматическая капитализация будет делать что-то неправильно (особенно, поскольку правила капитализации различаются между языковыми делениями, культурными делениями, изменениями имен, которые результат из эмиграции или люди просто предпочитают капитализировать свое имя определенным образом).

Ответ 6

Я продолжал искать имена, требующие специальной обработки. Когда было найдено совпадение без учета регистра, я использовал значение поиска. Это не разрешало людей, которые использовали случай, который не соответствовал "принятой" капитализации. Это позволило мне/пользователю добавлять имена по мере необходимости. Я не могу найти свой код, но я получил фамилии из http://www.census.gov/.