i18n with some code improvements, plus a brazilian portuguese translation