resolve-accept-language 1.1.13 → 1.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/package.json +59 -54
package/README.md
CHANGED
|
@@ -19,11 +19,11 @@ npm install resolve-accept-language
|
|
|
19
19
|
Code example:
|
|
20
20
|
|
|
21
21
|
```ts
|
|
22
|
-
import resolveAcceptLanguage from 'resolve-accept-language'
|
|
22
|
+
import resolveAcceptLanguage from 'resolve-accept-language'
|
|
23
23
|
|
|
24
24
|
console.log(
|
|
25
25
|
resolveAcceptLanguage('fr-CA;q=0.01,en-CA;q=0.1,en-US;q=0.001', ['en-US', 'fr-CA'], 'en-US')
|
|
26
|
-
)
|
|
26
|
+
)
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Output:
|
|
@@ -37,7 +37,7 @@ fr-CA
|
|
|
37
37
|
You may want to control exactly the behavior depending on the type of match. For example, you could want to display a language picker on your home page if the match is not satisfactory. In those cases, you will need to use the `ResolveAcceptLanguage` class instead. It offers more visibility into the selection process while matching a locale:
|
|
38
38
|
|
|
39
39
|
```ts
|
|
40
|
-
import { ResolveAcceptLanguage } from 'resolve-accept-language'
|
|
40
|
+
import { ResolveAcceptLanguage } from 'resolve-accept-language'
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* If you are planning to have a "default locale", make sure to add it first in the provided locale list.
|
|
@@ -47,23 +47,23 @@ import { ResolveAcceptLanguage } from 'resolve-accept-language';
|
|
|
47
47
|
const resolveAcceptLanguage = new ResolveAcceptLanguage('fr-CA;q=0.01,en-CA;q=0.1,en-US;q=0.001', [
|
|
48
48
|
'en-US',
|
|
49
49
|
'fr-CA',
|
|
50
|
-
])
|
|
50
|
+
])
|
|
51
51
|
|
|
52
52
|
if (resolveAcceptLanguage.hasMatch()) {
|
|
53
|
-
const locale = resolveAcceptLanguage.getBestMatch() as string
|
|
54
|
-
console.log(`A locale was matched: ${locale}`)
|
|
53
|
+
const locale = resolveAcceptLanguage.getBestMatch() as string
|
|
54
|
+
console.log(`A locale was matched: ${locale}`)
|
|
55
55
|
|
|
56
56
|
if (resolveAcceptLanguage.bestMatchIsLocaleBased()) {
|
|
57
|
-
console.log('The match is locale-based')
|
|
57
|
+
console.log('The match is locale-based')
|
|
58
58
|
} else if (resolveAcceptLanguage.bestMatchIsLanguageBased()) {
|
|
59
|
-
console.log('The match is language-based')
|
|
59
|
+
console.log('The match is language-based')
|
|
60
60
|
} else if (resolveAcceptLanguage.bestMatchIsRelatedLocaleBased()) {
|
|
61
|
-
console.log('The match is related-locale-based')
|
|
61
|
+
console.log('The match is related-locale-based')
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
if (resolveAcceptLanguage.hasNoMatch()) {
|
|
66
|
-
console.log('No match found :(')
|
|
66
|
+
console.log('No match found :(')
|
|
67
67
|
}
|
|
68
68
|
```
|
|
69
69
|
|
package/package.json
CHANGED
|
@@ -1,54 +1,59 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "resolve-accept-language",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "Resolve the preferred locale based on the value of an `Accept-Language` HTTP header.",
|
|
5
|
-
"author": "Avansai (https://avansai.com)",
|
|
6
|
-
"repository": {
|
|
7
|
-
"type": "git",
|
|
8
|
-
"url": "git+https://github.com/Avansai/resolve-accept-language.git"
|
|
9
|
-
},
|
|
10
|
-
"main": "lib/resolve-accept-language.js",
|
|
11
|
-
"types": "lib/resolve-accept-language.d.ts",
|
|
12
|
-
"scripts": {
|
|
13
|
-
"build": "rm -Rf ./lib && tsc && npm run lint && npm test",
|
|
14
|
-
"
|
|
15
|
-
"lint": "eslint .
|
|
16
|
-
"prettier
|
|
17
|
-
"
|
|
18
|
-
"release": "dotenv -- release-it --only-version"
|
|
19
|
-
},
|
|
20
|
-
"license": "MIT",
|
|
21
|
-
"files": [
|
|
22
|
-
"lib"
|
|
23
|
-
],
|
|
24
|
-
"keywords": [
|
|
25
|
-
"accept-language",
|
|
26
|
-
"RFC 4647",
|
|
27
|
-
"locale",
|
|
28
|
-
"language tags",
|
|
29
|
-
"RFC 4646",
|
|
30
|
-
"BCP 47",
|
|
31
|
-
"RFC 2616",
|
|
32
|
-
"resolve",
|
|
33
|
-
"detect",
|
|
34
|
-
"intl",
|
|
35
|
-
"i18n",
|
|
36
|
-
"internationalization"
|
|
37
|
-
],
|
|
38
|
-
"devDependencies": {
|
|
39
|
-
"@release-it/conventional-changelog": "^5.0.0",
|
|
40
|
-
"@types/jest": "^28.1.6",
|
|
41
|
-
"@typescript-eslint/eslint-plugin": "^5.31.0",
|
|
42
|
-
"@typescript-eslint/parser": "^5.31.0",
|
|
43
|
-
"dotenv-cli": "^6.0.0",
|
|
44
|
-
"eslint": "^8.20.0",
|
|
45
|
-
"eslint-config-prettier": "^8.5.0",
|
|
46
|
-
"eslint-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "resolve-accept-language",
|
|
3
|
+
"version": "1.1.14",
|
|
4
|
+
"description": "Resolve the preferred locale based on the value of an `Accept-Language` HTTP header.",
|
|
5
|
+
"author": "Avansai (https://avansai.com)",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/Avansai/resolve-accept-language.git"
|
|
9
|
+
},
|
|
10
|
+
"main": "lib/resolve-accept-language.js",
|
|
11
|
+
"types": "lib/resolve-accept-language.d.ts",
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "rm -Rf ./lib && tsc && npm run lint && npm test",
|
|
14
|
+
"lint": "eslint --ext .js --ext .jsx --ext .ts --ext .tsx --fix .",
|
|
15
|
+
"lint-print-config": "eslint --print-config ./eslintrc.yaml",
|
|
16
|
+
"prettier": "prettier --write .",
|
|
17
|
+
"test": "jest --coverage",
|
|
18
|
+
"release": "dotenv -- release-it --only-version"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"files": [
|
|
22
|
+
"lib"
|
|
23
|
+
],
|
|
24
|
+
"keywords": [
|
|
25
|
+
"accept-language",
|
|
26
|
+
"RFC 4647",
|
|
27
|
+
"locale",
|
|
28
|
+
"language tags",
|
|
29
|
+
"RFC 4646",
|
|
30
|
+
"BCP 47",
|
|
31
|
+
"RFC 2616",
|
|
32
|
+
"resolve",
|
|
33
|
+
"detect",
|
|
34
|
+
"intl",
|
|
35
|
+
"i18n",
|
|
36
|
+
"internationalization"
|
|
37
|
+
],
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@release-it/conventional-changelog": "^5.0.0",
|
|
40
|
+
"@types/jest": "^28.1.6",
|
|
41
|
+
"@typescript-eslint/eslint-plugin": "^5.31.0",
|
|
42
|
+
"@typescript-eslint/parser": "^5.31.0",
|
|
43
|
+
"dotenv-cli": "^6.0.0",
|
|
44
|
+
"eslint": "^8.20.0",
|
|
45
|
+
"eslint-config-prettier": "^8.5.0",
|
|
46
|
+
"eslint-import-resolver-node": "^0.3.6",
|
|
47
|
+
"eslint-import-resolver-typescript": "^3.3.0",
|
|
48
|
+
"eslint-plugin-import": "^2.26.0",
|
|
49
|
+
"eslint-plugin-jest": "^26.7.0",
|
|
50
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
51
|
+
"jest": "^28.1.3",
|
|
52
|
+
"prettier": "^2.7.1",
|
|
53
|
+
"prettier-plugin-organize-imports": "^3.0.0",
|
|
54
|
+
"release-it": "^15.2.0",
|
|
55
|
+
"ts-jest": "^28.0.7",
|
|
56
|
+
"ts-node": "^10.9.1",
|
|
57
|
+
"typescript": "^4.7.4"
|
|
58
|
+
}
|
|
59
|
+
}
|