Wir haben eine Ressourcendatei mit vielen übersetzten Strings, die an verschiedenen Stellen in unserer Anwendung verwendet werden. Gibt es eine bessere Möglichkeit, beispielsweise den Text einer Schaltfläche an eine bestimmte Zeichenfolge zu binden?C#: Wie man den Text einer Winforms-Schaltfläche an eine Ressource bindet
Derzeit sind wir in der Regel nur in dem Konstruktor so etwas wie dies zu tun, in einem Event-Handler-Laden oder bei einem Verfahren nach einem der Berufenen:
someButton.Text = CommonTexts.SomeString;
someMenuItem.Text = CommonTexts.SomeOtherString;
Gibt es einen besseren Weg, es zu tun? Vielleicht im Designer? Oder ist das die empfohlene Vorgehensweise?
Nur um Sie wissen zu lassen, wie wir die eigentliche Übersetzung machen: Wir haben ein Klassenbibliotheksprojekt, das nur resx-Dateien enthält. Die Hauptresx-Dateien sind natürlich in Englisch geschrieben. Wir öffnen dann diese Basis-Resx-Dateien in einer Anwendung namens ResEx, wo wir (oder jemand anders) die Übersetzung in andere Sprachen durchführt. Wenn kompiliert wird, erstellt Visual Studio automatisch Assemblys für jede Sprache, die je nach dem aktuellen Kultursatz automatisch verwendet werden. Das funktioniert ziemlich gut, daher brauche ich nicht wirklich Informationen darüber, wie man die Übersetzung macht und so (obwohl ich natürlich immer auf Verbesserungen neugierig bin). Was ich frage ist, ob es einen besseren Weg gibt, um diese übersetzten Strings von der Ressourcen-Assembly und in alle verschiedenen Text
-Eigenschaften zu bekommen.
Re, die Bearbeiten: Die Gegenfrage ist: Warum verwenden Sie nicht das Standard-FormLoad-System? Es ist eingebaut und unsichtbar. –
Weil ich mich gefragt habe, ob es einen besseren Weg gibt. – Svish