This problem would go away if CLangInfo held only the keyboard layout for the single language it represents.  i.e. g_langInfo probably isn't the appropriate place to hold stuff from English if the language is set to Russian.