Question

Comment faire en sorte que mon application utilise toujours l'anglais lors de l'affichage des messages d'exceptions win32 / .net?

J'ai reçu ce message, on dirait que quelqu'un l'a utilisé pour le traduire (c'est du suédois): "System.ComponentModel.Win32Exception: les programmes qui démarrent après le démarrage du programme de développement de la société de traitement de la sécurité des données", "

Extrêmement inutile, et Google a obtenu 4 succès, aucun d’entre eux n’ayant été utile. Donc, je dois deviner quel était le message original et google ça. (C’était: "L’application n’a pas pu démarrer car sa configuration côte à côte est incorrecte.")

Cette fois, il était assez simple de savoir quelle était la nature du message d'erreur initial. Avoir le message en anglais dès le début me ferait évidemment gagner du temps.

Alors, comment je fais ça?

Était-ce utile?

La solution

Vous pouvez essayer de définir Thread.CurrentThread.CurrentUICulture et / ou .CurrentCulture sur CultureInfo (" en-US ") .

Autres conseils

Raison de plus pour laquelle les exceptions ne doivent pas être traduites (mal). Lorsque vous enregistrez des exceptions, il est plus logique de le faire dans une seule langue. Je ne peux pas croire que Microsoft n’ait pas trouvé un moyen de faire cela à part UICulture, ce qui est fondamentalement une non-option: (

S'il s'agit d'une application ASP.NET, vous pouvez définir la langue de l'interface utilisateur dans web.config (*):

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

Pour les autres applications, les paramètres régionaux de l'utilisateur actuel sont utilisés par défaut et vous devez les remplacer explicitement - par exemple. Thread.CurrentUICulture = new CultureInfo ("en-US").

(*) mise en garde: si une erreur dans le fichier de configuration entraîne la génération d'une exception avant le traitement de l'élément, vous obtenez la valeur par défaut uiCulture.

Forcer l'affichage des exceptions dans une langue différente semble un peu dur pour l'utilisateur ... pouvez-vous afficher un code d'erreur avec le message? Ensuite, l'utilisateur obtiendra quelque chose qu'il peut comprendre et vous pourrez rechercher le code d'erreur correspondant à la version traduite.

Je ne suis pas un gars .net, donc je ne sais pas si cela est possible, juste une idée.

  

Comment faire ma demande toujours   utiliser l'anglais lors de l'affichage de win32 / .net   messages d'exceptions?

Tout d’abord, n’affiche pas les messages d’exception win32 / .net aux utilisateurs . Vous devez gérer les exceptions plutôt que de les montrer à l'utilisateur.

Par défaut, les messages d'exception seront affichés dans la langue de l'interface utilisateur actuelle (si le pack de langue approprié est installé, sinon ils se replient en anglais). Vous pouvez modifier les messages d'exception en modifiant Thread.CurrentThread.CurrentUICulture , cependant, cela affectera l’ensemble de l’interface graphique de votre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top