Jeste ako algoritam radi slovo po slovo, ali da bi spisak izuzetaka imao smisla, moraš da napraviš prepoznavanje reči, npr ako naiđeš na slovo a pre toga je bio razmak, tab, novi red ili interpunkcija, to je početak reči; u obrnutom slučaju je kraj; pa onda ne obrađuješ dokument slovo po slovo nego reč po reč, gde stalno proveravaš da li reč postoji u bazi i kako je u tom slučaju obrađuješ. Uzevši u obzir i uvek zanimljive rodove, padeže, priloške odredbe itd, tu se priča dodatno komplikuje (pored prepoznavanja reči, moraš da radiš i nekakav search-replace delova reči koji se ne menjaju, ili da čuvaš svaku reč u svim mogućim oblicima pa da radiš pretragu u bazi).
TL;DR Možda prosto da radiš copy-paste teksta u preslovljavanje.com, mislim da je to najkompletniji "endžin" koji sam probao.