i read all the code and javadocs in these commits and i have still no idea how this works. can we move all the i18n things to the utils package?