i18n changes
use predicates in enumerize