1

Comment puis-je détecter les unités que l'utilisateur préfère lire?Détecter les unités préférées de l'utilisateur

Je veux dire Celcius vs Fahrenheit, mètres vs miles, etc.

Je peux utiliser des services tiers comme http://freegeoip.net/json/ pour obtenir l'adresse IP, le code de pays, etc. Je pourrais aussi utiliser navigator.language dans le navigateur pour avoir une soupçon de la langue, mais je ne suis pas sûr s'il y a un moyen sûr de s'assurer que je présente les résultats dans les bonnes unités à l'utilisateur.

(Avoir une sélection avec des options unités résoudrait pour l'utilisateur, mais ce n'est pas dans le cadre de ma question.)

+1

Les demander est le seul moyen sûr de répondre à votre question. Tout le reste est une supposition qui, au mieux, est juste la plupart du temps, mais se trompera de temps en temps. Par exemple, si vous préférez la métrique et visitez les États-Unis, votre estimation de JS est fausse. –

+0

@sethflowers c'est pourquoi je me demande s'il existe un moyen via JavaScript pour déterminer exactement quelles préférences l'utilisateur a concernant les unités de mesure. – Rikard

+0

aucun que je sache. Cela nécessiterait que cette préférence soit configurable quelque part, et ce n'est pas une configuration que j'ai jamais vue dans Windows - je ne sais pas sur les autres systèmes d'exploitation. Certaines applications peuvent avoir cette préférence, mais la seule qui serait importante pour votre navigateur serait soit la préférence de votre navigateur, soit une préférence dans le système d'exploitation, ce que je n'ai jamais vu. –

Répondre

0

Non, ce n'est pas dans Windows ou un autre système d'exploitation, je suis au courant. Android a seulement commencé à proposer des ICU (4J ou C) via son API avec la dernière version "Nougat". ICU et Unicode CLDR connaissent plusieurs unités, mais le système d'unités pour le moment n'y est pas non plus exposé. Si vous appelez une API comme http://freegeoip.net/json/, le nom ou le code du pays vous permet de décider quels pays ont généralement adopté le système métrique plutôt que d'autres (3 seulement, y compris les États-Unis), mais il existe de nombreux pays, par exemple. Grande-Bretagne où certaines unités sont également utilisées par le système impérial. Les panneaux de rue indiquent la distance en milles, alors que vous voyez normalement une station-service offrir du carburant par litre et non par gallon comme aux États-Unis.