Suchen und Verwenden von Ressourcen für eine bestimmte Kultur

Die Common Language Runtime unterstützt den Abruf kulturspezifischer Ressourcen, die in Satellitenassemblys verpackt und bereitgestellt werden. Satellitenassemblys enthalten nur Ressourcendateien oder freie Ressourcen (z. B. GIF-Dateien). Sie enthalten keinen ausführbaren Code.

Im Satellitenassembly-Bereitstellungsmodell erstellen Sie eine Anwendung mit einer Standardassembly (der Hauptassembly) und verschiedenen Satellitenassemblys. Sie sollten die Ressourcen für die neutrale bzw. Standardassembly mit der Hauptassembly verpacken und für jede durch die Anwendung unterstützte Sprache eine separate Satellitenassembly erstellen. Da die Satellitenassemblys kein Teil der Hauptassembly sind, können Sie die Ressourcen problemlos entsprechend einer bestimmten Kultur ersetzen oder aktualisieren, ohne die Hauptassembly der Anwendung ersetzen zu müssen.

Die ResourceManager-Klasse stellt den Zugriff auf kulturspezifische Ressourcen zur Laufzeit zur Verfügung und steuert, wie Anwendungen mithilfe des Ressourcenfallback-Prozesses Ressourcen abrufen. Weitere Informationen finden Sie im untergeordneten Thema "Ressourcenfallback-Prozess" des Themas Verpacken und Bereitstellen von Ressourcen. ResourceManager legt fest, welche Ressourcen anhand der CultureInfo.CurrentUICulture-Eigenschaft des aktuellen Threads abgerufen werden. Wenn eine Anwendung beispielsweise mit der Standardsprachressource Englisch in der Hauptassembly und zwei Satellitenassemblys mit Ressourcen für Französisch und Deutsch kompiliert und die CurrentUICulture-Eigenschaft auf "de" festgelegt wird, ruft ResourceManager die Ressourcen für Deutsch ab.

Die CurrentUICulture-Eigenschaft kann auf verschiedene Arten festgelegt werden. Beachten Sie, dass die Art und Weise der Festlegung dieser Eigenschaft bestimmt, wie ResourceManager die Ressourcen basierend auf der Kultur abruft:

  • Die CurrentUICulture-Eigenschaft kann für eine bestimmte Kultur direkt im Anwendungscode festgelegt werden, z. B. "fr-CA" für Französisch (Kanada). Wenn Sie CurrentUICulture explizit im Code festlegen, gewährleisten Sie, dass die Ressourcen für diese Kultur immer unabhängig von der Browser- oder Systemsprache des Benutzers abgerufen werden. Beispiel: Eine Anwendung wird mit Standardressourcen für Englisch und zwei Satellitenassemblys mit Ressourcen für Französisch und Deutsch kompiliert. Wenn die CurrentUICulture-Eigenschaft im Anwendungscode auf "de" festgelegt wurde, ruft ResourceManager immer die Ressourcen für Deutsch auf, auch wenn die Systemsprache des Benutzers auf Französisch festgelegt ist. Stellen Sie sicher, dass dies das gewünschte Verhalten ist, bevor Sie diese Eigenschaft explizit im Code festlegen.

    Bei ASP.NET-Anwendungen ist es erforderlich, die CurrentUICulture-Eigenschaft explizit im Code anzugeben, da nicht zu erwarten ist, dass die Einstellungen auf dem Server mit den eingehenden Clientanfragen übereinstimmen.

  • Die CurrentUICulture-Eigenschaft wird implizit festgelegt, wenn eine Anwendung eine CurrentUICulture angibt. Wenn CurrentUICulture nicht explizit im Anwendungscode festgelegt wird, wird sie in Windows 2000- und Windows XP Multilingual User Interface (MUI)-Produkten, bei denen die Endbenutzer die Sprache der Benutzeroberfläche wählen können, durch die GetUserDefaultUILanguage-Funktion festgelegt. Wenn die Sprache der Benutzeroberfläche nicht festgelegt ist, wird sie durch die Sprache der Systeminstallation bestimmt, d. h. durch die Sprache der Ressourcen des Betriebssystems.

    Wenn es sich um eine webbasierte Anwendung handelt, kann CurrentUICulture im Anwendungscode explizit auf die Browsersprache der Benutzer festgelegt werden.

Beispiele zum Festlegen der CurrentUICulture-Eigenschaft finden Sie unter Verwenden der CurrentUICulture-Eigenschaft.

Weitere Informationen zum Abrufen von Ressourcen für eine bestimmte Kultur finden Sie unter Abrufen von Ressourcen in Satellitenassemblys und Ressourcen in ASP.NET-Anwendungen.

Siehe auch

Referenz

CultureInfo Class
CultureInfo.CurrentUICulture Property

Konzepte

Ressourcen in Anwendungen

Weitere Ressourcen

Codierung und Lokalisierung