Completed language switching mechanism. Some glitches exist.