Мне нужно создать функцию, которая скажет мне, является ли символ гласным или согласным, но мне нужно, чтобы он был независимым от культуры. Другими словами, использование строки с "aeiou" недостаточно хорошо, потому что некоторые языки используют другие гласные, такие как акценты. Должен ли я составлять список всех символов Юникода, которые могут быть гласными, или есть более простой способ сделать это?
Я не думаю, что это возможно. Очень немногие языки имеют взаимное совпадение между символами и звуками для начала. Возьмите iota - некоторые произносят первый я как гласный, другие - согласные.
Фонетический алфавит должен помочь с этим. См. Например:
http://en.wikipedia.org/wiki/International_Phonetic_Alphabet
Вам нужно будет использовать фонетический алфавит в качестве посредника и взять оттуда гласные. Однако, тем не менее, у вас все еще есть проблема перевода слов в этот фонетический алфавит. Некоторые онлайн-словари могут помочь вам в этом, но даже тогда одно и то же слово будет появляться несколько раз, иногда с разными произношениями, и я не знаю, есть ли какие-либо возможности, позволяющие вам подключиться через веб-сервис или если являются любыми офлайн-вариантами.
http://www.photransedit.com/online/text2phonetics.aspx (пример с ужасными полноэкранными объявлениями)
Эта проблема граничит с сложностью программного обеспечения для перевода, где вам действительно нужно некоторое понимание контекста, чтобы понять, какое слово вам нужно искать и в какой базе данных.
Поэтому, в зависимости от ваших требований, вы можете начать как можно проще, но учтите это. Чтобы позволить вашему приложению получить точность позже, вы можете начать с создания функции, которая возвращает гласные IPA, а затем составить таблицу поиска для комбинаций букв и букв. Затем вы можете посмотреть на получение или создание лучших данных.
Вы можете использовать такие диаграммы как входные данные:
http://www.antimoon.com/how/pronunc-soundsipa.htm
Многие учебники по языку также имеют общий обзор. Мне всегда нравилась серия "Teach Yourself...", так как у них всегда есть обзор звуков языка.