There's also the M68k to PPC translator that Apple implemented when they switched from the 68000 to PPC. That performed dynamic recompilation on blocks of code as it ran! M68k software running on a PPC of the time could actually run *faster* through this method than on native hardware!
That was an emulator, which is not quite the same as a translator. Yes, software could run faster through the emulator than on an original M68k Mac, but only because the PPC is so much faster than a 68000. The emulator also implemented OS functions in native PPC code, and took full advantage of similarities between PPC and M68K Macs.
Well, it was an emulator in the sense that it emulated the functions of an M68k Mac, yes. However, the second version for PCI systems performed dynamic recompilation on chunks of code as it ran.
DRC is defined as: Reading machine code from a source platform and emitting it for the target platform.
That's what both Rosetta *and* the M68k Emulator did for their respective platforms. Hence, they both used forms of binary translation.
Yes, the M68k system was called an emulator, mainly because it emulated parts of an M68k Mac *other* than the processor. However, an emulator can still use binary translation as one method of emulating a CPU (other methods include CPU emulatiom entirely in software, virtualization, etc).
Edit: In the video this thread is based on, the guy uses a form of static translation. That is, all the work in converting from one architecture to another is done before the program is run and only needs to be done once.
Dynamic translation does this on the fly, on the target architecture as the code is run.
Those are both considered forms of emulation, even though it's not what we traditionally think of as emulation (which in a lot of cases is creating a soft CPU that emulates all the registers and features of the source CPU.