Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/muratgozel/regionist
Guesses the user's regional parameters on-device, in a reliable way.
https://github.com/muratgozel/regionist
country country-detection javascript language-detection localization timezone timezone-detection
Last synced: about 1 month ago
JSON representation
Guesses the user's regional parameters on-device, in a reliable way.
- Host: GitHub
- URL: https://github.com/muratgozel/regionist
- Owner: muratgozel
- License: mit
- Created: 2020-02-08T18:52:02.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-24T01:40:37.000Z (9 months ago)
- Last Synced: 2024-06-10T10:55:21.471Z (7 months ago)
- Topics: country, country-detection, javascript, language-detection, localization, timezone, timezone-detection
- Language: JavaScript
- Homepage: https://muratgozel.github.io/regionist/
- Size: 1.47 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# regionist
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.## Install
```sh
npm i regionist
```
or inject with script tag:
```html```
## Usage
The guess result is available as you import it.
```js
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
}
```### Find The Closest Locale To The User From Given List Of Locales
```js
// assuming user's locale detected as tr_TR
regionist.findClosestLocale(['en-us', 'tr-tr']) === 'tr-tr'
regionist.findClosestLocale(['en_US', 'tr_TR']) === 'tr_TR'
```### Helpers
```js
regionist.formatLocaleText('en-us', 'iso') === 'en_US'
regionist.formatLocaleText('en_US', 'url') === 'en-us'
```## Contributing
If you're interested in contributing, read the [CONTRIBUTING.md](https://github.com/muratgozel/muratgozel/blob/main/CONTRIBUTING.md) first, please.---
Version management of this repository done by [releaser](https://github.com/muratgozel/node-releaser) 🚀
---
Thanks for watching 🐬
[![Support me on Patreon](https://cdn.muratgozel.com.tr/support-me-on-patreon.v1.png)](https://patreon.com/muratgozel?utm_medium=organic&utm_source=github_repo&utm_campaign=github&utm_content=join_link)