nva-language 1.0.6 → 1.0.10
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 +130 -1
- package/dist/LanguageConstants.js +34 -32
- package/dist/LanguageMapper.js +8 -8
- package/package.json +1 -1
- package/src/LanguageConstants.mjs +24 -23
- package/src/LanguageMapper.mjs +7 -8
package/README.md
CHANGED
|
@@ -1,2 +1,131 @@
|
|
|
1
1
|
# nva-language-js
|
|
2
|
-
Javascript implementation of NVA language handling
|
|
2
|
+
Javascript implementation of NVA (the Norwegian national research archive) language handling.
|
|
3
|
+
|
|
4
|
+
Languages in NVA are represented by URIs, this module allows users to find the correct URI for a language and find a name string in a given language for each URI without dereferencing the URI.
|
|
5
|
+
|
|
6
|
+
NVA-language also routes non-preferred representations to preferred representations.
|
|
7
|
+
|
|
8
|
+
## Using the library
|
|
9
|
+
|
|
10
|
+
Install with either:
|
|
11
|
+
|
|
12
|
+
```javascript
|
|
13
|
+
const { <function(s)> } = require('nva-language)
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
or
|
|
17
|
+
|
|
18
|
+
```javascript
|
|
19
|
+
import { <function(s)> } from 'nva-language'
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
(replace <function(s)> with the functions you actually use, see below).
|
|
23
|
+
|
|
24
|
+
Use with:
|
|
25
|
+
|
|
26
|
+
```javascript
|
|
27
|
+
const english = getLanguageByBokmaalName('Engelsk')
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## The language object
|
|
31
|
+
|
|
32
|
+
All functions return a language object, which has the structure:
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"uri": "http://lexvo.org/id/iso639-3/deu",
|
|
37
|
+
"iso6391Code": "de",
|
|
38
|
+
"iso6392Codes": ["ger", "deu"],
|
|
39
|
+
"iso6393Code": "deu",
|
|
40
|
+
"eng": "German",
|
|
41
|
+
"nob": "Tysk",
|
|
42
|
+
"nno": "Tysk",
|
|
43
|
+
"sme": "Duiskkagiella"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The properties are structured as follows:
|
|
48
|
+
|
|
49
|
+
- uri: a Lexvo ISO 639-3 uri
|
|
50
|
+
- iso6391Code: an ISO 639-1, two-letter code
|
|
51
|
+
- iso6392Codes: an array containing ISO 639-2 B/T three\letter codes (min one, max. two items)
|
|
52
|
+
- iso6393Code: an ISO 639-3 code
|
|
53
|
+
- eng: the English name of the language
|
|
54
|
+
- nob: the Norwegian Bokmål name of the language
|
|
55
|
+
- nno: the Norwegian Nynorsk name of the language
|
|
56
|
+
- sme: the Northern Sami name of the language
|
|
57
|
+
|
|
58
|
+
## Available functions
|
|
59
|
+
|
|
60
|
+
There are a number of methods provided by nva-language, all of which return a Language object, these have self-explanatory names:
|
|
61
|
+
|
|
62
|
+
### getLanguageByBokmaalName
|
|
63
|
+
|
|
64
|
+
- example: `const english = getLanguageByBokmaalName('Engelsk')`
|
|
65
|
+
- Given a Norwegian Bokmål token for a language, say "Engelsk", returns a Language object that either matches the token, or is the Undefined language
|
|
66
|
+
- Matching is not case sensitive
|
|
67
|
+
|
|
68
|
+
### getLanguageByEnglishName
|
|
69
|
+
|
|
70
|
+
- example: `const english = getLanguageByEnglishName('English')`
|
|
71
|
+
- Given a Norwegian Bokmål token for a language, say "English", returns a Language object that either matches the token, or is the Undefined language
|
|
72
|
+
- Matching is not case sensitive
|
|
73
|
+
|
|
74
|
+
### getLanguageByIso6391Code
|
|
75
|
+
|
|
76
|
+
- example: `const english = getLanguageByIso6391Code('en')`
|
|
77
|
+
- Given an ISO 639-1 code, returns a Language object that either matches the token, or is the Undefined language
|
|
78
|
+
- Matching is not case sensitive
|
|
79
|
+
|
|
80
|
+
### getLanguageByIso6392Code
|
|
81
|
+
|
|
82
|
+
- example: `const english = getLanguageByIso6392Code('eng')`
|
|
83
|
+
- Given an ISO 639-2 code, returns a Language object that either matches the token, or is the Undefined language
|
|
84
|
+
- Returns e.g. a Language object for German if either the B/T ("ger", "deu") variants are supplied
|
|
85
|
+
- Matching is not case sensitive
|
|
86
|
+
|
|
87
|
+
### getLanguageByIso6393Code
|
|
88
|
+
|
|
89
|
+
- example: `const english = getLanguageByIso6393Code('eng')`
|
|
90
|
+
- Given an ISO 639-1 code, returns a Language object that either matches the token, or is the Undefined language
|
|
91
|
+
- Matching is not case sensitive
|
|
92
|
+
|
|
93
|
+
### getLanguageByNynorskName
|
|
94
|
+
|
|
95
|
+
- example: `const english = getLanguageByNynorskName('Engelsk')`
|
|
96
|
+
- Given a Norwegian Nynorsk token for a language, say "Engelsk", returns a Language object that either matches the token, or is the Undefined language
|
|
97
|
+
- Matching is not case sensitive
|
|
98
|
+
- The only difference between getLanguageByNynorskName and getLanguageByBokmaalName is Bokmål "Flere språk", Nynorsk "Fleire språk"
|
|
99
|
+
|
|
100
|
+
### getLanguageBySamiName
|
|
101
|
+
|
|
102
|
+
- example: `const english = getLanguageBySamiName('Eaŋgalsgiella')`
|
|
103
|
+
- Given a Northern Sami token for a language, say "Eaŋgalsgiella", returns a Language object that either matches the token, or is the Undefined language
|
|
104
|
+
- Matching is not case sensitive
|
|
105
|
+
|
|
106
|
+
## getLanguageByUri
|
|
107
|
+
|
|
108
|
+
- example: `const english = getLanguageByUri(' http://lexvo.org/id/iso639-3/eng')`
|
|
109
|
+
- Given a Lexvo ISO 639-3 URI, returns the corresponding language object or Undefined language (in the case that the URI is not in use)
|
|
110
|
+
- Note: Lexvo does *not* use HTTPS
|
|
111
|
+
|
|
112
|
+
## Notes
|
|
113
|
+
### Valid and invalid languages
|
|
114
|
+
|
|
115
|
+
The languages supported in NVA are limited to the core languages used in Norwegian research publications, the list grows over time, but the list is still not long.
|
|
116
|
+
|
|
117
|
+
Thus, some valid languages will return Undefined Language not because they are invalid but because they are undefined in the context of NVA.
|
|
118
|
+
|
|
119
|
+
### Norwegian
|
|
120
|
+
|
|
121
|
+
Since NVA is typically concerned with written language, codes and strings related to "Norwegian", as opposed to "Bokmål" and "Nynorsk" are not to be used.
|
|
122
|
+
|
|
123
|
+
Using a term associated with "Norwegian" will return "Bokmål". No offense is intended here, this mechanism fits better for the majority of cases where texts are marked as "Norwegian".
|
|
124
|
+
|
|
125
|
+
### Sami
|
|
126
|
+
|
|
127
|
+
Since the primary source for the data for this module has been NSD DBH's publication channel data, a choice was made to map all "Samisk" to Northern Sami. This is unfortunate, but it solves the issue in view of a lack of Sami language skills. Sorry about that.
|
|
128
|
+
|
|
129
|
+
### More than one language
|
|
130
|
+
|
|
131
|
+
We use the ISO 639-3 `mul` code for these cases, which replaces the sometimes-used `mis` code if provided as input.
|
|
@@ -3,63 +3,65 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ALL_LANGUAGES = exports.UNDEFINED_LANGUAGE = exports.
|
|
6
|
+
exports.ALL_LANGUAGES = exports.UNDEFINED_LANGUAGE = exports.SWEDISH = exports.SAMI = exports.SPANISH = exports.RUSSIAN = exports.PORTUGUESE = exports.POLISH = exports.NORWEGIAN = exports.NYNORSK = exports.MULTIPLE = exports.MISCELLANEOUS = exports.HUNGARIAN = exports.ITALIAN = exports.ICELANDIC = exports.GREEK = exports.GERMAN = exports.FRENCH = exports.FINNISH = exports.ENGLISH = exports.DUTCH = exports.DANISH = exports.CZECH = exports.CHINESE = exports.CATALAN = exports.BULGARIAN = exports.BOKMAAL = exports.AFRIKAANS = void 0;
|
|
7
7
|
|
|
8
8
|
var _Language = _interopRequireDefault(require("./Language.js"));
|
|
9
9
|
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
exports.
|
|
12
|
+
var AFRIKAANS = (0, _Language["default"])('af', ['afr'], 'afr', 'Afrikaans', 'Afrikaans', 'Afrikaans', 'Afrikánsagiella');
|
|
13
|
+
exports.AFRIKAANS = AFRIKAANS;
|
|
14
14
|
var BOKMAAL = (0, _Language["default"])('nb', ['nob'], 'nob', 'Bokmål', 'Bokmål', 'Bokmål', 'Girjedárogiella');
|
|
15
15
|
exports.BOKMAAL = BOKMAAL;
|
|
16
|
-
var
|
|
17
|
-
exports.
|
|
18
|
-
var
|
|
19
|
-
exports.
|
|
20
|
-
var
|
|
21
|
-
exports.
|
|
22
|
-
var
|
|
23
|
-
exports.
|
|
24
|
-
var DUTCH = (0, _Language["default"])('nl', ['nld', 'dut'], 'nld', 'Dutch', 'Nederlandsk', 'Nederlandsk', 'Hollánddagiella');
|
|
25
|
-
exports.DUTCH = DUTCH;
|
|
16
|
+
var BULGARIAN = (0, _Language["default"])('bg', ['bul'], 'bul', 'Bulgarian', 'Bulgarsk', 'Bulgarsk', 'Bulgáriagiella');
|
|
17
|
+
exports.BULGARIAN = BULGARIAN;
|
|
18
|
+
var CATALAN = (0, _Language["default"])('ca', ['cat'], 'car', 'Catalan', 'Katalansk', 'Katalansk', 'Katalánagiella');
|
|
19
|
+
exports.CATALAN = CATALAN;
|
|
20
|
+
var CHINESE = (0, _Language["default"])('zh', ['zho', 'chi'], 'zho', 'Chinese', 'Kinesisk', 'Kinesisk', 'Kiinnágiella');
|
|
21
|
+
exports.CHINESE = CHINESE;
|
|
22
|
+
var CZECH = (0, _Language["default"])('cs', ['ces', 'cze'], 'ces', 'Czech', 'Tsjekkisk', 'Tsjekkisk', 'Čeahkagiella');
|
|
23
|
+
exports.CZECH = CZECH;
|
|
26
24
|
var DANISH = (0, _Language["default"])('da', ['dan'], 'dan', 'Danish', 'Dansk', 'Dansk', 'Dánskkagiella');
|
|
27
25
|
exports.DANISH = DANISH;
|
|
26
|
+
var DUTCH = (0, _Language["default"])('nl', ['nld', 'dut'], 'nld', 'Dutch', 'Nederlandsk', 'Nederlandsk', 'Hollánddagiella');
|
|
27
|
+
exports.DUTCH = DUTCH;
|
|
28
|
+
var ENGLISH = (0, _Language["default"])('en', ['eng'], 'eng', 'English', 'Engelsk', 'Engelsk', 'Eaŋgalsgiella');
|
|
29
|
+
exports.ENGLISH = ENGLISH;
|
|
28
30
|
var FINNISH = (0, _Language["default"])('fi', ['fin'], 'fin', 'Finnish', 'Finsk', 'Finsk', 'Suomagiella');
|
|
29
31
|
exports.FINNISH = FINNISH;
|
|
32
|
+
var FRENCH = (0, _Language["default"])('fr', ['fra', 'fre'], 'fra', 'French', 'Fransk', 'Fransk', 'Fránskkagiella');
|
|
33
|
+
exports.FRENCH = FRENCH;
|
|
34
|
+
var GERMAN = (0, _Language["default"])('de', ['deu', 'ger'], 'deu', 'German', 'Tysk', 'Tysk', 'Duiskkagiella');
|
|
35
|
+
exports.GERMAN = GERMAN;
|
|
36
|
+
var GREEK = (0, _Language["default"])('el', ['gre', 'ell'], 'ell', 'Greek', 'Gresk', 'Gresk', 'Greikkagiella');
|
|
37
|
+
exports.GREEK = GREEK;
|
|
30
38
|
var ICELANDIC = (0, _Language["default"])('is', ['isl', 'ice'], 'isl', 'Icelandic', 'Islandsk', 'Islandsk', 'Islánddagiella');
|
|
31
39
|
exports.ICELANDIC = ICELANDIC;
|
|
32
40
|
var ITALIAN = (0, _Language["default"])('it', ['ita'], 'ita', 'Italian', 'Italiensk', 'Italiensk', 'Itáliagiella');
|
|
33
41
|
exports.ITALIAN = ITALIAN;
|
|
42
|
+
var HUNGARIAN = (0, _Language["default"])('hu', ['hun'], 'hun', 'Hungarian', 'Ungarsk', 'Ungarsk', 'Ungárgiella');
|
|
43
|
+
exports.HUNGARIAN = HUNGARIAN;
|
|
44
|
+
var MISCELLANEOUS = (0, _Language["default"])(null, ['mis'], 'mis', 'Miscellaneous language', 'Annet språk', 'Anna språk');
|
|
45
|
+
exports.MISCELLANEOUS = MISCELLANEOUS;
|
|
46
|
+
var MULTIPLE = (0, _Language["default"])(null, ['mul'], 'mul', 'Multiple languages', 'Flere språk', 'Fleire språk', 'gielat');
|
|
47
|
+
exports.MULTIPLE = MULTIPLE;
|
|
48
|
+
var NYNORSK = (0, _Language["default"])('nn', ['nno'], 'nno', 'Nynorsk', 'Nynorsk', 'Nynorsk', 'Ođđadárogiella');
|
|
49
|
+
exports.NYNORSK = NYNORSK;
|
|
34
50
|
var NORWEGIAN = (0, _Language["default"])('no', ['nor'], 'nor', 'Norwegian', 'Norsk', 'Norsk', 'Dárogiella');
|
|
35
51
|
exports.NORWEGIAN = NORWEGIAN;
|
|
52
|
+
var POLISH = (0, _Language["default"])('pl', ['pol'], 'pol', 'Polish', 'Polsk', 'Polsk', 'Polskkagiella');
|
|
53
|
+
exports.POLISH = POLISH;
|
|
36
54
|
var PORTUGUESE = (0, _Language["default"])('pt', ['por'], 'por', 'Portuguese', 'Portugisisk', 'Portugisisk', 'Portugálagiella');
|
|
37
55
|
exports.PORTUGUESE = PORTUGUESE;
|
|
38
56
|
var RUSSIAN = (0, _Language["default"])('ru', ['rus'], 'rus', 'Russian', 'Russisk', 'Russisk', 'Ruoššagiella');
|
|
39
57
|
exports.RUSSIAN = RUSSIAN;
|
|
40
58
|
var SPANISH = (0, _Language["default"])('es', ['spa'], 'spa', 'Spanish', 'Spansk', 'Spansk', 'Spánskkagiella');
|
|
41
59
|
exports.SPANISH = SPANISH;
|
|
60
|
+
var SAMI = (0, _Language["default"])('se', [], 'sme', 'Sami', 'Samisk', 'Samisk', 'Davvisámegiella');
|
|
61
|
+
exports.SAMI = SAMI;
|
|
42
62
|
var SWEDISH = (0, _Language["default"])('sv', ['swe'], 'swe', 'Swedish', 'Svensk', 'Svensk', 'Ruoŧagiella');
|
|
43
63
|
exports.SWEDISH = SWEDISH;
|
|
44
|
-
var MULTIPLE = (0, _Language["default"])(null, ['mul'], 'mul', 'Multiple languages', 'Flere språk', 'Fleire språk', 'gielat');
|
|
45
|
-
exports.MULTIPLE = MULTIPLE;
|
|
46
|
-
var AFRIKAANS = (0, _Language["default"])('af', ['afr'], 'afr', 'Afrikaans', 'Afrikaans', 'Afrikaans', 'Afrikánsagiella');
|
|
47
|
-
exports.AFRIKAANS = AFRIKAANS;
|
|
48
|
-
var BULGARIAN = (0, _Language["default"])('bg', ['bul'], 'bul', 'Bulgarian', 'Bulgarsk', 'Bulgarsk', 'Bulgáriagiella');
|
|
49
|
-
exports.BULGARIAN = BULGARIAN;
|
|
50
|
-
var GREEK = (0, _Language["default"])('el', ['gre', 'ell'], 'ell', 'Greek', 'Gresk', 'Gresk', 'Greikkagiella');
|
|
51
|
-
exports.GREEK = GREEK;
|
|
52
|
-
var CATALAN = (0, _Language["default"])('ca', ['cat'], 'car', 'Catalan', 'Katalansk', 'Katalansk', 'Katalánagiella');
|
|
53
|
-
exports.CATALAN = CATALAN;
|
|
54
|
-
var CHINESE = (0, _Language["default"])('zh', ['zho', 'chi'], 'zho', 'Chinese', 'Kinesisk', 'Kinesisk', 'Kiinnágiella');
|
|
55
|
-
exports.CHINESE = CHINESE;
|
|
56
|
-
var POLISH = (0, _Language["default"])('pl', ['pol'], 'pol', 'Polish', 'Polsk', 'Polsk', 'Polskkagiella');
|
|
57
|
-
exports.POLISH = POLISH;
|
|
58
|
-
var CZECH = (0, _Language["default"])('cs', ['ces', 'cze'], 'ces', 'Czech', 'Tsjekkisk', 'Tsjekkisk', 'Čeahkagiella');
|
|
59
|
-
exports.CZECH = CZECH;
|
|
60
|
-
var HUNGARIAN = (0, _Language["default"])('hu', ['hun'], 'hun', 'Hungarian', 'Ungarsk', 'Ungarsk', 'Ungárgiella');
|
|
61
|
-
exports.HUNGARIAN = HUNGARIAN;
|
|
62
64
|
var UNDEFINED_LANGUAGE = (0, _Language["default"])(null, ['und'], 'und', 'Unknown language', 'Ukjent språk', 'Ukjent språk', 'Dovdameahttun giella');
|
|
63
65
|
exports.UNDEFINED_LANGUAGE = UNDEFINED_LANGUAGE;
|
|
64
|
-
var ALL_LANGUAGES = Object.freeze([ENGLISH, BOKMAAL, NYNORSK,
|
|
66
|
+
var ALL_LANGUAGES = Object.freeze([UNDEFINED_LANGUAGE, ENGLISH, BOKMAAL, NYNORSK, NORWEGIAN, MISCELLANEOUS, DANISH, SWEDISH, SPANISH, GERMAN, SAMI, FRENCH, MULTIPLE, DUTCH, FINNISH, ICELANDIC, ITALIAN, PORTUGUESE, RUSSIAN, AFRIKAANS, BULGARIAN, GREEK, CATALAN, CHINESE, POLISH, CZECH, HUNGARIAN]);
|
|
65
67
|
exports.ALL_LANGUAGES = ALL_LANGUAGES;
|
package/dist/LanguageMapper.js
CHANGED
|
@@ -11,16 +11,16 @@ var convertString = function convertString(string) {
|
|
|
11
11
|
return string !== null ? string.trim().toLowerCase() : '';
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
14
|
+
var replaceNorwegian = function replaceNorwegian(language) {
|
|
15
|
+
return _LanguageConstants.NORWEGIAN === language ? _LanguageConstants.BOKMAAL : language;
|
|
16
|
+
};
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
var replaceMiscellaneous = function replaceMiscellaneous(language) {
|
|
19
|
+
return _LanguageConstants.MISCELLANEOUS === language ? _LanguageConstants.MULTIPLE : language;
|
|
20
|
+
};
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
var mappedValue = function mappedValue(language) {
|
|
23
|
+
return language === null || language === undefined ? _LanguageConstants.UNDEFINED_LANGUAGE : replaceNorwegian(replaceMiscellaneous(language));
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
var getLanguageByIso6391Code = function getLanguageByIso6391Code(code) {
|
package/package.json
CHANGED
|
@@ -1,51 +1,52 @@
|
|
|
1
1
|
import Language from './Language.mjs'
|
|
2
2
|
|
|
3
|
-
export const
|
|
3
|
+
export const AFRIKAANS = Language('af', ['afr'], 'afr', 'Afrikaans', 'Afrikaans', 'Afrikaans', 'Afrikánsagiella')
|
|
4
4
|
export const BOKMAAL = Language('nb', ['nob'], 'nob', 'Bokmål', 'Bokmål', 'Bokmål', 'Girjedárogiella')
|
|
5
|
-
export const
|
|
6
|
-
export const
|
|
7
|
-
export const
|
|
8
|
-
export const
|
|
9
|
-
export const DUTCH = Language('nl', ['nld', 'dut'], 'nld', 'Dutch', 'Nederlandsk', 'Nederlandsk', 'Hollánddagiella')
|
|
5
|
+
export const BULGARIAN = Language('bg', ['bul'], 'bul', 'Bulgarian', 'Bulgarsk', 'Bulgarsk', 'Bulgáriagiella')
|
|
6
|
+
export const CATALAN = Language('ca', ['cat'], 'car', 'Catalan', 'Katalansk', 'Katalansk', 'Katalánagiella')
|
|
7
|
+
export const CHINESE = Language('zh', ['zho', 'chi'], 'zho', 'Chinese', 'Kinesisk', 'Kinesisk', 'Kiinnágiella')
|
|
8
|
+
export const CZECH = Language('cs', ['ces', 'cze'], 'ces', 'Czech', 'Tsjekkisk', 'Tsjekkisk', 'Čeahkagiella')
|
|
10
9
|
export const DANISH = Language('da', ['dan'], 'dan', 'Danish', 'Dansk', 'Dansk', 'Dánskkagiella')
|
|
10
|
+
export const DUTCH = Language('nl', ['nld', 'dut'], 'nld', 'Dutch', 'Nederlandsk', 'Nederlandsk', 'Hollánddagiella')
|
|
11
|
+
export const ENGLISH = Language('en', ['eng'], 'eng', 'English', 'Engelsk', 'Engelsk', 'Eaŋgalsgiella')
|
|
11
12
|
export const FINNISH = Language('fi', ['fin'], 'fin', 'Finnish', 'Finsk', 'Finsk', 'Suomagiella')
|
|
13
|
+
export const FRENCH = Language('fr', ['fra', 'fre'], 'fra', 'French', 'Fransk', 'Fransk', 'Fránskkagiella')
|
|
14
|
+
export const GERMAN = Language('de', ['deu', 'ger'], 'deu', 'German', 'Tysk', 'Tysk', 'Duiskkagiella')
|
|
15
|
+
export const GREEK = Language('el', ['gre', 'ell'], 'ell', 'Greek', 'Gresk', 'Gresk', 'Greikkagiella')
|
|
12
16
|
export const ICELANDIC = Language('is', ['isl', 'ice'], 'isl', 'Icelandic', 'Islandsk', 'Islandsk', 'Islánddagiella')
|
|
13
17
|
export const ITALIAN = Language('it', ['ita'], 'ita', 'Italian', 'Italiensk', 'Italiensk', 'Itáliagiella')
|
|
18
|
+
export const HUNGARIAN = Language('hu', ['hun'], 'hun', 'Hungarian', 'Ungarsk', 'Ungarsk', 'Ungárgiella')
|
|
19
|
+
export const MISCELLANEOUS = Language(null, ['mis'], 'mis', 'Miscellaneous language', 'Annet språk', 'Anna språk')
|
|
20
|
+
export const MULTIPLE = Language(null, ['mul'], 'mul', 'Multiple languages', 'Flere språk', 'Fleire språk', 'gielat')
|
|
21
|
+
export const NYNORSK = Language('nn', ['nno'], 'nno', 'Nynorsk', 'Nynorsk', 'Nynorsk', 'Ođđadárogiella')
|
|
14
22
|
export const NORWEGIAN = Language('no', ['nor'], 'nor', 'Norwegian', 'Norsk', 'Norsk', 'Dárogiella')
|
|
23
|
+
export const POLISH = Language('pl', ['pol'], 'pol', 'Polish', 'Polsk', 'Polsk', 'Polskkagiella')
|
|
15
24
|
export const PORTUGUESE = Language('pt', ['por'], 'por', 'Portuguese', 'Portugisisk', 'Portugisisk', 'Portugálagiella')
|
|
16
25
|
export const RUSSIAN = Language('ru', ['rus'], 'rus', 'Russian', 'Russisk', 'Russisk', 'Ruoššagiella')
|
|
17
26
|
export const SPANISH = Language('es', ['spa'], 'spa', 'Spanish', 'Spansk', 'Spansk', 'Spánskkagiella')
|
|
27
|
+
export const SAMI = Language('se', [], 'sme', 'Sami', 'Samisk', 'Samisk', 'Davvisámegiella')
|
|
18
28
|
export const SWEDISH = Language('sv', ['swe'], 'swe', 'Swedish', 'Svensk', 'Svensk', 'Ruoŧagiella')
|
|
19
|
-
export const MULTIPLE = Language(null, ['mul'], 'mul', 'Multiple languages', 'Flere språk', 'Fleire språk', 'gielat')
|
|
20
|
-
export const AFRIKAANS = Language('af', ['afr'], 'afr', 'Afrikaans', 'Afrikaans', 'Afrikaans', 'Afrikánsagiella')
|
|
21
|
-
export const BULGARIAN = Language('bg', ['bul'], 'bul', 'Bulgarian', 'Bulgarsk', 'Bulgarsk', 'Bulgáriagiella')
|
|
22
|
-
export const GREEK = Language('el', ['gre', 'ell'], 'ell', 'Greek', 'Gresk', 'Gresk', 'Greikkagiella')
|
|
23
|
-
export const CATALAN = Language('ca', ['cat'], 'car', 'Catalan', 'Katalansk', 'Katalansk', 'Katalánagiella')
|
|
24
|
-
export const CHINESE = Language('zh', ['zho', 'chi'], 'zho', 'Chinese', 'Kinesisk', 'Kinesisk', 'Kiinnágiella')
|
|
25
|
-
export const POLISH = Language('pl', ['pol'], 'pol', 'Polish', 'Polsk', 'Polsk', 'Polskkagiella')
|
|
26
|
-
export const CZECH = Language('cs', ['ces', 'cze'], 'ces', 'Czech', 'Tsjekkisk', 'Tsjekkisk', 'Čeahkagiella')
|
|
27
|
-
export const HUNGARIAN = Language('hu', ['hun'], 'hun', 'Hungarian', 'Ungarsk', 'Ungarsk', 'Ungárgiella')
|
|
28
29
|
export const UNDEFINED_LANGUAGE = Language(null, ['und'], 'und', 'Unknown language', 'Ukjent språk', 'Ukjent språk', 'Dovdameahttun giella')
|
|
29
|
-
|
|
30
30
|
export const ALL_LANGUAGES = Object.freeze([
|
|
31
|
+
UNDEFINED_LANGUAGE,
|
|
31
32
|
ENGLISH,
|
|
32
33
|
BOKMAAL,
|
|
33
34
|
NYNORSK,
|
|
35
|
+
NORWEGIAN,
|
|
36
|
+
MISCELLANEOUS,
|
|
37
|
+
DANISH,
|
|
38
|
+
SWEDISH,
|
|
39
|
+
SPANISH,
|
|
40
|
+
GERMAN,
|
|
34
41
|
SAMI,
|
|
35
42
|
FRENCH,
|
|
36
|
-
|
|
43
|
+
MULTIPLE,
|
|
37
44
|
DUTCH,
|
|
38
|
-
DANISH,
|
|
39
45
|
FINNISH,
|
|
40
46
|
ICELANDIC,
|
|
41
47
|
ITALIAN,
|
|
42
|
-
NORWEGIAN,
|
|
43
48
|
PORTUGUESE,
|
|
44
49
|
RUSSIAN,
|
|
45
|
-
SPANISH,
|
|
46
|
-
SWEDISH,
|
|
47
|
-
MULTIPLE,
|
|
48
|
-
UNDEFINED_LANGUAGE,
|
|
49
50
|
AFRIKAANS,
|
|
50
51
|
BULGARIAN,
|
|
51
52
|
GREEK,
|
package/src/LanguageMapper.mjs
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { ALL_LANGUAGES, UNDEFINED_LANGUAGE, BOKMAAL, NORWEGIAN } from './LanguageConstants.mjs'
|
|
1
|
+
import { ALL_LANGUAGES, UNDEFINED_LANGUAGE, BOKMAAL, NORWEGIAN, MISCELLANEOUS, MULTIPLE } from './LanguageConstants.mjs'
|
|
2
2
|
|
|
3
3
|
const convertString = string => string !== null ? string.trim().toLowerCase() : ''
|
|
4
4
|
|
|
5
|
+
const replaceNorwegian = language => NORWEGIAN === language ? BOKMAAL : language
|
|
6
|
+
const replaceMiscellaneous = language => MISCELLANEOUS === language ? MULTIPLE : language
|
|
7
|
+
|
|
5
8
|
const mappedValue = language => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
if (NORWEGIAN === language) {
|
|
10
|
-
return BOKMAAL
|
|
11
|
-
}
|
|
12
|
-
return language
|
|
9
|
+
return (language === null || language === undefined)
|
|
10
|
+
? UNDEFINED_LANGUAGE
|
|
11
|
+
: replaceNorwegian(replaceMiscellaneous(language))
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
export const getLanguageByIso6391Code = code => mappedValue(
|