I18n extension module, some refactoring
use I18n.transliterate rather than Iconv.iconv for inferred keys

the latter is deprecated and unreliable (since it is platform-dependent)