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(); };
public static System.Globalization.CultureInfo CurrentCulture { get; }
member this.CurrentCulture : System.Globalization.CultureInfo
Public Shared ReadOnly 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 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

El CultureInfo objeto devuelto por esta propiedad y sus objetos asociados determinan el formato predeterminado de las fechas, las horas, los números, los valores de moneda, el criterio de ordenación de texto, las convenciones de mayúsculas y minúsculas, y las 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 un equivalente con mayor rendimiento que CultureInfo la recuperación del 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, la CurrentCulture propiedad es de solo lectura; es decir, puede recuperar el valor de la 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, asigne el CultureInfo objeto que representa la nueva referencia cultural a Thread.CurrentThread.CurrentCulture la propiedad.To change the current culture, you assign the CultureInfo object that represents the new culture to the Thread.CurrentThread.CurrentCulture property. A .NET Framework 4.6.NET Framework 4.6partir de, la CurrentCulture propiedad es de lectura y escritura; puede establecer y recuperar el valor de la 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 la propiedad en un CultureInfo objeto que representa una nueva referencia cultural, el valor de Thread.CurrentThread.CurrentCulture la 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 de un subproceso How a Thread's Culture Is Determined
Obtener la referencia cultural actual Getting the Current Culture
Establecer explícitamente la propiedad CurrentCulture Explicitly Setting the CurrentCulture Property
La referencia cultural actual y las invalidaciones de usuario The Current Culture and User Overrides
Cultura y aplicaciones de WindowsCulture and Windows Apps

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

Cuando se inicia un subproceso, su referencia cultural se determina inicialmente de la siguiente manera:When a thread is started, its culture is initially determined as follows:

  • Al recuperar la referencia cultural especificada por la DefaultThreadCurrentCulture propiedad en el dominio de aplicación en el que se está ejecutando el subproceso, si el valor de la propiedad no nulles.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 de subprocesos que ejecuta una operación asincrónica basada en tareas y la .NET Framework 4.6.NET Framework 4.6 aplicación tiene como destino o una versión posterior del .NET Framework, su referencia cultural se determina mediante 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. En el ejemplo siguiente se cambia la referencia cultural actual a portugués (Brasil) y se inician seis tareas, cada una de las cuales muestra su identificador de subproceso, su identificador de tarea y su referencia cultural actual.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" CultureInfo del tema.For more information, see the "Culture and task-based asynchronous operations" section in the CultureInfo topic.

  • Llamando a la función GetUserDefaultLocaleName de Windows.By calling the Windows GetUserDefaultLocaleName function.

Tenga en cuenta que si establece una referencia cultural específica diferente de la referencia cultural instalada en el sistema o la referencia cultural preferida del usuario, y la aplicación inicia varios subprocesos, la referencia cultural actual de esos subprocesos GetUserDefaultLocaleName será la referencia cultural devuelta por el , a menos que se asigne una referencia cultural DefaultThreadCurrentCulture a la propiedad en el 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 sobre cómo se determina la referencia cultural de un subproceso, consulte la sección "referencia cultural y CultureInfo subprocesos" de la 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.

Obtener la referencia cultural actualGetting the Current Culture

La CultureInfo.CurrentCulture propiedad es una configuración por 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. Para obtener la referencia cultural del subproceso actual, se recupera el valor de CultureInfo.CurrentCulture la propiedad, como se muestra en el ejemplo siguiente.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 la referencia cultural del subproceso actual de Thread.CurrentThread la propiedad.You can also retrieve the value of the current thread's culture from the Thread.CurrentThread property.

Establecer explícitamente la propiedad CurrentCultureExplicitly Setting the CurrentCulture Property

Al iniciarse con .NET Framework 4.6.NET Framework 4.6, para cambiar la referencia cultural que utiliza un subproceso existente, establezca la CultureInfo.CurrentCulture propiedad en 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 explícitamente la referencia cultural de un subproceso de esta manera, ese cambio se conserva si el subproceso cruza 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. En el ejemplo siguiente se cambia la referencia cultural del subproceso actual a holandés (Países Bajos).The following example changes the current thread culture to Dutch (Netherlands). También se muestra que, cuando el subproceso actual cruza los límites del dominio de aplicación, su referencia cultural actual permanece modificada.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

