Кто-нибудь знает, есть ли поддержка китайского пиньинь? Я получаю результаты here с правильным китайским пиньином (см. Ссылку «Показывать руманизацию»).API API Google AJAX с китайским языком
спасибо.
Кто-нибудь знает, есть ли поддержка китайского пиньинь? Я получаю результаты here с правильным китайским пиньином (см. Ссылку «Показывать руманизацию»).API API Google AJAX с китайским языком
спасибо.
Я не знаю, поддерживает ли API AJAX Language API конверсию на пиньинь, но если они этого не делают, на самом деле не слишком сложно выполнить сходящееся преобразование. (Обратное преобразование из пиньиня в Hanzi (символы) является более сложным много, потому что пиньинь очень потери.)
сделать преобразование себя, возьмите Unihan.zip, а downloaable Verion в Unihan database. Файл, который вам действительно нужен, - Unihan_Readings.txt. Он также содержит кучу вещей, которые вам не нужны, и он также хранится довольно неэффективно, поэтому не стоит слишком беспокоиться о больших размерах файлов. Вы должны извлечь материал, который вам интересен, и сохранить его более эффективным способом.
В нем вы найдете разделителями табуляции линии, как это:
U+597D kCantonese hou2 hou3
U+597D kDefinition good, excellent, fine; well
U+597D kHangul 호
U+597D kHanyuPinlu hao3(6060) hao1(142) hao4(115)
U+597D kHanyuPinyin 21028.010:hǎo,hào
U+597D kJapaneseKun KONOMU SUKU YOI
U+597D kJapaneseOn KOU
U+597D kKorean HO
U+597D kMandarin HAO3 HAO4
U+597D kTang *xɑ̀u *xɑ̌u
U+597D kVietnamese háo
U+597D kXHC1983 0445.030:hǎo 0448.030:hào
В левой колонке («U + 597D») является юникода элемент кода, средний столбец является именем атрибута, а также право column - значение атрибута. Вы можете извлечь атрибуты khanyuPinyin или атрибуты kMandarin. Они кодируют в основном одну и ту же информацию - просто переходите к тому, что вам более удобно для вас. (hǎo == HAO3, hào == HAO4, если это не очевидно)
Вы заметите, что для некоторых символов (например, пример, который я выбрал здесь) есть несколько произношений. Это один сложный бит. В зависимости от того, насколько точно вы хотите, вы можете уйти, просто используя перечисленную первую руманизацию, так как они находятся в порядке уменьшения частоты. (На самом деле это одно из мест, где khanyuPinyin немного отличается от kMandarin - на самом деле он имеет несколько списков произношений, каждый из которых упорядочен по частоте.)
Google translate включает в себя «показать/скрыть латинизацию», которая ЛУЧШЕ, чем UNIHAN по двум причинам. Во-первых, известные слова логически сгруппированы вместе надлежащим образом (по крайней мере, он пытается это сделать). Во-вторых, китайские иероглифы имеют более одного возможного произношения. Нет никакой тривиальной проблемы, чтобы выяснить, какая пиньинь транслитерация является правильной. Это то, что делает механизм перевода.
Вы можете обмануть API, чтобы дать вам Pinyin, переведя с китайского на китайский. Образец link.
Да, я тоже об этом думал, но получение данных из Unihan - это еще один запрос к db, и это не лучшее решение для длинных слов. Я уверен, что API Google AJAX Language API использует тот же словарь, что и Google Translate, но вопрос в том, как получить пиньинь, а также сам перевод? –
Я согласен с тем, что было бы неплохо получить эту информацию из API, который вы уже используете, если он есть. Это скорее «план Б». Я не уверен, что вы имеете в виду, но вы можете хранить данные, которые вы извлекаете из Unihan на клиенте. Взгляните на http://xenomachina.com/toys/pinyin2hanzi.html, страницу на моем сайте, которая выполняет обратное сопоставление. Он имеет файл js со всем отображением pinyin-to-hanzi (извлеченный из Unihan.txt), и это всего лишь 50K. –
Спасибо за предложение! –