Ich habe eine winform, C# -Anwendung, die ich in lokalisierten Sprachen ausgeführt haben möchte. Das Ziel .Net ist 3.0, da viele meiner Benutzer XP noch benutzen. Die Anwendung ist eine System-Tray-Anwendung.Warum wird meine Anwendung nicht in die lokale CurrentUICulture übersetzt?
Ich habe alle Zeichenfolgen in eine Resources.resx geschrieben und Resources.XX.resx Dateien für die verschiedenen Sprachen generiert, die ich brauche, mit ResX Resource Manager.
Wenn ich die CurrentUICulture in einer anderen Sprache (das heißt Finnish) mit dem Code:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fi-FI");
Es funktioniert wie erwartet und zeigt alle Formen in finnischen.
Allerdings, wenn ich die Anwendung auf einer Maschine mit der Sprache eingestellt, wie finnisch alle des WinForms kommen mit te englischen Strings (Englisch ist auch der neutrale string)
ich überprüft habe, installieren, dass die Formulare die Eigenschaft haben, lokalisierbar auf wahr gesetzt.
Warum es nicht funktioniert, wenn ich die CurrentUICulture hart codieren, aber nicht, wenn ich es nicht tun?
Gibt es eine alternative Möglichkeit, die Benutzeroberflächensprache des PCs zu überprüfen und die Anwendung CurrentUICulture zu aktualisieren?
Sicherstellen, dass die Satelliten-Baugruppen zum Einsatz in der Nähe von der Anwendung auf Client-Rechnern angezeigt werden soll. –
Wenn Sie "Thread.CurrentThread.CurrentUICulture" auf "new CultureInfo" ("fi-FI") setzen? Was bedeutet es: * Warum funktioniert es, wenn ich die 'CurrentUICulture' fest codiere, aber nicht wenn nicht? * –
Ich teste auf meinem Entwicklungs-PC, indem ich eintippe: Thread.CurrentThread.CurrentUICulture = new CultureInfo ("fi-FI"); am Anfang von program.cs Jedoch, wenn ich die oben genannte Linie entferne und auf einen PC setze, der auf finnisch läuft, erscheint der Text auf Englisch. – Luke