Refactored to allow for the creation of multiple simultaneous instances of i18n.  Calls to i18n.add must now be i18n.translator.add