Benutzer mit den meisten Antworten
Umschalten der Resourcedatei

Frage
-
Hallo,
Ich habe 2 Resourcedateien in meiner ASP-App, ResFile1 und ResFile2.
Wie ich auf eine Datei zugreife, weis ich. Ich mache das also so:
<asp:Literal Text="<%$ Resources:ResFile1 ,Hallo %>" runat="server" />
Wie kann ich aber im Code auf die ResFile2 umschalten, so das ich eine Literal-Zeile habe, die aber mal aus dem 1er und
mal aus dem 2er File liest?
gruss Jens
Antworten
-
Hallo Jens,
Du musst pro Kultur entsprechend benannte .resx Datei anlegen. Die ResFile1.resx ist Deine Standarddatei. Die englische Resourcendatei würde dann ResFile1.en.resx oder US-spezifisch ResFile1.en-Us.resx . Der Compiler erstellt dann entsprechende Satellite Assemblies, die die lokalisierte Resourcen enthalten und von der Laufzeitumgebung in der Abhängigkeit von der gewählten Struktur automatisch benutzt werden.
Eine ausführlichere Beschreibung findest Du hier: http://msdn.microsoft.com/de-DE/library/ms227427.aspx
Gruß,
Sergej.
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 28. Oktober 2010 14:13 Hyperlink als Hyperlink
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 28. Oktober 2010 14:14
- Als Antwort markiert jens Brenner Freitag, 29. Oktober 2010 08:08
Alle Antworten
-
Hallo Jens,
ich gehe davon aus, dass Du zwischen verschiedenen Sprachen umschalten willst. Hier ist ein Artikel zu diesem Thema:
[http://msdn.microsoft.com/de-DE/library/bz9tc508.aspx]
Gruß,
Sergej.
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 28. Oktober 2010 14:13 Hyperlink als Hyperlink
-
Danke, da steht wie ich die Culture in einer Seite umschalte, aber wie wird danndas richtige ResourceFile genommen?
im Code:
"<%$ Resources:ResFile1 ,Hallo %>"
geben ich ja das File selbst an.
Ich verstehe den Mechanismus nicht, wie dann File1 genommen wird, z.b. wenn ich de-culture einstelle `
Jens
-
Hallo Jens,
Du musst pro Kultur entsprechend benannte .resx Datei anlegen. Die ResFile1.resx ist Deine Standarddatei. Die englische Resourcendatei würde dann ResFile1.en.resx oder US-spezifisch ResFile1.en-Us.resx . Der Compiler erstellt dann entsprechende Satellite Assemblies, die die lokalisierte Resourcen enthalten und von der Laufzeitumgebung in der Abhängigkeit von der gewählten Struktur automatisch benutzt werden.
Eine ausführlichere Beschreibung findest Du hier: http://msdn.microsoft.com/de-DE/library/ms227427.aspx
Gruß,
Sergej.
- Bearbeitet Robert BreitenhoferModerator Donnerstag, 28. Oktober 2010 14:13 Hyperlink als Hyperlink
- Als Antwort vorgeschlagen Robert BreitenhoferModerator Donnerstag, 28. Oktober 2010 14:14
- Als Antwort markiert jens Brenner Freitag, 29. Oktober 2010 08:08
-
Hallo,
So ganz klappts noch nicht:
ich stelle in einer Seite die Culture jetzt so um:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); base.InitializeCulture();
und nach den Zeilen steht auch in den Objekten die richtige info (sehe ich im Debugmodus), aber nach einem neuen Seitenaufruf steht wieder de-DE in den Culture-Objekten.
- Bearbeitet Robert BreitenhoferModerator Montag, 29. November 2010 13:19 Formatierung