CurrentCulture
es la representación .NET de la configuración regional de usuario predeterminada del sistema. Esto controla el número predeterminado y el formato de fecha y similares.
CurrentUICulture
hace referencia al idioma predeterminado de la interfaz del usuario, una configuración introducida en Windows 2000. Esto se refiere principalmente a la parte de localización/traducción de la interfaz de usuario de su aplicación.
Cualquiera que sean las opciones regionales que el sistema esté configurado para tener serán los valores "actuales" en su aplicación .NET.
Muchas veces son las mismas. Pero en mi sistema serían diferentes: prefiero mis números y fechas en el formato alemán, por lo que el CurrentCulture
sería alemán, pero también prefiero todas mis aplicaciones en inglés, por lo que el CurrentUICulture
sería inglés.
Hay un buen artículo sobre el tema: Sorting it all Out: Why we have both CurrentCulture and CurrentUICulture
Tenga en cuenta que Microsoft, en su sabiduría, no separa las culturas UI del inglés estadounidense y el inglés (británico) u otros idiomas. No hay MUI para inglés, lo que significa que 'CurrentUICulture' siempre estará en EE. UU. En una máquina en inglés, independientemente de' CurrentCulture', que se puede configurar para localizar las configuraciones regionales. – nicodemus13
Sí. Estoy en el Reino Unido y encuentro 'CurrentCulture' como 'en-GB', pero' CurrentUICulture' es 'en-US'. –