Laden...

Fehlermeldungen auf Englisch umstellen?

Letzter Beitrag vor 14 Jahren 12 Posts 6.721 Views
Fehlermeldungen auf Englisch umstellen?

Hallo,

ich nutze das deutsche VS 2010 Ultimate und das deutsche .NET 4 Framework. Ist es möglich, die Fehlermeldungen auf englisch umzustellen? Einmal in der IDE (da bräcuhte ich wahrscheinlich das englische VS?) und was mich viel mehr interessieren würde: Die Fehler, die als zusätzlcihe Beschreibung bei Exceptions enthalten sind, z.B.

Die Auflistung wurde geändert. Der Enumerationsvorgang kann möglicherweise nicht ausgeführt werden. wenn während einer foreach Schleife die durchlaufende Auflistung geändert wird. Diese Meldung hätte ich gerne auf englisch.

Danke für jeden Tipp!

P.S.: Reicht es für letzteres evtl. schon das englische VS 2010 zu installieren?

Hast du das Language Pack Deutsch für das Framework installiert? Soweit ich weiß ist das der entscheidende Faktor für die Sprache der Fehlermeldungen. Deinstallieren sollte in dem Fall dann reichen.

Falls die englische Sprache da irgendwo mit installiert ist, sollte es auch reichen, die aktuelle Culture auf englisch zu stellen

Thread.CurrentCulture = new CultureInfo("en-US")

oder sowas...

hab ich jetzt aber nicht ausprobiert, da ich sowieso nur die englische Version installiert habe.

Gruß

Falls die englische Sprache da irgendwo mit installiert ist, sollte es auch reichen, die aktuelle Culture auf englisch zu stellen

Das wäre dann aber Zweckentfremdung dieser Funktion. Denn die aktuelle Culture entscheided ja im Programm hauptsächlich, wie die Sprache des Programms ist (falls Lokalisierung aktiviert ist) und wie Zahlen und Datumswerte formatiert werden. Nur wegen den Fehlermeldungen würde ich das deshalb nicht umstellen.

Wenn ein "deutsches" Framework installiert ist und englischsprachige Fehlermeldungen verlangt werden... Wo wäre da die Zweckenfremdung?
Das (temporäre) Umstellen der CultureInfo ist genau der richtige Weg für solche Zwecke.

hm, weiß nicht, aber mir "schmeckt" diese lösung nicht wirklich...

habe aber auch keine anderen lösungsvorschläge gefunden, als die Culture temporär zu ändern:
http://stackoverflow.com/questions/197127/prevent-exception-messages-from-being-translated-into-the-users-language
http://stackoverflow.com/questions/209133/c-exception-messages-in-english

scheint aber das problem auch nur teilweise zu lösen.

Hi,

Gegenfrage: Wo liegt der Sinn, eine deutsche Anwendung zu haben, wo die Fehlermeldungen auf Englisch kommen? In der Regel sollte es doch so sein, dass die Fehlermeldungen in der Sprache kommen, in der auch die Anwendung läuft.

Gruß

Gegenfrage: Wo liegt der Sinn, eine deutsche Anwendung zu haben, wo die Fehlermeldungen auf Englisch kommen? In der Regel sollte es doch so sein, dass die Fehlermeldungen in der Sprache kommen, in der auch die Anwendung läuft.

(System-/Framework-) Fehlermeldungen auf Deutsch versteht kein Mensch.

Falls es um abgefangene Exceptions mit eigenem Fehlerhandling geht - selbst geschriebene Fehlermeldungen sollten m.E. übersetzt werden. Bei den nicht abgefangenen Exceptions (via UnhandledExceptions) sollten m.E. auf Englisch sein.

PS: Nur so ein anderer Lösungsansatz (ein bisschen Hacky..): Wenn du nur die UnhandledExceptions auf Englisch haben möchtest, kannst du diese ja im Main der Applikation abonnieren. Dann vor dem Ausgeben die Default Language zwischenspeichern, auf englisch umstellen, Exception ausgeben und wieder auf die Default Language zurückstellen... Wie gesagt, ist ein hacky Ansatz aber so müsste es gehn....

EDIT: Funktioniert nicht!

Dann vor dem Ausgeben die Default Language zwischenspeichern, auf englisch umstellen, Exception ausgeben und wieder auf die Default Language zurückstellen.

Hast du das mal ausprobiert?
Denn ich würde mal stark drauf tippen, dass sich das Message-Property einer einmal erstellten Exception nicht mehr ändert. Die aktuelle Sprache dürfte (nur) beim Erstellen der Exception berücksichtigt werden. Du müsstest also dafür sorgen, dass die Exception noch einmal (mit der anderen Sprache) erstellt wird. Das wäre aber schon mehr als "hacky"...

Hast recht - habs getestet und es funktioniert wirklich nicht.

Falls die englische Sprache da irgendwo mit installiert ist, sollte es auch reichen, die aktuelle Culture auf englisch zu stellen

Thread.CurrentCulture = new CultureInfo("en-US")

das ist nicht ganz richtig, für lokalisierte Texte (Übersetzungen) muss man CurrentUICulture umstellen.

siehe auch diesen Blog: Why we have both CurrentCulture and CurrentUICulture

Hallo zusammen,

vielen Dank für eure Antworten.

Die erste Antwort von aadler hat mir schon geholfen:

Hast du das Language Pack Deutsch für das Framework installiert? Soweit ich weiß ist das der entscheidende Faktor für die Sprache der Fehlermeldungen. Deinstallieren sollte in dem Fall dann reichen.

Habe die beiden Language Packs (für .NET und für .NET Client Profile) deinstalliert, nun sind die Meldungen trotz deutschem VS auf englisch 😃