Pregunta

¿Cómo hago para que mi aplicación siempre use inglés cuando visualizo mensajes de excepciones win32 / .net?

Recibí este mensaje, parece que alguien usó babelfish para traducirlo (es sueco): " System.ComponentModel.Win32Exception: Programmet kunde inte starta eftersom programmets sida-vid-sidakonfiguration är felaktig. "

Extremadamente inútil, y Google tuvo la friolera de 4 aciertos, ninguno de ellos útil. Así que tengo que adivinar cuál era el mensaje original y googlearlo. (Fue: " La aplicación no pudo iniciarse porque su configuración de lado a lado es incorrecta. & Quot;)

Esta vez fue bastante simple averiguar cuál era el mensaje de error original, tener el mensaje en inglés desde el principio, por supuesto, me ahorraría tiempo.

Entonces, ¿cómo hago eso?

¿Fue útil?

Solución

Puede intentar configurar Thread.CurrentThread.CurrentUICulture y / o .CurrentCulture en CultureInfo (" en-US ") .

Otros consejos

Razón de más para que las excepciones no se traduzcan (mal). Al registrar excepciones, tiene mucho más sentido hacerlo en un solo idioma. No puedo creer que Microsoft no haya pensado en una forma de hacer esto que no sea UICulture, que básicamente no es una opción :(

Si se trata de una aplicación ASP.NET, puede configurar el idioma de la interfaz de usuario en web.config (*):

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

Para otras aplicaciones, la configuración regional del usuario actual se usa de manera predeterminada, y debe anularla explícitamente, p. Thread.CurrentUICulture = new CultureInfo (" en-US ").

(*) advertencia: si un error en el archivo de configuración genera una excepción antes de que se procese el elemento, obtendrá la uiCulture predeterminada.

Forzar que las excepciones se muestren en un idioma diferente parece un poco duro para el usuario ... ¿puede mostrar un código de error junto con el mensaje? Luego, el usuario obtendrá algo que puede entender, y puede buscar el código de error para la versión traducida.

No soy un tipo .net, así que no sé si esto es posible, solo una idea.

  

¿Cómo hago mi solicitud siempre?   use inglés cuando muestre win32 / .net   mensajes de excepciones?

En primer lugar, no muestra mensajes de excepción win32 / .net a los usuarios . Debe manejar las excepciones en lugar de mostrárselas al usuario.

Por defecto, los mensajes de excepción se mostrarán en el idioma de la interfaz de usuario actual (si está instalado el paquete de idioma apropiado, de lo contrario, recurrirán al inglés). Puede cambiar los mensajes de excepción cambiando Thread.CurrentThread.CurrentUICulture , sin embargo, afectará a la GUI completa de su aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top