Frage

Ich bin WebResources.resx Datei mit mehreren String Erstellen von Nachrichten Ich möchte kategorisieren:

Signup_Status_Inactive Signup_Status_Reserved etc ...

Da es nur eine XML-Datei im Hintergrund, ist es möglich, Beziehungen Eltern / Kind zu schaffen, damit ich nicht in Beziehung stehenden Saiten Präfix müssen und eine bessere Punktnotation folgen?

Um dies zu umgehen kann ich eine Klasse zu erstellen, mit einigen Eigenschaften durch die richtige Punktnotation zugegriffen wird, dh StatusMessages.Signup.Inactive -. Aber das ist nur zusätzliche Arbeit

Gibt es nur eine Ebene mit der String-Komponente der RESX-Dateien?

Außerdem, wie kann man Ausgang Session-Variablen als Teil des resx Wertes - das heißt: "Ihre Karte # " + HttpContext.Current.Session [ "ReservedCardNum"] + " hat für Sie reserviert."

Danke.

War es hilfreich?

Lösung

Alle Tasten in einer RESX-Datei sind einzelne Ebene , aber es nichts, was man ist Stoppen von Ihrem eigenen XML-Format verwenden, vorausgesetzt, Sie schreiben den Code, es zu lesen und alle Werkzeuge, die benötigt werden, halten es.


Zur Ausgabe von Session-Variablen, würde ich verwenden String.Format ()

Normalerweise würden Sie schreiben

String.Format(“"Your Card #{0}  has been reserved for you.", 
              HttpContext.Current.Session["ReservedCardNum"])

So einfach statt nur verwenden

String.Format(stringLookedFromResouceFile, 
              HttpContext.Current.Session["ReservedCardNum"])

Und setzt die „{0}“ in dem übersetzten String, auf diese Weise der Übersetzer die Reihenfolge der Worte ändern können, wenn nötig.


Überlegen Sie, wie Sie an die Übersetzer kommunizieren, was die Platzhalter, wenn die Übersetzer einen Ressourcen-Editor verwenden, der das Kommentarfeld zeigt, Sie Kommentare wie hinzufügen könnte „{0} = username“

Sie haben auch irgendwie zu überprüfen, dass die Übersetzer der Platzhalter nicht vermasseln, habe ich Übersetzer gesehen ändern „{0}“ auf „(0)“, wie sie „denken, die andere Art von Klammern besser aussehen“ usw! oder löschen Sie eines des Brackens so das String-Format ist nicht mehr gültig.

finden Sie unter Wie Format-String zu validieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top