Laden...

Fehlermeldungen auf Englisch umstellen?

Erstellt von srynoname vor 13 Jahren Letzter Beitrag vor 13 Jahren 6.469 Views
S
srynoname Themenstarter:in
223 Beiträge seit 2006
vor 13 Jahren
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?

U
208 Beiträge seit 2008
vor 13 Jahren

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.

B
387 Beiträge seit 2005
vor 13 Jahren

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ß

U
208 Beiträge seit 2008
vor 13 Jahren

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.

I
1.739 Beiträge seit 2005
vor 13 Jahren

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.

U
208 Beiträge seit 2008
vor 13 Jahren

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.

B
387 Beiträge seit 2005
vor 13 Jahren

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ß

M
164 Beiträge seit 2009
vor 13 Jahren

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!

2.891 Beiträge seit 2004
vor 13 Jahren

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"...

M
164 Beiträge seit 2009
vor 13 Jahren

Hast recht - habs getestet und es funktioniert wirklich nicht.

M
334 Beiträge seit 2007
vor 13 Jahren

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

S
srynoname Themenstarter:in
223 Beiträge seit 2006
vor 13 Jahren

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 😃