Hi,
ich habe ein umfangreiches Program zum Verarbeiten und Bemaßen von Bildern geschrieben und möchte es nun für unsere englisch-sprechenden Kollegen verfügbar machen.
Wenn ich nun die Kultur in der Program.cs, wie folgt ändere:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| ResourceManager resMgm = new ResourceManager("user.settings", Assembly.GetExecutingAssembly()); string Lang = resMgm.GetString("Spracheinstellung"); string LangCode; if (Lang == "deutsch") { LangCode = "de"; } else { LangCode = "en"; } LangCode = "de"; CultureInfo myCultureInfo = new CultureInfo(LangCode); Thread.CurrentThread.CurrentCulture = myCultureInfo; Thread.CurrentThread.CurrentUICulture = myCultureInfo; |
habe ich das Problem, dass meine an den Stellen, wo Berechnungen durchgeführt oder Strings konvertiert werden, ich Probleme mit dem englischen Zahlenformat (Punkt statt Komma) bekomme und dies zu falschen Ergebnissen führt.
Ich hab es an einer Stelle so gelöst:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| string LangText = Properties.User.Default.Spracheinstellung; string LangCode; string temp_DM3; string temp_SER; if (LangText == "deutsch") { temp_DM3 = Properties.User.Default.ImportFilter_DM3_setting; temp_SER = Properties.User.Default.ImportFilter_DM3_setting; } else { temp_DM3 = Properties.User.Default.ImportFilter_DM3_setting.ToString().Replace(",", "."); temp_SER = Properties.User.Default.ImportFilter_DM3_setting.ToString().Replace(",", "."); } |
Aber, ich habe so viel Stellen im Programm, wo es zu einem Fehler kommen kann und ich jede einzelne finden und lösen muss.
Gibt es dafür eine elegantere, einfache Lösung? Oder vielleicht ein komplett anderen Ansatz?
Moderiert von Th69: Titel geändert ("Punk" -> "Punkt" ;- ).
Moderiert von Th69: Code- durch C#-Tags ersetzt