Я пытаюсь написать программу, которая может транслитерировать CJK на латынь (например, пиньинь, ромаджи и т. Д.). Например, вы даете китайский, японский или корейский документ в качестве входных данных, а затем получаете транслитерированную версию на латиницу в качестве выходных данных.
Я новичок в этой области, поэтому, пожалуйста, потерпите меня здесь.
Очевидно, что сначала мне нужно определить тип языка (китайский, японский или корейский), прежде чем идти дальше. Затем, как я понял до сих пор, для выполнения транслитерации мне нужно разделить текст на слова, поскольку в этих языках нет пространство между словами. Это называется сегментация слов. Наконец, после выяснения слов мне нужно перевести их на латынь.
Вот мой вопрос:
ICU: есть примеры в http://userguide.icu-project.org/transforms/general и ICU 50 теперь имеет сегментацию слов CJK. uconv
образец может быть использован с чем-то вроде uconv -f utf-8 -t utf-8 -x 'Any-Latin'
пройти Any-латинское преобразование. Это не принимает во внимание язык, хотя.
Других решений пока нет …