TOC

This article has been localized into German by the community.

Lokalisierung:

Implizite & Explizite Lokalisierung

Implizite Lokalisierung

Implizite Lokalisierung wird in Ihrem Markup verwendet. Der Hauptvorteil besteht darin, dass Sie mehrere Eigenschaften desselben Steuerelements / Objekts lokalisieren können, ohne explizit auf jede Eigenschaft zu verweisen. In unserem Kapitel "Hello World" haben wir es verwendet und gesehen, wie wir die meta: resourcekey-Eigenschaft eines Steuerelements festlegen und dann die Text-Eigenschaft automatisch der Ressourcenzeile in unserer Ressourcendatei zuordnen können. Lassen Sie uns dieses Beispiel etwas erweitern, um mehrere lokalisierte Eigenschaften zu erhalten. Wenn Sie dies noch nicht getan haben, sollten Sie jetzt das Kapitel Localized Hello World lesen und das Projekt daraus erstellen, wie es im folgenden Beispiel verwendet wird:

<asp:Label runat="server" ID="lblHelloWorld" Text="Hello, world!" Font-Names="Verdana" ForeColor="Blue" meta:resourcekey="lblHelloWorld" />

In den drei von uns erstellten Ressourcendateien (Standard, Deutsch und Spanisch) können Sie jetzt jeweils zwei zusätzliche Zeilen mit den Namen "lblHelloWorld.ForeColor" und "lblHelloWorld.Font-Names" hinzufügen und anschließend unterschiedliche Werte für diese definieren. Beispielsweise könnte die Standardfarbe der Beschriftung blau sein, die deutsche Version könnte grün sein und die spanische Version könnte rot sein, und Sie könnten auch unterschiedliche Schriftnamen für jede von ihnen definieren. Dies macht es wirklich einfach, z.B.: Steuerelemente zu lokalisieren, da wir nur den Namen der Ressourcenzeile definieren müssen - jede Eigenschaft wird automatisch zugeordnet.

Explizite Lokalisierung

Mit der expliziten Lokalisierung wählen Sie eine bestimmte Ressourcenzeile aus Ihrer Ressourcendatei aus, die an Sie zurückgegeben wird. Während die implizite Lokalisierung bei der Lokalisierung von Websteuerelementen und anderen deklarativen Objekten hilfreich sein kann, ist die explizite Lokalisierung die einzige Möglichkeit, um andere Aufgaben auszuführen Umstand. Mal sehen, wie das obige Beispiel mit expliziter Lokalisierung aussehen würde:

<asp:Label runat="server" ID="lblHelloWorld2" Text="<%$ Resources:lblHelloWorld.Text %>" Font-Names="<%$ Resources:lblHelloWorld.Font-Names %>" ForeColor="<%$ Resources:lblHelloWorld.ForeColor %>"  />

Wir verwenden einfach die Ressourcenzeilen aus unserem vorherigen Beispiel erneut. Wie Sie sehen, ist das Markup für die explizite Lokalisierung etwas komplizierter und ausführlicher als für die implizite Lokalisierung. Die Syntax zum Abrufen einer Ressourcenzeile sieht folgendermaßen aus:

<%$ Resources:[resource class name,]RowName %>

Wie Sie sehen, haben wir in unserem Beispiel keinen Ressourcenklassennamen angegeben, da wir eine lokale Ressource verwenden. Wenn Sie eine globale Ressource verwenden, müssen Sie den Namen der resultierenden Klasse angeben. Dies entspricht in der Regel dem Dateinamen, jedoch ohne die Erweiterung .resx. Wenn Sie beispielsweise eine globale Ressourcendatei mit dem Namen MyGlobalResources.resx haben, erhalten Sie eine Ressource wie folgt:

<%$ Resources: MyGlobalResources,NameOfRow %>

So einfach ist das.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!