none
Umschalten der Resourcedatei RRS feed

  • 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

    Dienstag, 26. Oktober 2010 09:27

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.

    Donnerstag, 28. Oktober 2010 08:40

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.

    Mittwoch, 27. Oktober 2010 18:21
  • 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

    Donnerstag, 28. Oktober 2010 06:51
  • 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.

    Donnerstag, 28. Oktober 2010 08:40
  • 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.

     

    Mittwoch, 3. November 2010 09:48