Google AJAX Language API с китайским языком - PullRequest
3 голосов
/ 08 января 2010

Кто-нибудь знает, есть ли поддержка китайского пиньинь? Я получаю результаты здесь с правильным китайским пиньинь (см. Ссылку "Показать латинизацию").

Спасибо.

Ответы [ 3 ]

2 голосов
/ 08 января 2010

Я не знаю, есть ли в API Google AJAX Language поддержка для преобразования в пиньинь, но если они этого не делают, на самом деле нет ничего сложного в том, чтобы выполнить сносное преобразование на вашем компьютере. (Обратное преобразование из пиньинь в ханци (символы) намного более сложно, потому что пиньинь очень с потерями.)

Чтобы выполнить преобразование самостоятельно, возьмите Unihan.zip , загружаемую версию базы данных Unihan . Файл, который вас действительно волнует, - это 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») - это кодовая точка Юникода, средний столбец - имя атрибута, а правый столбец - значение атрибута. Вы можете извлечь либо атрибуты kHanyuPinyin, либо атрибуты kMandarin. Они кодируют в основном одну и ту же информацию - просто используйте любой более удобный для вас формат. (hǎo == HAO3, hào == HAO4, если это не очевидно)

Вы заметите, что для некоторых символов (как пример, который я выбрал здесь) есть несколько произношений. Это один хитрый момент. В зависимости от того, какой точности вы хотите, вы можете избежать использования только первой перечисленной латинизации, так как они в порядке убывания частоты. (На самом деле, это одно из мест, где kHanyuPinyin немного отличается от kMandarin - у него фактически есть несколько списков произношения, каждый из которых упорядочен по частоте.)

1 голос
/ 15 сентября 2010

Вы можете обмануть API, чтобы дать вам пиньинь, переводя с китайского на китайский. Образец ссылка .

0 голосов
/ 03 апреля 2010

Google переводчик включает в себя «показать / скрыть латинизацию», которая ЛУЧШЕ, чем UNIHAN, по двум причинам. Во-первых, известные слова логически сгруппированы надлежащим образом (по крайней мере, он пытается это сделать). Во-вторых, китайские иероглифы имеют более одного возможного произношения. Нетрудно понять, какая транслитерация пиньинь является правильной. Вот что делает движок перевода.

...