Estoy de acuerdo con lo del inglés, yo trabajo en USA an una compañía multinacional, y en un proyecto me tocó trabajar con un sistema hecho en Guadalajara. Era una verdadera molestia tener que modificar el sistema del españól al inglés, y se veía raro utilizar variables en inglés apuntando a bases de datos en español. Yo también recomiendo utilizar el inglés para programar.
Respecto a lo de los prefijos, voy con RootK, aunque en un libro de .Net, el autor (
John Sharp) recomienda olvidarnos de los prefijos (
Notación Hungara) y nombrar las variables de acuerdo a su funcionalidad, es decir, en vez de btnSendInfo utilizar solo sendInfo, o txtUserName usar solo userName.
Este autor recomienda usar notación camelCase, es decir, empezar el identificador con minuscula, y si hay mas palabras, comenzarlas con mayúsculas.
Recomendación, hazlo de la forma que te sea mejor programar, yo uso notación húngara, se me hace mas fácil para saber con que tipo de objeto estoy trabajando, ya que un userName podria ser un TxtBox, un comboBox, etc.
Aquí hay un link con el estandar Microsoft
http://msdn2.microsoft.com/en-us/library/ms229045.aspx
Creo que esto es por lo que estabas preguntando.