NeutralResourcesLanguageAttribute NeutralResourcesLanguageAttribute NeutralResourcesLanguageAttribute NeutralResourcesLanguageAttribute Class

Definición

Informa al administrador de recursos de la referencia cultural predeterminada de una aplicación.Informs the resource manager of an app's default culture. Esta clase no puede heredarse.This class cannot be inherited.

public ref class NeutralResourcesLanguageAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class NeutralResourcesLanguageAttribute : Attribute
type NeutralResourcesLanguageAttribute = class
    inherit Attribute
Public NotInheritable Class NeutralResourcesLanguageAttribute
Inherits Attribute
Herencia
NeutralResourcesLanguageAttributeNeutralResourcesLanguageAttributeNeutralResourcesLanguageAttributeNeutralResourcesLanguageAttribute
Atributos

Ejemplos

En el ejemplo siguiente se usa una aplicación "Hello World" simple para ilustrar el uso de la NeutralResourcesLanguageAttribute atributo para definir una referencia cultural de reserva o predeterminada.The following example uses a simple "Hello World" app to illustrate the use of the NeutralResourcesLanguageAttribute attribute to define a default or fallback culture. Requiere la creación de archivos de recursos independientes para el inglés (en), inglés (Estados Unidos) (en-US) y francés (Francia) (fr-FR) las referencias culturales.It requires the creation of separate resource files for the English (en), English (United States) (en-US), and French (France) (fr-FR) cultures. La continuación muestra el contenido de un archivo de texto denominado ExampleResources.txt para la configuración regional inglesa.The following shows the contents of a text file named ExampleResources.txt for the English culture.

# Resources for the default (en) culture.  
Greeting=Hello  

Para usar el archivo de recursos en una aplicación, debe usar el generador de archivos de recursos (Resgen.exe) para convertir el archivo desde su formato de texto (.txt) en un formato binario (.resources) como sigue:To use the resource file in an app, you must use the Resource File Generator (Resgen.exe) to convert the file from its text (.txt) format to a binary (.resources) format as follows:

resgen ExampleResources.txt  

Cuando se compila la aplicación, el archivo de recursos binario se incrustará en el ensamblado de aplicación principal.When the app is compiled, the binary resource file will be embedded in the main app assembly.

La siguiente muestra el contenido de un archivo de texto denominado ExampleResources.en-US.txt que proporciona recursos para la referencia cultural inglés (Estados Unidos).The following shows the contents of a text file named ExampleResources.en-US.txt that provides resources for the English (United States) culture.

# Resources for the en-US culture.  
Greeting=Hi  

El archivo de texto se puede convertir en un archivo de recursos binario mediante el uso de la generador de archivos de recursos (ResGen.exe) en el comando de línea como sigue:The text file can be converted to a binary resources file by using the Resource File Generator (ResGen.exe) at the command line as follows:

resgen ExampleResources.en-US.txt ExampleResources.en-US.resources  

El archivo de recursos binarios, a continuación, se debe compilar en un ensamblado mediante el uso de Assembly Linker (Al.exe) y se coloca en el subdirectorio en-US del directorio de aplicación con el comando siguiente:The binary resource file should then be compiled into an assembly by using Assembly Linker (Al.exe) and placed in the en-US subdirectory of the app directory by issuing the following command:

al /t:lib /embed:ExampleResources.en-US.resources /culture:en-US /out:en-us\Example.resources.dll  

La siguiente muestra el contenido de un archivo de texto denominado ExampleResources.fr-FR.txt que proporciona recursos para la referencia cultural de francés (Francia).The following shows the contents of a text file named ExampleResources.fr-FR.txt that provides resources for the French (France) culture.

# Resources for the fr-FR culture.  
Greeting=Bonjour  

El archivo de texto puede convertirse en un archivo de recursos binario mediante el uso de ResGen.exe en la línea de comandos como sigue:The text file can be converted to a binary resource file by using ResGen.exe at the command line as follows:

resgen ExampleResources.fr-FR.txt ExampleResources.fr-FR.resources  

El archivo de recursos binario, a continuación, debe ser compilado en un ensamblado mediante la herramienta Assembly Linker y colocan en el subdirectorio fr-FR del directorio de aplicación con el comando siguiente:The binary resources file should then be compiled into an assembly by using Assembly Linker and placed in the fr-FR subdirectory of the app directory by issuing the following command:

al /t:lib /embed:ExampleResources.fr-FR.resources /culture:fr-FR /out:fr-FR\Example.resources.dll  

El ejemplo siguiente proporciona el código ejecutable que establece la referencia cultural actual, solicita el nombre del usuario y se muestra una cadena traducida.The following example provides the executable code that sets the current culture, prompts for the user's name, and displays a localized string.

