The other approach I've seen is having some sort of weird key combination (like "hitting both shift keys at once") to switch back and forth between two layouts. I saw somebody using it for QWERTY vs. DVORAK but it seems like it'd be viable for two language layouts too.