Laden...

Windows 10 UWP Localization pro Page eine Ressoure Datei

Erstellt von kkirchhoff vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.571 Views
K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 7 Jahren
Windows 10 UWP Localization pro Page eine Ressoure Datei

Um meine Windows 10 UWP App mehrsprachig zu machen, verwende ich bislang folgende Vorgehensweise:

Ich lege für jede Sprache im Verzeichnis "Strings" + "de-DE" oder + "en-US" eine Ressource Datei an.

Meine Frage ist, kann man auch unterschiedliche Ressourcen Dateien pro Sprache anlegen. Ich finde es sehr unübersichtlich alle Strings in eine Datei zu schreiben. Am liebsten wäre mir eine Lösung, pro View eine Ressourcen Datei.

Wenn möglich würde ich mich über ein Beispiel sehr freuen.

Besten Dank

D
985 Beiträge seit 2014
vor 7 Jahren

Erstell dir einfach soviele Resource-Dateien wie du magst inkl. der Lokalisierungen. Es sind einfach nur Dateien, den man unterschiedliche Namen geben kann.

z.B. MeineViewIhreResourcen.resx mit MeineViewIhreResourcen.de-DE.resx usw.

K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 7 Jahren

Danke für die schnelle Antwort 😃

Das heißt dann, dass in allen dieser *-resx nach den entsprechenden Strings gesucht wird ?

D
985 Beiträge seit 2014
vor 7 Jahren

Nein.

Wie greifst du denn auf die Resourcen zu? Über Resources.Whatever?
Und auf die von mir genannte halt über MeineViewIhreResourcen.Whatelse.

Was du in MeineViewIhreResourcen.resx nicht definiert ast, darauf kannst du auch nicht zugreifen.

K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 7 Jahren

Ich verwende Visual Studio 2015 unter habe eine Windows Universal App zu entwickeln (UWP) unter Windows 10.

Ich greife wie folgt auf die Ressource zu


        <Viewbox HorizontalAlignment="Stretch"   VerticalAlignment="Stretch" Grid.Row="0" >
            <TextBlock x:Uid="Title" Text="Hello" Foreground="Aqua" />
        </Viewbox>

        <Button x:Uid="ExitButton" Content="Beenden" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Top" />

        <TextBlock x:Uid="Message" Text="Original" Grid.Row="2" />

via x:UId definiere ich das Flag, welches in der *.resw Datei steht.

z.B. x:Uid="Title", in der +,resw Datei steht dann unter Name auch Titel.Test, das bedeutet, der der Wert für das Property Text stehen soll, Bei Titel.Forceground, wird die Textfarbe definert.

D
985 Beiträge seit 2014
vor 7 Jahren

Dann hast du dir bestimmt schon mal Aufnehmen von UI-Zeichenfolgen in Ressourcen angeschaut und dort unter

Klicken Sie auf Hinzufügen. Dadurch wird eine Ressourcendatei mit dem Standardnamen „Resources.resw“ (für XAML) oder „resources.resjson“ (für HTML) hinzugefügt. Es wird empfohlen, diesen Standarddateinamen zu verwenden. Apps können ihre Ressourcen in andere Dateien partitionieren. Sie müssen jedoch darauf achten, richtig auf die Dateien zu verweisen (siehe
>
).

nur den Link zu So wird’s gemacht: Laden von Zeichenfolgenressourcen (XAML) übersehen 😁

K
kkirchhoff Themenstarter:in
118 Beiträge seit 2008
vor 7 Jahren

Danke klappt, wer lesen kann ist klar im Vorteil hatte ich mir zwar schon mal angeschaut aber irgendwie ging es gestern nicht ...

Danke