Guesses the user's regional parameters on-device, in a reliable way.
This library relies on the window
object of the user's browser. It guesses timezone, country,
native and preferred languages of the user and also stores currency code and calling code
related to its guess. As there is no %100 accurate way of detecting user's regional parameters,
this library tries its chance by combinating the outputs of window.Intl
and window.navigator
objects.
npm i regionist
or inject with script tag:
<script type="module" src="https://cdn.jsdelivr.net/npm/regionist@6/dist/index.js"></script>
The guess result is available as you import it.
import { regionist } from 'regionist'
// or const { regionist } = require('regionist') for cjs
// guess result:
regionist.toObject() === {
timezone: string | undefined,
country: string | undefined,
locale: RegionistLocale | undefined,
preferredLocale: RegionistLocale | undefined,
callingCode: number | undefined,
currencyCode: string | undefined
}
// assuming user's locale detected as tr_TR
regionist.findClosestLocale(['en-us', 'tr-tr']) === 'tr-tr'
regionist.findClosestLocale(['en_US', 'tr_TR']) === 'tr_TR'
regionist.formatLocaleText('en-us', 'iso') === 'en_US'
regionist.formatLocaleText('en_US', 'url') === 'en-us'
If you're interested in contributing, read the CONTRIBUTING.md first, please.
Version management of this repository done by releaser 🚀
Thanks for watching 🐬