cache translation locally, and instead of blocking the UI while loading translation, just block the request. implementation of #19