The document I followed was [Sinatra I18n guide](http://recipes.sinatrarb.com/p/development/i18n). I18n, as a global module, holds the current locale in the environment, so that `I18n.t` and other methods work. It is per-request (wrapped in `before` block) so it should not be so static that affects other requests.