Я знаю, что следующий ответ идет слишком много для практической простой реализации, но в случае, если кто-то хочет сделать это с точностью при некоторой шкале реализации.
Правило на самом деле довольно простое, но проблема в том, что правило зависит от произношения, а не от написания:
Если исходным звуком является гласный звук (необязательно гласный буква ), тогда добавьте «an», в противном случае добавьте «a».
Ссылаясь на примеры Джона:
«час», потому что здесь «h» - это гласный звук, а «исторический», потому что здесь «h» - согласный звук. «NBC», потому что «N» здесь читается как «en», тогда как «НАТО», потому что «N» здесь читается как «n».
Таким образом, вопрос сводится к выяснению: «когда определенные буквы произносятся как гласные». Для этого вам необходимо получить доступ к словарю, в котором есть фонологические представления для каждого слова, и проверить его начальную фонему.