CultureInfo.CurrentCulture CultureInfo.CurrentCulture CultureInfo.CurrentCulture CultureInfo.CurrentCulture Property

Definición

Obtiene o establece el objeto CultureInfo que representa la referencia cultural utilizada por el subproceso actual.Gets or sets the CultureInfo object that represents the culture used by the current thread.

public:
 static property System::Globalization::CultureInfo ^ CurrentCulture { System::Globalization::CultureInfo ^ get(); void set(System::Globalization::CultureInfo ^ value); };
public static System.Globalization.CultureInfo CurrentCulture { get; set; }
member this.CurrentCulture : System.Globalization.CultureInfo with get, set
Public Shared Property CurrentCulture As CultureInfo

Valor de propiedad

El objeto que representa la referencia cultural utilizada por el subproceso actual.An object that represents the culture used by the current thread.

Excepciones

La propiedad se establece en null.The property is set to null.

Ejemplos

En el ejemplo siguiente se muestra cómo cambiar el CurrentCulture y CurrentUICulture del subproceso actual.The following example demonstrates how to change the CurrentCulture and CurrentUICulture of the current thread.

using namespace System;
using namespace System::Globalization;
using namespace System::Threading;

int main()
{
   // Display the name of the current thread culture.
   Console::WriteLine("CurrentCulture is {0}.", CultureInfo::CurrentCulture->Name);
   
   // Change the current culture to th-TH.
   CultureInfo::CurrentCulture = gcnew CultureInfo("th-TH",false);
   Console::WriteLine("CurrentCulture is now {0}.", CultureInfo::CurrentCulture->Name);
   
   // Displays the name of the CurrentUICulture of the current thread.
   Console::WriteLine("CurrentUICulture is {0}.", CultureInfo::CurrentCulture->Name);
   
   // Changes the CurrentUICulture of the current thread to ja-JP.
   CultureInfo::CurrentUICulture = gcnew CultureInfo("ja-JP",false);
   Console::WriteLine("CurrentUICulture is now {0}.", CultureInfo::CurrentCulture->Name);
}
// The example displays the following output:
//       CurrentCulture is en-US.
//       CurrentCulture is now th-TH.
//       CurrentUICulture is en-US.
//       CurrentUICulture is now ja-JP.
using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()  
   {
      // Display the name of the current thread culture.
      Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name);

      // Change the current culture to th-TH.
      CultureInfo.CurrentCulture = new CultureInfo("th-TH", false);
      Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name);

      // Display the name of the current UI culture.
      Console.WriteLine("CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name);

      // Change the current UI culture to ja-JP.
      CultureInfo.CurrentUICulture = new CultureInfo( "ja-JP", false );
      Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name);
   }
}
// The example displays the following output:
//       CurrentCulture is en-US.
//       CurrentCulture is now th-TH.
//       CurrentUICulture is en-US.
//       CurrentUICulture is now ja-JP.
Imports System.Globalization
Imports System.Threading

Public Module Example
   Public Sub Main()

      ' Display the name of the current thread culture.
      Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name)

      ' Change the current culture to th-TH.
      CultureInfo.CurrentCulture = New CultureInfo("th-TH", False)
      Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name)

      ' Display the name of the current UI culture.
      Console.WriteLine("CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name)

      ' Change the current UI culture to ja-JP.
      CultureInfo.CurrentUICulture = New CultureInfo("ja-JP", False)
      Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name)
   End Sub 
End Module
' The example displays the following output:
'       CurrentCulture is en-US.
'       CurrentCulture is now th-TH.
'       CurrentUICulture is en-US.
'       CurrentUICulture is now ja-JP.

Comentarios

La CultureInfo objeto devuelto por esta propiedad y sus objetos asociados determinar el formato predeterminado para las fechas, horas, números, valores de moneda, el criterio de ordenación de texto, las mayúsculas y minúsculas de las convenciones y comparaciones de cadenas.The CultureInfo object that is returned by this property and its associated objects determine the default format for dates, times, numbers, currency values, the sorting order of text, casing conventions, and string comparisons.

