Frage

Ich habe für meine WPF-Anwendung zu tun Lokalisierung von Strings in RESX-Dateien zu speichern. Meine Standardsprache (Englisch) String-Ressource ist Strings.resx. Für andere Sprachen sind strings.fr-FR.resx für Französisch, strings.es-ES.resx für Spanisch und so weiter genannt.

Diese Methode der Lokalisierung wurde groß wie meine App automatisch die richtige Saite nach oben werden geladen, wenn ich die Globalisierung Region zu einem passenden Gebietsschema festgelegt, und standardmäßig auf Englisch, wenn es nicht.

Ist es möglich, zur Laufzeit aufzuzählen, welche Sprachen in meiner Versammlung?

ich um diesen und harten Code in welchen Sprachen sind enthalten bekommen könnte, aber das von Build ändern zu bauen, wie ein Build-Server wird zusammen die Sprache resx die und Gebäude dynamisch setzen.

War es hilfreich?

Lösung

Ich sehe zwei Möglichkeiten, von denen keines ist ideal ...

  • Aufzählen alle bekannten Kulturen (CultureInfo.GetCultures), und versuchen, eine gegebene Ressource für diese Kultur zu erhalten => einfache, aber langsam
  • Suchen Sie nach Satelliten-Baugruppen im Verzeichnis Ihrer Anwendung: für jedes Unterverzeichnis, überprüfen, ob es Namen eines Kulturnamen (CultureInfo.GetCultureInfo) ist entsprechen, und wenn es enthält eine .resources.dll Datei
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top