I had a look at the ruby-gettext src. Thanks to open classes and modules in Ruby it was really easy to work around the behaviour of having a different textdomain for every file. The solution looks like this: # lib/gettext_extension.rb require ''gettext'' include GetText # we want to be able to translate *everywhere* module GetText # GetText has this behaviour that it saves the binding to the mo file # on a file by file basis. We have to override this behaviour, so that # a binding exists for all files in a request. module_function def callersrc; ''*'' end end I will be writing a lengthier tutorial with better explanations tomorrow. Sascha