using System;
using System.Globalization;
using System.Reflection;
using System.Resources;
using System.Threading;

[assembly:NeutralResourcesLanguageAttribute("en")]
public class Example
{
   public static void Main()
   {
      // Select the current culture randomly to test resource fallback.
      string[] cultures = { "de-DE", "en-us", "fr-FR" };
      Random rnd = new Random();
      int index = rnd.Next(0, cultures.Length);
      Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(cultures[index]);      
      Console.WriteLine("The current culture is {0}", 
                        CultureInfo.CurrentUICulture.Name);       

      // Retrieve the resource.
      ResourceManager rm = new ResourceManager("ExampleResources" , 
                                               typeof(Example).Assembly);
      string greeting = rm.GetString("Greeting");
      
      Console.Write("Enter your name: ");
      string name = Console.ReadLine();
      Console.WriteLine("{0} {1}!", greeting, name);
   }
}
Imports System.Globalization
Imports System.Reflection
Imports System.Resources
Imports System.Threading 

<Assembly:NeutralResourcesLanguageAttribute("en")>

Module Example
   Public Sub Main()
      ' Select the current culture randomly to test resource fallback.
      Dim cultures() As String = { "de-DE", "en-us", "fr-FR" }
      Dim rnd As New Random()
      Dim index As Integer = rnd.Next(0, cultures.Length)
      Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(cultures(index))      
      Console.WriteLine("The current culture is {0}", 
                        CultureInfo.CurrentUICulture.Name)       

      ' Retrieve the resource.
      Dim rm As New ResourceManager("ExampleResources" , GetType(Example).Assembly)
      Dim greeting As String = rm.GetString("Greeting")
      
      Console.Write("Enter your name: ")
      Dim name As String = Console.ReadLine()
      Console.WriteLine("{0} {1}", greeting, name)
   End Sub
End Module

Se puede compilar mediante el comando siguiente en Visual Basic:It can be compiled by using the following command in Visual Basic:

vbc Example.vb /resource:ExampleResources.resources  

o bien, mediante el siguiente comando en C#:or by using the following command in C#:

csc Example.cs /resource:ExampleResources.resources  

Comentarios

Aplicaciones de escritorioDesktop Apps

En las aplicaciones de escritorio, la NeutralResourcesLanguageAttribute atributo informa al administrador de recursos de referencia cultural predeterminada de una aplicación y la ubicación de sus recursos.In desktop apps, the NeutralResourcesLanguageAttribute attribute informs the resource manager of an app's default culture and the location of its resources. De forma predeterminada, los recursos se incrustan en el ensamblado de aplicación principal y se puede utilizar el atributo como sigue.By default, resources are embedded in the main app assembly, and you can use the attribute as follows. Esta instrucción especifica que el inglés (Estados Unidos) es la referencia cultural predeterminada de la aplicación.This statement specifies that the English (United States) is the app's default culture.

using System.Resources;

[assembly:NeutralResourcesLanguage("en-US")]
Imports System.Resources

<Assembly:NeutralResourcesLanguage("en-US")>

También puede usar el NeutralResourcesLanguageAttribute atributo para indicar dónde ResourceManager puede encontrar los recursos de la referencia cultural predeterminada proporcionando un UltimateResourceFallbackLocation valor de enumeración en la instrucción de atributo.You can also use the NeutralResourcesLanguageAttribute attribute to indicate where ResourceManager can find the resources of the default culture by providing an UltimateResourceFallbackLocation enumeration value in the attribute statement. Esto se hace normalmente para indicar que los recursos residen en un ensamblado satélite.This is most commonly done to indicate that the resources reside in a satellite assembly. Por ejemplo, la instrucción siguiente especifica que inglés (Estados Unidos) es el valor predeterminado o la referencia cultural neutra de la aplicación y que sus recursos residen en un ensamblado satélite.For example, the following statement specifies that English (United States) is the app's default or neutral culture and that its resources reside in a satellite assembly. La ResourceManager objeto tendrá un aspecto para ellos en un subdirectorio en-us.The ResourceManager object will look for them in a subdirectory named en-US.

using System.Resources;

[assembly:NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
Imports System.Resources

<Assembly:NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)>

Sugerencia

Se recomienda usar siempre el NeutralResourcesLanguageAttribute atributo para definir la referencia cultural predeterminada de la aplicación.We recommend that you always use the NeutralResourcesLanguageAttribute attribute to define the default culture of your app.

