added caching to translation loading
added ability to add or replace a translation