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
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.
Danke für die schnelle Antwort 😃
Das heißt dann, dass in allen dieser *-resx nach den entsprechenden Strings gesucht wird ?
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.
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.
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 😁
Danke klappt, wer lesen kann ist klar im Vorteil hatte ich mir zwar schon mal angeschaut aber irgendwie ging es gestern nicht ...
Danke