diff --git a/src/components/Header.vue b/src/components/Header.vue index 5f0590e274aaa4a6d0fe7eab724f2a99ccc37c2e..eb6fbb6e02ef1a19df41a8ea49ec56e29b0c2c93 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -4,7 +4,7 @@ <h1 class="article_header">{{header_text}}</h1> {{group_list}} <details title="Klikk for å se bøyninger" @toggle="toggle()"> - <summary>{{dictionary == 'bob' ? 'Bøyning' : 'Bøying'}}</summary> + <summary>Bøying</summary> <div class="inflection"> <div v-for="(lemma, index) in inflection_groups_by_lemma" :key="index"> <h4>{{lemma.lemma}}</h4> diff --git a/src/utils/helpers.js b/src/utils/helpers.js index 0b1b87277ea0d494527306d97f221e978b14cf74..d3a6ed825dc16ee9185e28dca741fb4d0ff62262 100644 --- a/src/utils/helpers.js +++ b/src/utils/helpers.js @@ -1,63 +1,72 @@ var mapping = { "bob": { - "NOUN": "Substantiv", - "VERB": "Verb", - "ADJ": "Adjektiv", - "ADP": "Preposisjon", - "PFX": "Prefiks", - "ADV": "Adverb", - "DET": "Determinativ", - "PROPN": "Egennavn", - "ABBR": "Forkortelse", - "INTJ": "Interjeksjon", - "SYM": "Symbol", - "PRON": "Pronomen", - "CCONJ": "Konjunksjon", - "SCONJ": "Subjunksjon", - "INFM": "Infinitivsmerke", - "COMPPFX": "I sammensetting", - "Masc": "hankjønn.", - "Fem": "hunkjønn.", - "Neuter": "Nøytr.", + "NOUN": "substantiv", + "VERB": "verb", + "ADJ": "adjektiv", + "ADP": "preposisjon", + "PFX": "prefiks", + "ADV": "adverb", + "DET": "determinativ", + "PROPN": "egennavn", + "ABBR": "forkortelse", + "INTJ": "interjeksjon", + "SYM": "symbol", + "PRON": "pronomen", + "CCONJ": "konjunksjon", + "SCONJ": "subjunksjon", + "INFM": "infinitivsmerke", + "COMPPFX": "i sammensetting", + "Masc": "hankjønn", + "Fem": "hunkjønn", + "Neuter": "intetkjønn", "Uninfl": "ubøyelig" }, "nob": { - "NOUN": "Substantiv", - "VERB": "Verb", - "ADJ": "Adjektiv", - "ADP": "Preposisjon", - "PFX": "Prefiks", - "ADV": "Adverb", - "DET": "Determinativ", - "PROPN": "Egennavn", - "ABBR": "Forkortelse", - "INTJ": "Interjeksjon", - "SYM": "Symbol", - "PRON": "Pronomen", - "CCONJ": "Konjunksjon", - "SCONJ": "Subjunksjon", - "INFM": "Infinitivsmerke", - "COMPPFX": "I sammensetting", - "Masc": "hankjønn.", + "NOUN": "substantiv", + "VERB": "verb", + "ADJ": "adjektiv", + "ADP": "preposisjon", + "PFX": "prefiks", + "ADV": "adverb", + "DET": "determinativ", + "PROPN": "eigennamn", + "ABBR": "forkorting", + "INTJ": "interjeksjon", + "SYM": "symbol", + "PRON": "pronomen", + "CCONJ": "konjunksjon", + "SCONJ": "subjunksjon", + "INFM": "infinitivsmerke", + "COMPPFX": "i samansetjing", + "Masc": "hankjønn", "Fem": "hokjønn", - "Neuter": "nøytr.", + "Neuter": "inkjekjønn", "Uninfl": "ubøyd" } } var group_list = function(grps, dictionary) { var grp_collection = new Set() + var noun_grp_collection = new Set() grps.forEach(function(lemma){ lemma.paradigm_info.forEach(function(grp){ if (grp.tags){ - grp_collection.add(grp.tags[0] == 'NOUN' ? mapping[dictionary][grp.tags[0]] + ', ' + mapping[dictionary][grp.tags[1]] : mapping[dictionary][grp.tags[0]]) + if(grp.tags[0] == 'NOUN') { + noun_grp_collection.add(grp.tags[1]) + }else{ + grp_collection.add(mapping[dictionary][grp.tags[0]]) + } } }) }) - if (grp_collection.has('Substantiv, Mask.') && grp_collection.has('Substantiv, Fem.')) { - grp_collection.delete('Substantiv, Mask.') - grp_collection.delete('Substantiv, Fem.') - grp_collection.add('Substantiv, Mask./Fem.') + if (noun_grp_collection) { + let noun_grp_text = 'substantiv, ' + if (noun_grp_collection.size == 3) { + noun_grp_text += mapping[dictionary]['Masc'] + ', ' + mapping[dictionary]['Fem'] + ' eller ' + mapping[dictionary]['Neuter'] + } else { + noun_grp_text += Array.from(noun_grp_collection).map(code => mapping[dictionary][code]).sort().join(' eller ') + } + grp_collection.add(noun_grp_text) } return Array.from(grp_collection).join(' - ') }