update implementation, use __ instead of i18n