我如何显示的Win32 / .NET异常消息时,我的应用程序始终使用英语吗?

我得到这个消息时,它看起来像有人用Babelfish平台来翻译它(这是瑞典): “System.ComponentModel.Win32Exception:Programmet的Kunde INTE启动市场eftersom programmets黄花稔-VID-sidakonfiguration AR felaktig”

非常无益的,和谷歌有高达4次命中的话,没有人帮助。 所以我要猜一下原来的信息是和谷歌这一点。 (它是:“应用程序未能启动,因为其侧由端配置不正确”)

这一次是相当简单的找出原始的错误消息是,从一开始就具有英语消息当然会救我的时间。

那么,我该怎么办?

有帮助吗?

解决方案

可以尝试设置Thread.CurrentThread.CurrentUICulture和/或.CurrentCultureCultureInfo("en-US")

其他提示

更有理由为什么例外不应翻译(严重)。 当登录例外,它使睦更有意义做一个单一的语言。我不能相信微软没有想办法做多的UICulture,这基本上是一个非选项这个其他:(

如果它是一个ASP.NET应用程序,您可以设置用户界面语言在web.config中(*):

<system.web>
    <globalization ... uiCulture="en-US" ... />
</system.web>

对于其他的应用,当前用户的区域设置默认情况下使用,你必须明确地重写它 - 例如, Thread.CurrentUICulture =新的CultureInfo( “EN-US”)。

(*)警告 - 如果处理的元素之前被扔在一个异常的配置文件结果的错误,你将得到默认的UICulture

强制例外不同的语言来显示似乎有点苛刻的用户...你可以随着消息显示错误代码?然后,用户将得到的东西,他们能理解,你可以查找错误代码的翻译版本。

我不是一个.NET的家伙,所以我不知道这是可能的,只是一个想法。

  

如何让我的应用程序始终   显示win32的时候使用英语/ .NET   例外消息?

首先,不显示的Win32 / .NET异常信息给用户的。你应该处理异常而不是将它们展示给用户。

默认情况下异常消息将在当前的界面语言显示(如果安装相应的语言包,否则回退到英语)。您可以更改异常消息改变 Thread.CurrentThread.CurrentUICulture 属性,但是它会影响你的应用程序的整个GUI。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top