Yet another step would be to re-implement #translated to take into account the location of the sender. This could be performance- critical, as "thisContext sender" gets you only the compiled method but not the class or selector of the method. Probably the translator should have a cache keyed by compiled method and string, but the details might be tricky.
Just an idea, but a Compiler hack that compiles:
'abc' translated
to:
'abc' translatedFor: aClass
might work. The aClass may be a Symbol, or a class category.
-- Yoshiki