12
votes

Pourquoi ma courrouve-gb est-elle courante et maroculculature en-nous

J'ai une application C # qui doit exécuter sur des machines avec des paramètres de culture différents. Pas de problème que je pensais, il suffira simplement de démarrer ce que la culture actuelle est sur la machine et tout fait pour moi. Eh bien non, ça mettrait ce que quelque chose n'est pas tout à fait raison.

J'ai une machine Windows XP avec tout, dans les options régionales et linguistiques définies sur les Anglais États-Unis, mais lorsque mon application démarre, il rapporte que mon couranteCulture est fr-gb et mon CuralUiculture est en-nous .

Comment puis-je obtenir mon programme pour simplement utiliser tout ce que le PC est réglé?

Ceci est une application de service Windows si elle fait toute différence.

merci


1 commentaires

Cela a-t-il quelque chose à voir avec le fait que je compilise l'application sur une machine avec des paramètres FR-GB, mais ensuite l'exécutant sur une machine avec des paramètres en US? Je ne vois tout simplement pas où vient mon EN-GB et ma machine de développement est le seul lien.


3 Réponses :


1
votes

Je sais que vous pouvez définir ce que votre culture invariante est dans le cadre d'une construction, mais j'ai été surprise lorsque vous lisez ceci que la culture de votre boîte de construction est devenue votre culture invariante. Avez-vous essayé de rechercher tous les fichiers pour EN-GB Just pour être sûr qu'il n'est pas fait défaut quelque part?

Peu importe, il existe une solution de contournement. Si vous souhaitez remplacer cela avec la culture O / S, vous pouvez obtenir cela dans l'emplacement suivant et définir vos propriétés actuellesCulture et de courances actualiscules: P>

System.Globalization.CultureInfo.InstalledUICulture


2 commentaires

Merci. J'ai vérifié que et je ne le réglais pas n'importe où, la seule fois que j'ai utilisé System.globalization est tout à fait en regardant ce que la culture actuelle est réglée. Je vais changer de PC de développement pour en-nous et voir si cela le résout.


Oh, les rapports d'installationUculculture en-nous, c'est juste actuelculture qui insiste toujours, c'est en-GB :-(



6
votes

Un service Windows n'exécute généralement pas sous votre nom d'utilisateur et, alors cela n'a pas d'importance, ce que vos paramètres régionaux sont. Il s'agit des paramètres régionaux du compte système. Je suppose que vous exécutez une version EN-GB de Windows et le compte système utilise toujours cela.

Il existe des moyens d'obtenir sur ce compte, vérifiez SuperUser .


1 commentaires

Oui, il a été chargé comme EN-GB et a changé pour en-nous. Je pense que cela va le réparer. J'aurai un aller maintenant.



4
votes

Je crois que ce qui suit est vrai:

  • CurrentCulture (qui affecte les formats de nombre et de date) reflétera les paramètres régionaux du compte sous lequel votre demande est exécutée. Vous pouvez modifier cela facilement avec le panneau de commande / les paramètres régionaux de l'utilisateur actuel, et si vous êtes un administrateur également pour l'utilisateur "Par défaut" utilisé pour les comptes système souvent utilisés pour les services Windows. Pour modifier l'utilisateur par défaut, il y a un bouton "Utiliser comme valeur par défaut" quelque part.

  • La couroscopeculture correspondra à la langue de la version de Windows que vous utilisez. Pour les versions MUI, vous pouvez modifier ceci dans le panneau de configuration, mais pas pour les versions mono-linguistiques.


0 commentaires