El atributo realiza dos funciones:The attribute performs two roles:

  • Si los recursos de la referencia cultural de forma predeterminada se incrustan en el ensamblado principal de la aplicación y ResourceManager tiene que recuperar los recursos que pertenecen a la misma referencia cultural que la referencia cultural predeterminada, el ResourceManager usa automáticamente los recursos ubicados en el ensamblado principal en su lugar buscar un ensamblado satélite.If the default culture's resources are embedded in the app's main assembly and ResourceManager has to retrieve resources that belong to the same culture as the default culture, the ResourceManager automatically uses the resources located in the main assembly instead of searching for a satellite assembly. Esto omite el sondeo de ensamblado habitual, mejora el rendimiento de la búsqueda para el primer recurso de carga y puede reducir el espacio de trabajo.This bypasses the usual assembly probe, improves lookup performance for the first resource you load, and can reduce your working set. Consulte empaquetar e implementar recursos para el proceso ResourceManager usa para buscar archivos de recursos.See Packaging and Deploying Resources for the process ResourceManager uses to probe for resource files.

  • Si se encuentran los recursos de la referencia cultural de forma predeterminada en un ensamblado satélite en lugar de en el ensamblado de aplicación principal, el NeutralResourcesLanguageAttribute atributo especifica la referencia cultural y el directorio desde el que el tiempo de ejecución puede cargar los recursos.If the default culture's resources are located in a satellite assembly rather than in the main app assembly, the NeutralResourcesLanguageAttribute attribute specifies the culture and the directory from which the runtime can load the resources.

Aplicaciones de Tienda Windows 8.xWindows 8.x StoreTienda Windows 8.xWindows 8.x Store Apps

En Tienda Windows 8.xWindows 8.x Store aplicaciones cuyos recursos se cargan y se recupera mediante la ResourceManager (clase), el NeutralResourcesLanguageAttribute atributo define la referencia cultural neutra cuyos recursos se usan en el caso de un sondeo con error.In Tienda Windows 8.xWindows 8.x Store apps whose resources are loaded and retrieved by using the ResourceManager class, the NeutralResourcesLanguageAttribute attribute defines the neutral culture whose resources are used in the event of a failed probe. No se especifica la ubicación de los recursos.It does not specify the location of the resources. De forma predeterminada, ResourceManager usa el archivo de recursos (PRI) de índice del paquete de la aplicación para buscar los recursos de la referencia cultural predeterminada.By default, ResourceManager uses the app's package resource index (PRI) file to locate the resources of the default culture. La referencia cultural neutra que está definida por el NeutralResourcesLanguageAttribute atributo se agrega al final de la lista de idiomas de interfaz de usuario para simular este efecto.The neutral culture that is defined by the NeutralResourcesLanguageAttribute attribute is added to the end of the UI language list to simulate this effect.

Si carga y recuperar recursos mediante el Windows en tiempo de ejecuciónWindows Runtime Windows.ApplicationModel.Resources.ResourceLoader clase o los tipos en el Windows.ApplicationModel.Resources.Core espacio de nombres, el NeutralResourcesLanguageAttribute se omite el atributo.If you load and retrieve resources by using the Windows en tiempo de ejecuciónWindows RuntimeWindows.ApplicationModel.Resources.ResourceLoader class or the types in the Windows.ApplicationModel.Resources.Core namespace, the NeutralResourcesLanguageAttribute attribute is ignored.

Constructores

NeutralResourcesLanguageAttribute(String) NeutralResourcesLanguageAttribute(String) NeutralResourcesLanguageAttribute(String) NeutralResourcesLanguageAttribute(String)

Inicializa una nueva instancia de la clase NeutralResourcesLanguageAttribute.Initializes a new instance of the NeutralResourcesLanguageAttribute class.

NeutralResourcesLanguageAttribute(String, UltimateResourceFallbackLocation) NeutralResourcesLanguageAttribute(String, UltimateResourceFallbackLocation) NeutralResourcesLanguageAttribute(String, UltimateResourceFallbackLocation) NeutralResourcesLanguageAttribute(String, UltimateResourceFallbackLocation)

Inicializa una nueva instancia de la clase NeutralResourcesLanguageAttribute con la última ubicación de reserva de recursos especificada.Initializes a new instance of the NeutralResourcesLanguageAttribute class with the specified ultimate resource fallback location.

Propiedades

CultureName CultureName CultureName CultureName

Obtiene el nombre de la referencia cultural.Gets the culture name.

Location Location Location Location

Obtiene la ubicación de la clase ResourceManager para recuperar recursos independientes del idioma mediante el proceso de reserva de recursos.Gets the location for the ResourceManager class to use to retrieve neutral resources by using the resource fallback process.

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Se aplica a

Consulte también: