il MSDN dice
La cultura è una proprietà del thread in esecuzione. Questa proprietà di sola lettura equivale al recupero dell'oggetto CultureInfo restituito dalla proprietà Thread.CurrentCulture. Quando viene avviato un thread, la sua cultura viene determinata inizialmente chiamando la funzione Windows GetUserDefaultLocaleName.
In altre parole, si basa sul filo, strega ha un contesto ... nel contesto ASP.NET, che viene dalla Locale utilizzato nel browser cliente in primo luogo se si utilizzaServer Variables
o Impostazioni di sistema su tutto il resto.
Sotto questo contesto Web si può ottenere con il metodo Server.Variables
su HTTP_ACCEPT_LANGUAGE
e otterrete qualcosa di simile:
en-US,en;q=0.8,pt-PT;q=0.6,pt;q=0.4
Strega afferma che il browser client dispone di 3 lingue impostate, in cui il primo è en-US
.
Tutto da System.Globalization
viene dal Sistema definizioni proprio come l'immagine sotto mostra:
codice
sopra è:
<p>
<pre>System.Globalization.CultureInfo.CurrentCulture</pre>
is @System.Globalization.CultureInfo.CurrentCulture.EnglishName
</p>
Non importa quale browser è in uso, il definizione per System.Globalization
verrà sempre dalla definizione del sistema operativo
Grazie Balexandre, questa sembra essere una buona informazione. Ma ho appena controllato le impostazioni locali del mio browser e il suo en-US (sto usando firefox e ho controllato l'impostazione general.useragent.locale sotto about: config) anche i miei sistemi datetime e le impostazioni regionali sono state impostate su en-US. Ma ancora ottengo en-IN quando controllo System.Globalization.CultureInfo.CurrentCulture. Hai idea di dove mi sbaglio? – TechnicalSmile
aggiunta immagine per una migliore comprensione ... – balexandre