Mehrsprachige Applikation, Allternativen zu import Datei.rc
-
Hi,
wir verwenden eine Komponente, deren Ressourcen wir über einen Ressourceninclude (include "component.rc") einbinden. Der Quellcode von dieser Ressource steht uns zur Verfügung. Dies funktioniert soweit. Nun möchten wir unsere Applikation mehrsprachig gestallten. Dazu muss auch diese RC-Datei zur Laufzeit geladen werden.
Kennt jemand einen Weg eine RC-Datei zur Laufzeit zu laden?
Ein Ansatz, den ich mir überlegt hatte, ist, diesen RC-Include in eine Dll zu verlagern und diese Dll dann per LoadLibrary laden. Nur stehen dann die Ressourcn wirklich zur Verfügung? Oder kennt jemand den richtigen Weg?
VG Fabian
-
Der von Microsoft/MFC favorisierte Weg ist die Verwendung von Resource-DLLs.
Dazu gibt es schon viele Anleitungen (http://www.codeproject.com/Articles/11731/Resource-DLLs-and-Language-Selection-Menu), einfach mal googeln.
Ich finde diesen Weg nicht praktikabel und sehr umständlich. Wird das Programm verändert, dann werden eventuell die Resource-DLLs inkompatibel und es kommt zu Programm/Anzeigefehlern. Der Abgleich zwischen Resource-DLLs und Programm-Resource ist aufwendig, da gibts wohl auch Tools aber die wirklich nutzbaren sind meist kostenpflichtig.
Bei meiner Software sollten "Fremde" auch die Möglichkeit haben, das Programm selbst in eine Sprache zu übersetzen, deswegen habe ich mein MFC-Programm so realisiert, das es die Übersetzungen aus CSV-Dateien lädt, das klappt sehr gut.
-
Oder das hier:
http://www.mpdvc.de/artikel/MultilingualeProgramme.htm