NeutralResourcesLanguageAttribute Klasse

Definition

Informiert den Ressourcen-Manager über die Standardkultur einer App.Informs the resource manager of an app's default culture. Diese Klasse kann nicht vererbt werden.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
Vererbung
NeutralResourcesLanguageAttribute
Attribute

Beispiele

Im folgenden Beispiel wird eine einfache "Hello World"-app veranschaulicht die Verwendung der NeutralResourcesLanguageAttribute -Attribut zum Definieren einer Standard- oder ausweichliste Kultur.The following example uses a simple "Hello World" app to illustrate the use of the NeutralResourcesLanguageAttribute attribute to define a default or fallback culture. Erfordert die Erstellung von separate Ressourcendateien für Englisch (En), Englisch (USA) (En-US) und Französisch (Frankreich) (fr-FR) Kulturen.It requires the creation of separate resource files for the English (en), English (United States) (en-US), and French (France) (fr-FR) cultures. Das folgende Beispiel zeigt den Inhalt einer Textdatei mit dem Namen ExampleResources.txt für die Kultur Englisch aus.The following shows the contents of a text file named ExampleResources.txt for the English culture.

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

Um die Ressourcendatei in eine app zu verwenden, müssen Sie verwenden die Resource File Generator (Resgen.exe) zum Konvertieren der Datei aus dem Text (txt)-Format in ein Format für die Binärdatei (.resources) wie folgt: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  

Wenn die app kompiliert wird, wird die binäre Ressourcendatei in der Haupt-app-Assembly eingebettet.When the app is compiled, the binary resource file will be embedded in the main app assembly.

Das folgende Beispiel zeigt den Inhalt einer Textdatei mit dem Namen ExampleResources.en-US.txt, die Ressourcen für die Kultur Englisch (Vereinigte Staaten) bereitstellt.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  

Die Textdatei in eine binäre Ressourcendatei konvertiert werden kann, mithilfe der Resource File Generator (ResGen.exe) an der Befehlszeile wie folgt: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  

Die binäre Ressourcendatei sollte dann in eine Assembly kompiliert werden, mithilfe von Assembly Linker (Al.exe) und im Unterverzeichnis "En-US" des app-Verzeichnis platziert werden, indem Sie den folgenden Befehl ausgeben: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  

Das folgende Beispiel zeigt den Inhalt einer Textdatei mit dem Namen ExampleResources.fr-FR.txt, die Ressourcen für die Kultur Französisch (Frankreich) bereitstellt.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  

Die Textdatei kann in eine binäre Ressourcendatei mit ResGen.exe in der Befehlszeile wie folgt konvertiert werden: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  

Die binäre Ressourcendatei sollte dann mithilfe der Assembly Linker-Tool in eine Assembly kompiliert und im Unterverzeichnis "fr-FR" des app-Verzeichnis platziert werden, indem Sie den folgenden Befehl ausgeben: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  

Das folgende Beispiel enthält den ausführbaren Code, der die aktuelle Kultur festlegt, aufgefordert, den Namen des Benutzers und zeigt eine lokalisierte Zeichenfolge.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

Sie können mit den folgenden Befehl in Visual Basic kompiliert werden:It can be compiled by using the following command in Visual Basic:

vbc Example.vb /resource:ExampleResources.resources  

oder mithilfe des folgenden Befehls in c#:or by using the following command in C#:

csc Example.cs /resource:ExampleResources.resources  

Hinweise

Desktop-AppsDesktop Apps

In desktop-apps die NeutralResourcesLanguageAttribute Attribut informiert den Ressourcen-Manager der Standardkultur einer app und den Speicherort ihrer Ressourcen.In desktop apps, the NeutralResourcesLanguageAttribute attribute informs the resource manager of an app's default culture and the location of its resources. Standardmäßig werden Ressourcen in der Haupt-app-Assembly eingebettet, und können Sie das Attribut wie folgt.By default, resources are embedded in the main app assembly, and you can use the attribute as follows. Diese Anweisung gibt an, dass die englische (USA) der app die Standardkultur ist.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")>

Sie können auch die NeutralResourcesLanguageAttribute Attribut an, wo entsprechend ResourceManager finden Sie die Ressourcen der Standardkultur können durch die Bereitstellung eine UltimateResourceFallbackLocation Enumerationswert in der attributanweisung.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. Dies erfolgt meist um anzugeben, dass die Ressourcen in einer Satellitenassembly befinden.This is most commonly done to indicate that the resources reside in a satellite assembly. So gibt beispielsweise die folgende Anweisung aus, dass Englisch (Vereinigte Staaten) Standardkultur bzw. neutrale Kultur der app und ihre Ressourcen in einer Satellitenassembly befinden.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. Die ResourceManager Objekt sucht sie in ein Unterverzeichnis namens 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)>

Tipp

Es wird empfohlen, immer verwenden, die NeutralResourcesLanguageAttribute Attribut, um die Standardkultur der app zu definieren.We recommend that you always use the NeutralResourcesLanguageAttribute attribute to define the default culture of your app.

Das Attribut führt zwei Rollen:The attribute performs two roles:

  • Wenn Ressourcen der Standardkultur in die Hauptassembly der Anwendung eingebettet sind und ResourceManager wurde zum Abrufen von Ressourcen, die dieselbe Kultur aufweist wie die Standardkultur, gehören die ResourceManager verwendet automatisch die Ressourcen in der Hauptassembly stattdessen Suchen Sie nach einer Satellitenassembly.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. Dies umgeht den üblichen Assembly-Test, verbessert die suchleistung für die erste Ressource, die Sie laden möchten, die und können Ihr Workingset reduziert.This bypasses the usual assembly probe, improves lookup performance for the first resource you load, and can reduce your working set. Finden Sie unter Packaging and Deploying Resources für den Prozess ResourceManager verwendet, um nach Dateien gesucht.See Packaging and Deploying Resources for the process ResourceManager uses to probe for resource files.

  • Wenn die Standardkultur Ressourcen befinden in eine Satellitenassembly und nicht in der Haupt-app-Assembly, die NeutralResourcesLanguageAttribute Attribut gibt an, die Kultur und das Verzeichnis aus dem die Runtime die Ressourcen laden kann.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.

Windows 8.x StoreWindows 8.x Store-AppsApps

In Windows 8.x StoreWindows 8.x Store apps geladen und mit abgerufen, deren Ressourcen die ResourceManager -Klasse, die NeutralResourcesLanguageAttribute -Attribut definiert die neutrale Kultur, deren Ressourcen im Fall eines fehlgeschlagenen Tests verwendet werden.In Windows 8.x StoreWindows 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. Es gibt nicht den Speicherort der Ressourcen an.It does not specify the location of the resources. In der Standardeinstellung ResourceManager verwendet die app Paket (paketressourcenindex) Ressourcendatei, die Ressourcen der Standardkultur gesucht werden soll.By default, ResourceManager uses the app's package resource index (PRI) file to locate the resources of the default culture. Die neutrale Kultur, die von definiert ist die NeutralResourcesLanguageAttribute Attribut hinzugefügt wird, an das Ende der Liste der UI-Sprache, diesen Effekt zu simulieren.The neutral culture that is defined by the NeutralResourcesLanguageAttribute attribute is added to the end of the UI language list to simulate this effect.

Wenn Sie zu laden und Abrufen von Ressourcen mithilfe der Windows-RuntimeWindows Runtime Windows.ApplicationModel.Resources.ResourceLoader Klasse oder die Typen in der Windows.ApplicationModel.Resources.Core Namespace, der NeutralResourcesLanguageAttribute -Attribut wird ignoriert.If you load and retrieve resources by using the Windows-RuntimeWindows RuntimeWindows.ApplicationModel.Resources.ResourceLoader class or the types in the Windows.ApplicationModel.Resources.Core namespace, the NeutralResourcesLanguageAttribute attribute is ignored.

Konstruktoren

NeutralResourcesLanguageAttribute(String)

Initialisiert eine neue Instanz der NeutralResourcesLanguageAttribute-Klasse.Initializes a new instance of the NeutralResourcesLanguageAttribute class.

NeutralResourcesLanguageAttribute(String, UltimateResourceFallbackLocation)

Initialisiert eine neue Instanz der NeutralResourcesLanguageAttribute-Klasse mit dem endgültigen Ort für Fallbackressourcen.Initializes a new instance of the NeutralResourcesLanguageAttribute class with the specified ultimate resource fallback location.

Eigenschaften

CultureName

Ruft den Kulturnamen ab.Gets the culture name.

Location

Ruft den Speicherort für die ResourceManager-Klasse ab, die zum Abrufen neutraler Ressourcen mithilfe des Ressourcenfallbackprozesses verwendet werden soll.Gets the location for the ResourceManager class to use to retrieve neutral resources by using the resource fallback process.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für:

Siehe auch