La referencia cultural actual es una propiedad del subproceso en ejecución.The current culture is a property of the executing thread. Recuperar el valor de la CultureInfo.CurrentCulture propiedad es equivalente a una más eficaz de recuperar el CultureInfo objeto devuelto por la Thread.CurrentThread.CurrentCulture propiedad.Retrieving the value of the CultureInfo.CurrentCulture property is a more performant equivalent of retrieving the CultureInfo object returned by the Thread.CurrentThread.CurrentCulture property.

Nota

En .NET Framework 4.5.2 y versiones anteriores, el CurrentCulture propiedad es de solo lectura. es decir, puede recuperar el valor de propiedad, pero no puede establecerlo.In the .NET Framework 4.5.2 and earlier versions, the CurrentCulture property is read-only; that is, you can retrieve the property value, but you cannot set it. Para cambiar la referencia cultural actual, asigna el CultureInfo objeto que representa la nueva referencia cultural a la Thread.CurrentThread.CurrentCulture propiedad.To change the current culture, you assign the CultureInfo object that represents the new culture to the Thread.CurrentThread.CurrentCulture property. A partir de la .NET Framework 4.6.NET Framework 4.6, el CurrentCulture propiedad es de lectura y escritura; puede establecer y recuperar el valor de propiedad.Starting with the .NET Framework 4.6.NET Framework 4.6, the CurrentCulture property is read-write; you can both set and retrieve the property's value. Si establece el valor de propiedad en un CultureInfo objeto que representa una nueva referencia cultural, el valor de la Thread.CurrentThread.CurrentCulture propiedad también cambia.If you do set the property value to a CultureInfo object that represents a new culture, the value of the Thread.CurrentThread.CurrentCulture property also changes.

En esta sección:In this section:

Cómo se determina la referencia cultural del subproceso How a Thread's Culture Is Determined
Introducción a la referencia cultural actual Getting the Current Culture
Configurar explícitamente la propiedad CurrentCulture Explicitly Setting the CurrentCulture Property
La referencia cultural actual y las invalidaciones del usuario The Current Culture and User Overrides
Referencia cultural y las aplicaciones de WindowsCulture and Windows Apps

Cómo se determina la referencia cultural del subprocesoHow a Thread's Culture Is Determined

Cuando se inicia un subproceso, su referencia cultural se determina inicialmente como sigue:When a thread is started, its culture is initially determined as follows:

  • Recuperando la referencia cultural especificada por el DefaultThreadCurrentCulture propiedad del dominio de aplicación en el que está ejecutando el subproceso, si el valor de propiedad no es null.By retrieving the culture that is specified by the DefaultThreadCurrentCulture property in the application domain in which the thread is executing, if the property value is not null.

  • Si el subproceso es un subproceso de grupo que se está ejecutando una operación asincrónica basada en tareas y la aplicación tiene como destino el .NET Framework 4.6.NET Framework 4.6 o una versión posterior de .NET Framework, su referencia cultural viene determinada por la referencia cultural del subproceso que realiza la llamada.If the thread is a thread pool thread that is executing a task-based asynchronous operation and the app targets the .NET Framework 4.6.NET Framework 4.6 or a later version of the .NET Framework, its culture is determined by the culture of the calling thread. El ejemplo siguiente cambia la referencia cultural actual para portugués (Brasil) y seis tareas, cada uno de los cuales muestra su Id. de subproceso, su Id. de tarea y su referencia cultural actual inicia.The following example changes the current culture to Portuguese (Brazil) and launches six tasks, each of which displays its thread ID, its task ID, and its current culture. Cada una de las tareas (y los subprocesos) ha heredado la referencia cultural del subproceso que realiza la llamada.Each of the tasks (and the threads) has inherited the culture of the calling thread.

    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Runtime.Versioning;
    using System.Threading;
    using System.Threading.Tasks;
    
    [assembly:TargetFramework(".NETFramework,Version=v4.6")]
    
    public class Example
    {
       public static async Task Main()
       {
          var tasks = new List<Task>();
          Console.WriteLine("The current culture is {0}", 
                            Thread.CurrentThread.CurrentCulture.Name);
          Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR");
          // Change the current culture to Portuguese (Brazil).
          Console.WriteLine("Current culture changed to {0}",
                            Thread.CurrentThread.CurrentCulture.Name);
          Console.WriteLine("Application thread is thread {0}",
                            Thread.CurrentThread.ManagedThreadId);
          // Launch six tasks and display their current culture.
          for (int ctr = 0; ctr <= 5; ctr++)
             tasks.Add(Task.Run( () => {
                                   Console.WriteLine("Culture of task {0} on thread {1} is {2}",
                                                     Task.CurrentId, 
                                                     Thread.CurrentThread.ManagedThreadId,
                                                     Thread.CurrentThread.CurrentCulture.Name);
                                } ));                     
    
          await Task.WhenAll(tasks.ToArray());
       }
    }
    // The example displays output like the following:
    //     The current culture is en-US
    //     Current culture changed to pt-BR
    //     Application thread is thread 9
    //     Culture of task 2 on thread 11 is pt-BR
    //     Culture of task 1 on thread 10 is pt-BR
    //     Culture of task 3 on thread 11 is pt-BR
    //     Culture of task 5 on thread 11 is pt-BR
    //     Culture of task 6 on thread 11 is pt-BR
    //     Culture of task 4 on thread 10 is pt-BR
    
    Imports System.Collections.Generic
    Imports System.Globalization
    Imports System.Runtime.Versioning
    Imports System.Threading
    Imports System.Threading.Tasks
    
    <assembly:TargetFramework(".NETFramework,Version=v4.6")>
    
    Module Example
       Public Sub Main()
          Dim tasks As New List(Of Task)
          Console.WriteLine("The current culture is {0}", 
                            Thread.CurrentThread.CurrentCulture.Name)
          Thread.CurrentThread.CurrentCulture = New CultureInfo("pt-BR")
          ' Change the current culture to Portuguese (Brazil).
          Console.WriteLine("Current culture changed to {0}",
                            Thread.CurrentThread.CurrentCulture.Name)
          Console.WriteLine("Application thread is thread {0}",
                            Thread.CurrentThread.ManagedThreadId)
          ' Launch six tasks and display their current culture.
          For ctr As Integer = 0 to 5
             tasks.Add(Task.Run(Sub()
                                   Console.WriteLine("Culture of task {0} on thread {1} is {2}",
                                                     Task.CurrentId, 
                                                     Thread.CurrentThread.ManagedThreadId,
                                                     Thread.CurrentThread.CurrentCulture.Name)
                                End Sub))                     
          Next
          Task.WaitAll(tasks.ToArray())
       End Sub
    End Module
    ' The example displays output like the following:
    '     The current culture is en-US
    '     Current culture changed to pt-BR
    '     Application thread is thread 9
    '     Culture of task 2 on thread 11 is pt-BR
    '     Culture of task 1 on thread 10 is pt-BR
    '     Culture of task 3 on thread 11 is pt-BR
    '     Culture of task 5 on thread 11 is pt-BR
    '     Culture of task 6 on thread 11 is pt-BR
    '     Culture of task 4 on thread 10 is pt-BR
    

    Para obtener más información, consulte la sección "Referencia cultural y operaciones asincrónicas basadas en tareas" en el CultureInfo tema.For more information, see the "Culture and task-based asynchronous operations" section in the CultureInfo topic.

  • Mediante una llamada a la Windows GetUserDefaultLocaleName función.By calling the Windows GetUserDefaultLocaleName function.

Tenga en cuenta que si establece una referencia cultural específica que es diferente de la referencia cultural instalada por el sistema o la referencia cultural preferida del usuario y la aplicación inicia varios subprocesos, la referencia cultural actual de esos subprocesos será la referencia cultural devuelta por la GetUserDefaultLocaleName función, a menos que se asignará una referencia cultural para la DefaultThreadCurrentCulture propiedad del dominio de aplicación en el que se está ejecutando el subproceso.Note that if you set a specific culture that is different from the system-installed culture or the user's preferred culture, and your application starts multiple threads, the current culture of those threads will be the culture that is returned by the GetUserDefaultLocaleName function, unless you assign a culture to the DefaultThreadCurrentCulture property in the application domain in which the thread is executing.

Para obtener más información acerca de cómo se determina la referencia cultural de un subproceso, vea la sección "Referencia cultural y los subprocesos" en la CultureInfo página de referencia.For more information about how the culture of a thread is determined, see the "Culture and threads" section in the CultureInfo reference page.

Introducción a la referencia cultural actualGetting the Current Culture

El CultureInfo.CurrentCulture propiedad es una configuración para cada subproceso; es decir, cada subproceso puede tener su propia referencia cultural.The CultureInfo.CurrentCulture property is a per-thread setting; that is, each thread can have its own culture. Obtener la referencia cultural del subproceso actual, recupere el valor de la CultureInfo.CurrentCulture propiedad, como en el ejemplo siguiente se muestra.You get the culture of the current thread by retrieving the value of the CultureInfo.CurrentCulture property, as the following example illustrates.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo culture = CultureInfo.CurrentCulture;
      Console.WriteLine("The current culture is {0} [{1}]",
                        culture.NativeName, culture.Name);
   }
}
// The example displays output like the following:
//       The current culture is English (United States) [en-US]
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim culture As CultureInfo = CultureInfo.CurrentCulture
      Console.WriteLine("The current culture is {0} [{1}]",
                        culture.NativeName, culture.Name)
   End Sub
End Module
' The example displays output like the following:
'     The current culture is English (United States) [en-US]

También puede recuperar el valor de referencia cultural del subproceso actual desde el Thread.CurrentThread propiedad.You can also retrieve the value of the current thread's culture from the Thread.CurrentThread property.

Configurar explícitamente la propiedad CurrentCultureExplicitly Setting the CurrentCulture Property

Que comience por la .NET Framework 4.6.NET Framework 4.6, para cambiar la referencia cultural que utiliza un subproceso existente, se establece la CultureInfo.CurrentCulture propiedad a la nueva referencia cultural.Staring with the .NET Framework 4.6.NET Framework 4.6, to change the culture that is used by an existing thread, you set the CultureInfo.CurrentCulture property to the new culture. Si cambia una referencia cultural de subproceso de este modo, por lo que cambiar explícitamente continúa si el subproceso cruce los límites del dominio de aplicación.If you explicitly change a thread's culture in this way, that change persists if the thread crosses application domain boundaries. El ejemplo siguiente cambia la referencia cultural del subproceso actual en neerlandés (Países Bajos).The following example changes the current thread culture to Dutch (Netherlands). También muestra que, cuando el actual subproceso cruce los límites del dominio de aplicación, su referencia cultural actual permanece cambiada.It also shows that, when the current thread crosses application domain boundaries, its current culture remains changed.

using System;
using System.Globalization;
using System.Threading;

public class Info : MarshalByRefObject
{
   public void ShowCurrentCulture()
   {
      Console.WriteLine("Culture of {0} in application domain {1}: {2}",
                        Thread.CurrentThread.Name,
                        AppDomain.CurrentDomain.FriendlyName,
                        CultureInfo.CurrentCulture.Name);
   }
}

public class Example
{
   public static void Main()
   {
      Info inf = new Info();
      // Set the current culture to Dutch (Netherlands).
      Thread.CurrentThread.Name = "MainThread";
      CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-NL");
      inf.ShowCurrentCulture();
      
      // Create a new application domain.
       AppDomain ad = AppDomain.CreateDomain("Domain2");
       Info inf2 = (Info) ad.CreateInstanceAndUnwrap(typeof(Info).Assembly.FullName, "Info");
       inf2.ShowCurrentCulture();                       
   }
}
// The example displays the following output:
//       Culture of MainThread in application domain ChangeCulture1.exe: nl-NL
//       Culture of MainThread in application domain Domain2: nl-NL
Imports System.Globalization
Imports System.Threading

Public Class Info : Inherits MarshalByRefObject
   Public Sub ShowCurrentCulture()
      Console.WriteLine("Culture of {0} in application domain {1}: {2}",
                        Thread.CurrentThread.Name,
                        AppDomain.CurrentDomain.FriendlyName,
                        CultureInfo.CurrentCulture.Name)
   End Sub
End Class

Module Example
   Public Sub Main()
      Dim inf As New Info()
      ' Set the current culture to Dutch (Netherlands).
      Thread.CurrentThread.Name = "MainThread"
      CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-NL")
      inf.ShowCurrentCulture()
      
      ' Create a new application domain.
       Dim ad As AppDomain = AppDomain.CreateDomain("Domain2")
       Dim inf2 As Info = CType(ad.CreateInstanceAndUnwrap(GetType(Info).Assembly.FullName, "Info"),
                          Info)  
       inf2.ShowCurrentCulture()                       
   End Sub
End Module
' This example displays the following output:
'       Culture of MainThread in application domain Example.exe: nl-NL
'       Culture of MainThread in application domain Domain2: nl-NL

Nota

Cambiar la referencia cultural mediante la CultureInfo.CurrentCulture propiedad requiere un SecurityPermission permiso con el ControlThread valor establecido.Changing the culture by using the CultureInfo.CurrentCulture property requires a SecurityPermission permission with the ControlThread value set. Manipular subprocesos es peligrosa debido al estado de seguridad asociado a ellos.Manipulating threads is dangerous because of the security state associated with threads. Por lo tanto, debe tener este permiso sólo a código de confianza y únicamente cuando sea necesario.Therefore, this permission should be given only to trustworthy code, and then only as necessary. No se puede cambiar la referencia cultural del subproceso en código de confianza parcial.You cannot change thread culture in semi-trusted code.

A partir de la .NET Framework 4.NET Framework 4, puede cambiar explícitamente la referencia cultural del subproceso actual para una referencia cultural concreta (por ejemplo, francés (Canadá)) o una referencia cultural neutra (por ejemplo, francés).Starting with the .NET Framework 4.NET Framework 4, you can explicitly change the current thread culture to either a specific culture (such as French (Canada)) or a neutral culture (such as French). Cuando un CultureInfo objeto representa una referencia cultural neutra, los valores de CultureInfo propiedades como Calendar, CompareInfo, DateTimeFormat, NumberFormat, y TextInfo reflejar la referencia cultural específica que está asociada con el referencia cultural neutra.When a CultureInfo object represents a neutral culture, the values of CultureInfo properties such as Calendar, CompareInfo, DateTimeFormat, NumberFormat, and TextInfo reflect the specific culture that is associated with the neutral culture. Por ejemplo, la referencia cultural dominante para la referencia cultural inglés es inglés (Estados Unidos); la referencia cultural dominante para la referencia cultural de alemán es alemán (Alemania).For example, the dominant culture for the English neutral culture is English (United States); the dominant culture for the German culture is German (Germany). El ejemplo siguiente muestra la diferencia en el formato cuando se establece la referencia cultural actual en una referencia cultural Francés (Canadá) y una referencia cultural neutra, francés.The following example illustrates the difference in formatting when the current culture is set to a specific culture, French (Canada), and a neutral culture, French.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      double value = 1634.92;
      CultureInfo.CurrentCulture = new CultureInfo("fr-CA");
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("{0:C2}\n", value);
      
      Thread.CurrentThread.CurrentCulture = new CultureInfo("fr");
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("{0:C2}", value);
   }
}
// The example displays the following output:
//       Current Culture: fr-CA
//       1 634,92 $
//       
//       Current Culture: fr
//       1 634,92 €
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Dim value As Double = 1634.92
      CultureInfo.CurrentCulture = New CultureInfo("fr-CA")
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("{0:C2}", value)
      Console.WriteLine()
      
      Thread.CurrentThread.CurrentCulture = New CultureInfo("fr")
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("{0:C2}", value)
   End Sub
End Module
' The example displays the following output:
'       Current Culture: fr-CA
'       1 634,92 $
'       
'       Current Culture: fr
'       1 634,92 €

También puede usar el CultureInfo.CurrentCulture propiedad junto con la HttpRequest.UserLanguages propiedad para establecer el CurrentCulture propiedad de una aplicación ASP.NET para el usuario preferido de la referencia cultural, como se muestra en el ejemplo siguiente.You can also use the CultureInfo.CurrentCulture property along with the HttpRequest.UserLanguages property to set the CurrentCulture property of an ASP.NET application to the user's preferred culture, as the following example illustrates.

CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages(0))

La referencia cultural actual y las invalidaciones del usuarioThe Current Culture and User Overrides

Windows permite a los usuarios reemplazar los valores de propiedad estándar de la CultureInfo objeto y sus objetos asociados mediante el uso de regional e idioma en el Panel de Control.Windows allows users to override the standard property values of the CultureInfo object and its associated objects by using Regional and Language Options in Control Panel. El CultureInfo objeto devuelto por la CurrentCulture propiedad refleja reemplaza estos usuarios en los casos siguientes:The CultureInfo object returned by the CurrentCulture property reflects these user overrides in the following cases:

  • Si la referencia cultural del subproceso actual se establece implícitamente por el Windows GetUserDefaultLocaleName función.If the current thread culture is set implicitly by the Windows GetUserDefaultLocaleName function.

  • Si la referencia cultural del subproceso actual definida por el DefaultThreadCurrentCulture propiedad se corresponde con la referencia cultural actual del sistema de Windows.If the current thread culture defined by the DefaultThreadCurrentCulture property corresponds to the current Windows system culture.

  • Si la referencia cultural del subproceso actual se establece explícitamente en una referencia cultural devuelta por la CreateSpecificCulture método y que la referencia cultural se corresponde con la referencia cultural actual del sistema de Windows.If the current thread culture is set explicitly to a culture returned by the CreateSpecificCulture method, and that culture corresponds to the current Windows system culture.

  • Si la referencia cultural del subproceso actual se establece explícitamente en una referencia cultural que se crea una instancia por el CultureInfo(String) constructor y que la referencia cultural se corresponde con la referencia cultural actual del sistema de Windows.If the current thread culture is set explicitly to a culture instantiated by the CultureInfo(String) constructor, and that culture corresponds to the current Windows system culture.

En algunos casos, especialmente para aplicaciones de servidor, establecer la referencia cultural actual en un CultureInfo objeto que refleja las invalidaciones del usuario puede no ser deseable.In some cases, particularly for server applications, setting the current culture to a CultureInfo object that reflects user overrides may be undesirable. En su lugar, puede establecer la referencia cultural del subproceso actual en un CultureInfo reemplaza el objeto que no refleje el usuario de las maneras siguientes:Instead, you can set the current thread culture to a CultureInfo object that does not reflect user overrides in the following ways:

La referencia cultural actual y las aplicaciones para UWPThe current culture and UWP apps

En las aplicaciones de la plataforma Universal de Windows (UWP), el CurrentCulture propiedad es de lectura y escritura, al igual que en las aplicaciones de .NET Framework y .NET Core; puede usar para obtener y establecer la referencia cultural actual.In Universal Windows Platform (UWP) apps, the CurrentCulture property is read-write, just as it is in .NET Framework and .NET Core apps; you can use it both to get and to set the current culture. Sin embargo, las aplicaciones para UWP no distinguen entre la referencia cultural actual y la referencia cultural de interfaz de usuario actual.However, UWP apps do not distinguish between the current culture and the current UI culture. El CurrentCulture y CurrentUICulture mapa de propiedades en el primer valor de la Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages colección.The CurrentCulture and CurrentUICulture properties map to the first value in the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages collection.

En las aplicaciones de .NET Framework y .NET Core, la referencia cultural actual es una configuración de cada subproceso y el CurrentCulture propiedad refleja la referencia cultural del subproceso actual únicamente.In .NET Framework and .NET Core apps, the current culture is a per-thread setting, and the CurrentCulture property reflects the culture of the current thread only. En aplicaciones UWP, la referencia cultural actual se asigna a la Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages propiedad, que es una configuración global.In UWP apps, the current culture maps to the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages property, which is a global setting. Establecer el CurrentCulture propiedad cambia la referencia cultural de la aplicación completa; no se puede establecer la referencia cultural en una base por subproceso.Setting the CurrentCulture property changes the culture of the entire app; culture cannot be set on a per-thread basis.

Seguridad

SecurityPermission
Para establecer la referencia cultural actual.for setting the current culture. Enumeración asociada: ControlThreadAssociated enumeration: ControlThread

Se aplica a

Consulte también: