.NET Äquivalent zu JAVA Properties File

Tikonteroga

Erfahrenes Mitglied
Hallo,

gibt es in .NET und der Programmiersprache C# ein gängiges Konzept die Texte etwa von Fehlermeldungen oder von einer Grafischen Benutzungsoberfläche zu lokalisieren ?

Unter JAVA gibt es ja die Möglichkeit dies mit einem Properties File umzusetzen.

Grüße

Tikonteroga
 

Christian Kusmanow

Erfahrenes Mitglied
Hallo Tikonteroga,

des Rätzels Lösung sind sog. RESX-Ressource-Dateien
-> Adding and Editing Resources (Visual C#)

Die lokalisierung funktioniert recht einfach über den Dateinamen:

Pattern: [Name].[Sprachcode].resx

Wobei der Sprachcode in Land und Region aufgeteilt ist. Hier gilt das Fallback-Prinzip. Findet das Framework keine Resourcen in der aktuellen Sprache, wird die nächst höher angesidelte Sprache verwendet. Es bietet sich daher an, immer eine Resource in einer sog. neutrale Sprache (i.d.R. Englisch) anzulegen, da sonst eine MissingManifestResourceException geworfen wird.

Beispiel:
MyExceptionResources.resx (neutral culture)
MyExceptionResources.de.resx (Deutsch allgemein)
MyExceptionResources.de-DE.resx (Deutschland)
MyExceptionResources.de-AT.resx (Österreich)

Die VS IDE generiert Dir für die neutrale Resource-Datei eine Designer-Datei, in der Du die Elemente bequem über den Designer pflegen kannst.

Zugriff:
Code:
MessageBox.Show( MyExceptionResources.Resourcename );

Links:
Globalizing and Localizing Applications
CultureInfo Class
 
Zuletzt bearbeitet:

Neue Beiträge