String inflection framework