Я не знаю, есть ли в 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 - у него фактически есть несколько списков произношения, каждый из которых упорядочен по частоте.)