6
votes

Existe-t-il un moyen de dire si l'utilisateur préférerait métrique ou impériale sans demander à C #?

En ce moment, je fais maintenant: XXX

Cela fonctionne pour distinguer les États-Unis d'Europe et d'Asie, mais il ignore l'Amérique du Sud.

Y a-t-il une meilleure façon?


4 commentaires

Je m'ignorerais aussi, si j'étais dans un café Internet à Londres. J'apprécierais grandement une option pour remplacer la supposition.


Bien sûr, il y aurait une substitution. D'où le "bydefault" dans le nom de la fonction.


HMM, il existe un paramètre «système de mesure» dans les options régionales et linguistiques sous le panneau de configuration (derrière le bouton Personnaliser). Je me demande ce que cette carte dans .net.


Tout le monde ne doit-il pas passer à la métrique? O :-)) C'est un peu comme ... mmm ... Standard :-)


5 Réponses :


2
votes

On dirait qu'il existe déjà une implémentation dans Système .Globalization.regioninfo ( régionInfo.ismétrique ).

vous pourrait utiliser le cultureInfo classe qui peut renvoyer la culture du système d'exploitation que vous utilisez - généralement dans le format EN-US < Code> EN-GB DE-DE ETC. Les cultures sont plus souvent utilisées pour traduire des applications d'une langue à une autre en fonction de la culture du système d'exploitation.

Tout cela est tout pour la localisation spécifiée - vous voudrez peut-être lire sur certains didacticiels et certains articles concernant celui-ci (c'est-à-dire ici ).


2 commentaires

Tu ne veux pas dire la classe régionInfo? CultureInfo obtient ceci lié à la langue - RegionInfo a des choses la langue, la mesure et la monnaie.


Oui oui. J'ai laissé des informations sur cultureinfo là-bas de toute façon, on dirait que je pouvais faire une pause pendant une demi-heure ou ...




4
votes

Une partie du problème est que même si vous utilisez leur régionInfo, tout le monde dans une région n'utilise pas le même système. Aux États-Unis, les scientifiques utilisent souvent des métriques dans leurs recherches et, ici au Canada, c'est un peu un mélange, car nous obtenons beaucoup d'emballages alimentaires des États-Unis, mais nous enseignons à nos enfants en métrique (mais seulement depuis récemment - mes parents pense toujours en impérial).

Cela étant dit, vous pouvez faire une conjecture équitable en utilisant le RegionInfo


0 commentaires

2
votes

C'est une propriété sur la catégorie code> RegionInfo CODE>:

// en-US, en-GB, de-DE etc.
string cultureName = CultureInfo.CurrentCulture.Name;
RegionInfo regionInfo = new RegionInfo(cultureName);
Console.WriteLine("You prefer to see {0}", regionInfo.IsMetric ? "metric" : "imperial");


0 commentaires

1
votes

pour un "poignard dans le noir", les informations régionInfo sont suffisamment bonnes.

Cependant, dans la pratique, des endroits comme le Royaume-Uni ont des exceptions. Par exemple:

  • tout ce qui est lié au trafic est impérial
  • Les températures de la météo sont métriques, mais certaines personnes préfèrent Imperial
  • Les mesures d'équipement sont la plupart des ... surtout

    Beaucoup dépend de la génération que vous êtes dans votre attitude de changement.

    SO - En pratique - Fournissez les deux, prenez une conjecture à une valeur raisonnable, mais si elle est importante permet toujours à l'utilisateur de remplacer la préférence et assurez-vous que ces modifications sont mémorisées.


0 commentaires