Mehrsprachige wpf-Anwendung
Ich habe eine WPF-Anwendung (in Englisch) und ich möchte den Benutzern das auswählen von verschiedenen Sprachen. Ich habe einige Möglichkeiten das zu ändern Sprachen in runtime-Anwendungen, aber ich will nur eine Sprache wählen, die während der installation Zeit und nie ändern.
Denken Sie der Schnellste und einfachste Weg, es zu tun, ist die Entwicklung von verschiedenen Versionen des Programms (änderung nur text, Sprache) und damit der Benutzer eine von Ihnen auswählen, während der installation?? Wahrscheinlich, Sie zu wiederholen-code ändern nur die textbox oder labels ist nicht sehr elegant, aber beachten Sie, dass ich die Anwendung fertig in Englisch und ich brauche zum ändern der Sprache zur Laufzeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, die vorgeschlagene Lösung von Aghilas ist gut; aber Sie können
StaticResource
anstattDynamicResource
in Schritt 3DynamicResource
ist nicht erforderlich, in Ihrem Fall, da Sie nicht gehen, um chnage der Sprache, während die Anwendung ausgeführt wird.Haben auch einen Blick auf diese Artikel mit details über die Verwendung von Resx-Dateien für die Lokalisierung in WPF -
Lokalisierung einer WPF-Anwendung mit ResX-Dateien
WPF-Lokalisierung
WPF Lokalisierungs-Führung - Whitepaper
Befolgen Sie diese Schritte:
Erstellen der Ressource-Dateien
Diese Datei hinzufügen StringResources.xaml-Ressourcen-Verzeichnis. Hier ist ein Beispiel:
Können Sie erstellen, mehrere Dateien, eine für jede Sprache.
Hinzufügen der Ressource (Nennen wir das, wenn Sie die Anwendung starten)
Nutzung der Ressource, wie dies -
Quelle: https://www.codeproject.com/Articles/123460/Simplest-Way-to-Implement-Multilingual-WPF-Applica
Nur zu verbessern, @AghilasYakoub die richtige Antwort, ich glaube, ich muss Sie darauf hinweisen, dass der folgende code Hinzugefügt werden sollte, um die Datei
App.xaml
abgesehen von dem, was er gesagt hatte:Wenn Sie verwenden möchten RESX-Dateien anstelle von resource dictionaries, können Sie es leicht tun mit statischen Verweise in XAML.
In der
Resource
Ordner ist dieMainWindow.resx
,MainWindow.de.resx
usw. und jede Datei enthält einen SchlüsselMyTestKey
mit einer übersetzung.