Локализация ABAddressBook - PullRequest
       16

Локализация ABAddressBook

3 голосов
/ 30 декабря 2011

У меня есть приложение на основе адресной книги, в котором я беру имя контакта и отображаю его в таблице, как 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 решают эту проблему, набирая жирным шрифтом фамилию , но это кажется грубым для международного пользователя. Есть ли способ определения языка и отображения имени соответственно?

1 Ответ

1 голос
/ 03 января 2012

Хорошо, после небольшого копания я нашел ответ в новом NSLinguisticTagger в iOS 5, который может делать все виды чудесных вещей с помощью языка и строк. С небольшими манипуляциями можно заставить меня сказать, на каком языке находится строка и, следовательно, как составить полное имя. Ответ, который я отправил в другом вопросе, поскольку это утечка памяти, и я не могу решить это. Вот ссылка:

NSLinguisticTagger Утечка памяти

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...