Ich habe versucht, Anwendungen für mehrere Sprachen in C # geeignet zu machen, da ich an einem kleinen Projekt arbeiten muss, in dem dies der Fall ist. Ich habe grundsätzlich zwei Möglichkeiten gefunden, dies zu tun:
Setzen Sie die Localizable-Eigenschaft eines Formulars auf true, setzen Sie die Language-Eigenschaft, füllen Sie alle Beschriftungen und dergleichen aus, und schon sind Sie fertig. Der Hauptnachteil, den ich darin sehe, ist: wie man andere Dinge, die nicht Teil eines Formulars sind, für mehrere Sprachen bereit macht (z. B. Popup-Fenster, Protokolldateien oder Fenster usw.).
Erstellen Sie eine Ressourcendatei, zum Beispiel 'Lang.en-us.resx' und eine für jede Sprache, zum Beispiel 'Lang.nl-nl.resx', und füllen Sie sie mit Strings. Die IDE scheint automatisch eine Klasse für mich zu generieren, daher kann ich im Code nur Lang.SomeText verwenden. Der größte Nachteil, den ich darin sehe, ist: Für jedes Formular muss ich alle Beschriftungen und anderen Beschriftungen selbst im Code festlegen (und es scheint, dass die Datenbindung mit diesen Ressourcen nicht funktioniert).
Ich bin mir jedoch sicher, dass es auch andere Methoden gibt, um dies zu tun.
Was ist die beste Vorgehensweise? Was ist für kleine Anwendungen am einfachsten (einige Formulare, Datenbankverbindung usw.) und was lässt sich für größere Anwendungen am besten skalieren?