Как транслитерировать китайский текст в пиньинь на iPhone? - PullRequest
3 голосов
/ 16 марта 2009

Продолжается сага о локализации ...

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

Допустим, у вас есть строка 巴拉克 · 奥巴马, и вы хотите выяснить, в какой раздел китайской телефонной книги ее вставить (в этом примере я игнорирую имя / фамилию и просто использую первый символ строки) ...

Сначала вы транслитерируете его в пиньинь, который дает вам "балакэ аобама" Затем вы сопоставляете на основе первого символа этой строки: "b"

Итак, вопрос в том, как я могу перейти от 巴拉克 · 奥巴马 к баламовой аобаме с помощью iPhone SDK? Похоже, что библиотека ICU , которая поставляется по телефону, может выполнять такую ​​транслитерацию, но я не уверен, смогу ли я легко использовать ее из своего кода, и даже если я смогу, я не Не знаю, включен ли материал транслитерации в сборку ICU, которая поставляется по телефону.

Если ICU не используется, у кого-нибудь есть идеи получше?

Ответы [ 3 ]

1 голос
/ 14 января 2010

В последних версиях iPhone SDK (3.0 и более поздних) класс UILocalizedIndexedCollation может выполнять сопоставление для китайского и всех других языков, поддерживаемых в iPhone.

1 голос
/ 16 марта 2009

Вы очень хорошо должны сделать это с помощью справочной таблицы. Помните, что у каждого символа ханци есть (по крайней мере) одно чтение, но связь между персонажем и тем, как он звучит, нерегулярна, а иногда и произвольна.

0 голосов
/ 16 марта 2009

Прошу прощения за мое невежество, но не -localizedCompare: или -compare:options:range:locale: между двумя NSStrings этот порядок сортировки работает для вас?

...