У меня есть приложение на основе адресной книги, в котором я беру имя контакта и отображаю его в таблице, как ABPeopleViewController, используя
NSString *name = (NSString *)ABRecordCopyCompositeName([contacts objectAtIndex:indexPath.section]);
aCell.textLabel.text = name;
[name release];
Это прекрасно работает, когда я имею дело с английскими именами; они выходят так, как я хочу, чтобы они:
John Smith (good)
Jane Doe (good)
Taro Tanaka (Actually 太郎田中, and meh)
Последний, по-японски, в идеале должен быть Танака Таро.
Когда я вместо этого изменил язык на китайский и японский, я получаю следующее:
Smith John (bad)
Doe Jane (bad)
Tanaka Taro (田中太郎, good)
Хотя для всех языковых настроек мне нужно:
John Smith
Jane Doe
Tanaka Taro (田中太郎, that is)
Встроенные контакты Apple решают эту проблему, набирая жирным шрифтом фамилию , но это кажется грубым для международного пользователя. Есть ли способ определения языка и отображения имени соответственно?