Конвертируйте японское кандзи в фуригану, используя драгоценный камень Natto (Mecab)
Используя Natto gem (MeCab), можно ли преобразовать смешанную строку катакана / хирагана / кандзи / альфа в катакана / хирагана / альфа? (т.е. преобразует кандзи).
Например мне нужно конвертировать этот текст:
日本語だぜ、これが。
これはカタカナである。
こいつはEnglish alphabet charsなのです。
ABC123てのは全角英数字です。
в это:
にほんごだぜ、これが。これはカタカナである。こいつはEnglishalphabetcharsなのです。ABC123てのはぜんかくえいすーじです。
Спасибо!
1 ответ
Автор натто rubygem здесь. Спасибо за использование натто!
Если я правильно понимаю ваш вопрос, вы хотели бы преобразовать только символы кандзи в их соответствующие символы хирагана (фуригана). Библиотека расширений Ruby NKF позволяет вам преобразовывать катакану в хирагану, и поскольку MeCab yomi по умолчанию возвращается как катакана, вы можете комбинировать натто и NKF для преобразования значений йоми только для кандзи, оставляя другие символы (хирагана, катакана, полный текст). и / или символы половинной ширины) как есть.
Ключ заключается в том, чтобы использовать natto для синтаксического анализа входных данных и проверки значения типа char для каждого узла MeCab. Если значение типа символа узла равно 2, это соответствует узлу кандзи. Затем вы можете получить значение катакана йоми из узла MeCab, а затем использовать NKF для преобразования катакана йоми в хирагану.
Я просто привел пример в натто вики.
Надеюсь, это поможет!