El cambio de la referencia cultural CultureInfo.CurrentCulture mediante la propiedad SecurityPermission requiere un permiso ControlThread con el valor establecido.Changing the culture by using the CultureInfo.CurrentCulture property requires a SecurityPermission permission with the ControlThread value set. La manipulación de subprocesos es peligrosa debido al estado de seguridad asociado a los subprocesos.Manipulating threads is dangerous because of the security state associated with threads. Por lo tanto, solo se debe conceder este permiso a código de confianza y solo 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 de subprocesos en código de confianza parcial.You cannot change thread culture in semi-trusted code.

A partir de, puede cambiar explícitamente la referencia cultural del subproceso actual a una referencia cultural concreta (por ejemplo, francés (Canadá)) o a una referencia cultural neutra (como francés). .NET Framework 4.NET Framework 4Starting 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 CultureInfo de DateTimeFormatpropiedades como Calendar, CompareInfo,, NumberFormaty TextInfo reflejan la referencia cultural específica asociada al objeto 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 de la referencia cultural neutra en inglés es el inglés (Estados Unidos); la referencia cultural dominante de la referencia cultural alemana es el 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). En el ejemplo siguiente se muestra la diferencia de formato cuando la referencia cultural actual se establece en una referencia cultural concreta, 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 la CultureInfo.CurrentCulture propiedad junto con la HttpRequest.UserLanguages propiedad para establecer la CurrentCulture propiedad de una aplicación ASP.net en la referencia cultural preferida del usuario, 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 de usuarioThe Current Culture and User Overrides

Windows permite que los usuarios invaliden los valores de CultureInfo propiedad estándar del objeto y sus objetos asociados mediante el uso de las opciones de configuración regional y de idioma del 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 CurrentCulture la propiedad refleja estas invalidaciones de usuario 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 GetUserDefaultLocaleName mediante la función de Windows.If the current thread culture is set implicitly by the Windows GetUserDefaultLocaleName function.

  • Si la referencia cultural del subproceso actual DefaultThreadCurrentCulture definida por la propiedad corresponde a la referencia cultural del sistema de Windows actual.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 CreateSpecificCulture referencia cultural devuelta por el método, y esa referencia cultural corresponde a la referencia cultural del sistema de Windows actual.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 CultureInfo(String) cultural creada por el constructor, y esa referencia cultural corresponde a la referencia cultural del sistema de Windows actual.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 en el caso de las aplicaciones de servidor, la CultureInfo configuración de la referencia cultural actual en un objeto que refleje invalidaciones de 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 CultureInfo actual en un objeto que no refleje las invalidaciones de usuario de las siguientes maneras: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 plataforma universal de Windows (UWP), CurrentCulture la propiedad es de lectura y escritura, al igual que en las aplicaciones .NET Framework y .net Core; puede usarla 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 UWP no distinguen entre la referencia cultural actual y la referencia cultural de la interfaz de usuario actual.However, UWP apps do not distinguish between the current culture and the current UI culture. Las CurrentCulture propiedades CurrentUICulture y se asignan al primer valor de la colección Windows. ApplicationModel. Resources. Core. ResourceManager. DefaultContext. Languages .The CurrentCulture and CurrentUICulture properties map to the first value in the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages collection.

En .NET Framework y en las aplicaciones de .net Core, la referencia cultural actual es una configuración por subproceso y la CurrentCulture propiedad solo refleja la referencia cultural del subproceso actual.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 las aplicaciones para UWP, la referencia cultural actual se asigna a la propiedad Windows. ApplicationModel. Resources. Core. ResourceManager. DefaultContext. Languages , 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. Al establecer CurrentCulture la propiedad, se cambia la referencia cultural de toda la aplicación; no se puede establecer la referencia cultural 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: