Frage von bitbuerster, 1

Sprachanpassung von Windows .NET Programmen zur Laufzeit (statt: Compilierzeit)?

Hallo zusammen,

ist es richtig, dass ein .NET-Programm seine Ressource-Files zur Unterstützung verschiedener Sprachen nur zur Compiler-Zeit ändern kann, nicht aber zur Laufzeit?

D.h.: Nehmen wir mal an, ich entwickle mit VisualStudio ein .NET Programm. Dann muss ich bereits zur Entwicklungszeit für jede Sprache, die ich unterstützen will, ein passendes .resx-File dazu im Projekt anlegen, z.B. "resources.de.resx", "resources.fr.resx", "resources.ru.resx" etc. Diese werden dann später per Compilierung (!) seitens des VisualStudios in (binäre) Ressource-Dateien übersetzt; Windows ist dann so intelligent, zur Laufzeit (!) des Programms anhand der Lokalen die richtige dieser Sprachdateien zu laden.

Aber: Wenn ich jetzt z.B. kein russisch kann, dann kann ich die Programmversion leider auch für die deutsche- und französischsprachige noch nicht auslieferen, weil ich warten muss, bis mir jemand die russische .resx Ressource-Datei mit dem "Windows Forms Resource Editor" (WinRes.exe) übersetzt hat: Dann erst kann ich im VisualStudio die endgültige Programmversion compilieren (und ausliefern).

Was aber anscheinend nicht geht, ist, z.B. bereits das Programm mit deutschen und französischen Texten auszuliefern -und die russische Sprachvariante z.B. durch eine Community nachträglich machen zu lassen (=ohne Neucompilierung der Binaries)?

Unterstützt einen die Windows-Programmierumgebung hier tatsächlich nicht flexibler?

Danke!

Antwort
von PWolff, 1

Microsoft empfiehlt, lokalisierungsabhängige Ressourcen komplett in eigene DLLs auszulagern:

https://msdn.microsoft.com/en-us/library/aa292131%28v=vs.71%29.aspx

https://msdn.microsoft.com/en-us/library/cc194773.aspx

(https://msdn.microsoft.com/en-us/library/cc194774.aspx)

Keine passende Antwort gefunden?

Fragen Sie die Community