intl-parse-accept-language
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

intl-parse-accept-language

Returns an array of locale strings, sorted by quality, given the string from an HTTP Accept-Language header.

  • Returned value is compatible with the locales argument of Intl.DateTimeFormat
  • Written in TypeScript and fully typed
  • 100% test coverage

Example

import { parseAcceptLanguage } from 'intl-parse-accept-language';

const locales = acceptLanguage('en-US,es;q=0.6,en;q=0.8,*;q=0.1');
// => ['en-US', 'en', 'es']

Configuration

parseAcceptLanguage accepts an optional configuration object as the second argument

option description
validate A validate callback that is called for each locale. If the locale is valid, return the locale as a string. Otherwise return undefined, null, or an empty Array. Should the callback throw an error, the error will be caught and the locale will be ignored.
ignoreWildcard A boolean that if set to true, the wildcard locale * will be returned in the array. If set to false, the wildcard locale * will be ignored. Defaults to true.

Pro Tip

If you're using the locales array to do date formatting, you may want to use Intl.DateTimeFormat.supportedLocalesOf as the validate callback. This way only locales that are valid for date formatting will be returned.

For example:

import { parseAcceptLanguage } from 'intl-parse-accept-language';

const locales = parseAcceptLanguage('en-US,foo-BAR', {
  validate: Intl.DateTimeFormat.supportedLocalesOf,
});
// => ['en-US']

Getting Started

Install the library with your package manager of choice, e.g.:

npm i intl-parse-accept-language

or

yarn add intl-parse-accept-language

Other works

License

© 2022 Donavon West. Released under MIT license.

Package Sidebar

Install

npm i intl-parse-accept-language

Weekly Downloads

61,766

Version

1.0.0

License

MIT

Unpacked Size

23.5 kB

Total Files

13

Last publish

Collaborators

  • donavon