diff --git a/src/components/Article.vue b/src/components/Article.vue index 22af1d5738b48521c8306731522133fc2fa44971..58b5da6e9c31901d4c92dba5662ebbe386011d5e 100644 --- a/src/components/Article.vue +++ b/src/components/Article.vue @@ -87,10 +87,10 @@ export default { return this.article.dictionary }, def_label: function() { - return this.dictionary == 'bm' ? 'Betydning og bruk' : 'Tyding og bruk' + return this.dictionary == 'bob' ? 'Betydning og bruk' : 'Tyding og bruk' }, example_label: function() { - return this.dictionary == 'bm' ? 'Eksempel' : 'Døme' + return this.dictionary == 'bob' ? 'Eksempel' : 'Døme' }, sub_articles: function() { return this.article.body.definitions.reduce((acc, val) => acc.concat(find_sub_articles(val)), []).sort((s1, s2) => s1.lemmas[0].localeCompare(s2.lemmas[0])) diff --git a/src/components/ArticleFooter.vue b/src/components/ArticleFooter.vue index 42809f683c065381a4224f511fb0eaa735413200..6d5beb55343fef6b90086d946a7a62882c1ad5e2 100644 --- a/src/components/ArticleFooter.vue +++ b/src/components/ArticleFooter.vue @@ -38,8 +38,8 @@ export default { computed: { dict_label: function() { // TODO: reuse code used in header return { - 'bm': 'Fra bokmålsordboka', - 'nn': 'Frå nynorskordboka' + 'bob': 'Fra bokmålsordboka', + 'nob': 'Frå nynorskordboka' }[this.article.dictionary] + ': ' + this.article.lemmas[0].lemma || '' }, webShareApiSupported() { diff --git a/src/components/Autocomplete.vue b/src/components/Autocomplete.vue index fbabe1bfc33ec9dc71ec86d012a68acbf93c5a4a..20dc33a53146100766b00bfd655dc53f7a6aa7c1 100644 --- a/src/components/Autocomplete.vue +++ b/src/components/Autocomplete.vue @@ -31,10 +31,7 @@ <span class="search-hit"> {{data.item.label}} </span> - <span v-if="(get_lang()=='bm,nn')"> - ({{{"b": "bm", "n": "nn", "bn": "bm, nn" }[data.item.lang] || - ["søker...","ingen treff","avansert søk"][data.item.search]}}) - </span> + <span v-if="get_lang()=='bob,nob'">({{{"b": "bm", "n": "nn", "bn": "bm, nn" }[data.item.lang] || ["søker...","ingen treff","avansert søk"][data.item.search]}})</span> </template> <template slot="no-data"> <div></div> diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue index 9d71d86cefd3b5cae7a1d2f7cf6b00781b8c9a99..b8d07ce23f8fbcd467bff0a6fc6c1f5d22986d7f 100644 --- a/src/components/DictionaryView.vue +++ b/src/components/DictionaryView.vue @@ -6,21 +6,21 @@ <template v-slot:label tabindex="1"> <span aria-label="Vis resultat i begge ordbøkene eller bruk radioknapp for bokmålsordboka eller radioknapp for nynorskordboka">VIS</span> </template> - <v-radio value="bm,nn" color="primary"> + <v-radio value="bob,nob" color="primary"> <template v-slot:label> <span> begge{{$vuetify.breakpoint.smAndDown ? '' : ' ordbøkene'}} </span> </template> </v-radio> - <v-radio value="bm" color="primary"> + <v-radio value="bob" color="primary"> <template v-slot:label> <span> {{$vuetify.breakpoint.xs ? 'bm' : 'bokmål (bm)'}} </span> </template> </v-radio> - <v-radio value="nn" color="primary"> + <v-radio value="nob" color="primary"> <template v-slot:label> <span> {{$vuetify.breakpoint.xs ? 'nn' : 'nynorsk (nn)'}} @@ -44,7 +44,7 @@ <div id="single_article_container" v-if="article"> <div class="return_to_results" v-if="search_results && search_results.length"> <router-link :to="article.source" @click.native="return_to_results()"> - <v-icon class="nav_arrow">arrow_left</v-icon>Tilbake til {{article.dictionary == 'bm' ? 'søkeresultater' : 'søkjeresultat'}} + <v-icon class="nav_arrow">arrow_left</v-icon>Tilbake til {{article.dictionary == 'bob' ? 'søkeresultater' : 'søkjeresultat'}} </router-link> </div> <Article :key="article_key" :article="article" @article-click="article_link_click" /> @@ -79,9 +79,9 @@ import { setup } from 'axios-cache-adapter' const SEARCH_ENDPOINT = process.env.VUE_APP_SEARCH_ENDPOINT const ARTICLE_ENDPOINT= process.env.VUE_APP_ARTICLE_ENDPOINT -const dicts = {'nn': 'Nynorskorboka', - 'bm': 'Bokmålsordboka', - 'bm,nn': 'ordbøkene'} +const dicts = {'nob': 'Nynorskorboka', + 'bob': 'Bokmålsordboka', + 'bob,nob': 'ordbøkene'} const api = setup({ baseURL: SEARCH_ENDPOINT, @@ -105,15 +105,9 @@ function navigate_to_article(self, source) { if ((self.$route.query.nocache || '').toLowerCase() == 'true') { config.headers.cachebuster = Date.now() }*/ - - // Map bob and nob to bm and nn - const lang = {"bob,nob": "bm,nn", - "bob": "bm", - "nob": "nn"}[self.$route.params.lang] || self.$route.params.lang - - axios.get(ARTICLE_ENDPOINT + lang + '/article/' + self.$route.params.id + ".json") + axios.get(ARTICLE_ENDPOINT + self.$route.params.lang + '/article/' + self.$route.params.id + ".json") .then(function(response){ - self.article = Object.assign(response.data, {'dictionary': lang, results: self.search_results}) + self.article = Object.assign(response.data, {'dictionary': self.$route.params.lang, results: self.search_results}) self.search_results = [] self.error = null }) @@ -122,8 +116,8 @@ function navigate_to_article(self, source) { self.error = ["Vi har ingen artikkel med id " + self.$route.params.id] } else { self.error = [] - if (self.lang !== 'bm') self.error.push(`Noko gjekk gale...`) - if (self.lang !== 'nn') self.error.push(`Noe gikk galt...`) + if (self.lang !== 'bob') self.error.push(`Noko gjekk gale...`) + if (self.lang !== 'nob') self.error.push(`Noe gikk galt...`) } }) .then(function(response){ @@ -193,18 +187,18 @@ function navigate_to_query(self, word) { if (! self.search_results.length) { if (query.match) { self.error = [] - if (self.lang !== 'bm') { + if (self.lang !== 'bob') { self.error.push(`Ordet «${query.match}» finst ikkje i Nynorskordboka. Bruk knappen «bokmål (bm)» om du har søkt i feil ordbok.`) } - if (self.lang !== 'nn') self.error.push(`Ordet «${query.match}» finnes ikke i Bokmålsordboka. Bruk knappen «nynorsk (nn)» om du har søkt i feil ordbok.`) + if (self.lang !== 'nob') self.error.push(`Ordet «${query.match}» finnes ikke i Bokmålsordboka. Bruk knappen «nynorsk (nn)» om du har søkt i feil ordbok.`) } else { self.error = [`Søk på «${query.q}» gir ingen treff i ${dicts[self.lang]}.`] // If not advanced search if (query.search != 2) self.error[0] += " Søk med * eller % dersom du er usikker på skrivemåten. Søketips kan du finne i «OM ORDBØKENE»." - if (self.lang == "bm") self.error[0] += ` Bruk knappen «nynorsk (nn)» om du har søkt i feil ordbok.` - if (self.lang == "nn") self.error[0] += ` Bruk knappen «bokmål (bm)» om du har søkt i feil ordbok.` + if (self.lang == "bob") self.error[0] += ` Bruk knappen «nynorsk (nn)» om du har søkt i feil ordbok.` + if (self.lang == "nob") self.error[0] += ` Bruk knappen «bokmål (bm)» om du har søkt i feil ordbok.` } } @@ -230,24 +224,13 @@ function navigate_to_query(self, word) { }) } -function map_language(lang) { - if (lang) { - return {"bob,nob":"bm,nn", - "bob": "bm", - "nob": "nn"}[lang] || lang - } else { - return 'bm,nn' - } - -} - export default { name: 'DictionaryView', data: function() { return { article_key: 0, search_results: [], - lang: 'bm,nn', + lang: 'bob,nob', waiting_for_articles: true, waiting_for_metadata: true, article: null, @@ -275,12 +258,12 @@ export default { this.search_results = [] if (error.response) { this.error = [] - if (this.lang !== 'bm') this.error.push(`Noko gjekk gale på serversida`) - if (this.lang !== 'nn') this.error.push(`Noe gikk galt på serversiden"`) + if (this.lang !== 'bob') this.error.push(`Noko gjekk gale på serversida`) + if (this.lang !== 'nob') this.error.push(`Noe gikk galt på serversiden"`) } else { this.error = [] - if (this.lang !== 'bm') this.error.push(`Nettverksproblem, prøv igjen`) - if (this.lang !== 'nn') this.error.push(`Nettverksproblemer, prøv igjen`) + if (this.lang !== 'bob') this.error.push(`Nettverksproblem, prøv igjen`) + if (this.lang !== 'nob') this.error.push(`Nettverksproblemer, prøv igjen`) } }, select_result: function (event) { @@ -333,48 +316,48 @@ export default { }, mounted: function(){ let self = this - this.lang = 'bm,nn' + this.lang = 'bob,nob' + Promise.all([ - axios.get(ARTICLE_ENDPOINT + 'bm/concepts.json').then(function(response){ + axios.get(ARTICLE_ENDPOINT + 'bob/concepts.json').then(function(response){ let concepts = response.data.concepts - entities.bm = concepts + entities.bob = concepts }), - axios.get(ARTICLE_ENDPOINT + 'nn/concepts.json').then(function(response){ + axios.get(ARTICLE_ENDPOINT + 'nob/concepts.json').then(function(response){ let concepts = response.data.concepts - entities.nn = concepts + entities.nob = concepts }) ]).then(function(_) { self.waiting_for_metadata = false if(self.$route.name == 'search') { - self.lang = map_language(self.$route.params.lang) - map_language(self.$route.params.lang) + self.lang = self.$route.params.lang navigate_to_query(self, self.$route.params.query) } else if(self.$route.name == 'word') { - self.lang = map_language(self.$route.params.lang) + self.lang = self.$route.params.lang navigate_to_query(self, self.$route.params.word) } else if(self.$route.name == 'lookup'){ navigate_to_article(self, self.$route.path) } else { - self.lang = map_language(self.$route.params.lang) + self.lang = self.$route.params.lang || 'bob,nob' self.waiting_for_articles = false history.replaceState({article: self.article, search_results: self.search_results, lang: self.lang, error: self.error}, '') } // words of the month - axios.get(ARTICLE_ENDPOINT + 'bm/article/5607.json').then(function(response){ - self.monthly_bm = Object.assign(response.data, {dictionary: 'bm'}) + axios.get(ARTICLE_ENDPOINT + 'bob/article/5607.json').then(function(response){ + self.monthly_bm = Object.assign(response.data, {dictionary: 'bob'}) }) - axios.get(ARTICLE_ENDPOINT + 'nn/article/78569.json').then(function(response){ - self.monthly_nn = Object.assign(response.data, {dictionary: 'nn'}) + axios.get(ARTICLE_ENDPOINT + 'nob/article/78569.json').then(function(response){ + self.monthly_nn = Object.assign(response.data, {dictionary: 'nob'}) }) }).catch(function(_){ self.error = [] - if (self.lang !== 'bm') self.error.push(`Eit nettverksproblem hindra lasting av sida. Prøv å laste sida på nytt`) - if (self.lang !== 'nn') self.error.push(`Et nettverksproblem hindret lasting av siden. Prøv å laste siden på nytt`) + if (self.lang !== 'bob') self.error.push(`Eit nettverksproblem hindra lasting av sida. Prøv å laste sida på nytt`) + if (self.lang !== 'nob') self.error.push(`Et nettverksproblem hindret lasting av siden. Prøv å laste siden på nytt`) self.waiting_for_metadata = false self.waiting_for_articles = false }) @@ -448,11 +431,11 @@ div.monthly.sm, div.monthly.xs { flex-direction: column; } -div.monthly article.bm .dict-label::before { +div.monthly article.bob .dict-label::before { content: "fra "; } -div.monthly article.nn .dict-label::before { +div.monthly article.nob .dict-label::before { content: "frå "; } diff --git a/src/components/Header.vue b/src/components/Header.vue index 396964f9bf3d2811ea96352a893eafbc762e792b..528ca51700ed20426a292e366314a7ec8e98ce38 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -59,12 +59,12 @@ export default { return a_forms.join(', ') }, inflect_tooltip: function() { - return this.dictionary == 'bm' ? 'Klikk for å se bøyinger' : 'Klikk for å sjå bøyingar' + return this.dictionary == 'bob' ? 'Klikk for å se bøyinger' : 'Klikk for å sjå bøyingar' }, dict_label: function() { return { - 'bm': 'bokmålsordboka', - 'nn': 'nynorskordboka' + 'bob': 'bokmålsordboka', + 'nob': 'nynorskordboka' }[this.dictionary] || '' }, group_list: function() { @@ -84,7 +84,7 @@ export default { ) }, lemmas_with_word_class_and_lang: function() { - return this.lemmas.map(lemma => Object.assign({language: this.dictionary == 'bm' ? 'nob' : 'nno', + return this.lemmas.map(lemma => Object.assign({language: this.dictionary == 'bob' ? 'nob' : 'nno', word_class: lemma.paradigm_info[0].inflection_group.split('_')[0]}, lemma)) }, inflected: function() { @@ -191,15 +191,15 @@ article h2.secondary_header { margin-right: 3px; } -.header details > summary.bm:before { +.header details > summary.bob:before { content: "Se "; } -.header details > summary.nn:before { +.header details > summary.nob:before { content: "Sjå "; } -.header details[open] > summary.bm:before, details[open] > summary.nn:before { +.header details[open] > summary.bob:before, details[open] > summary.nob:before { content: "Skjul "; } diff --git a/src/components/SearchResults.vue b/src/components/SearchResults.vue index 18b15f64fa832756942ef2ddaef79347509a55f1..7bc3d9b079d32a349e8b429b79c5865faeacd2df 100644 --- a/src/components/SearchResults.vue +++ b/src/components/SearchResults.vue @@ -1,8 +1,8 @@ <template> <section id="search_results"> <div class="flex-container" :class="$vuetify.breakpoint.name"> - <ul class="hits" v-if="results_bm.length"> - <li class="article_container" v-for="(result, index) in results_bm" :key="index + results_hash" tabindex="-1"> + <ul class="hits" v-if="results_bob.length"> + <li class="article_container" v-for="(result, index) in results_bob" :key="index + results_hash" tabindex="-1"> <Article :article="result" @article-click="article_link_click" @@ -10,8 +10,8 @@ </Article> </li> </ul> - <ul class="hits" v-if="results_nn.length"> - <li class="article_container" v-for="(result, index) in results_nn" :key="index + results_hash" tabindex="-1"> + <ul class="hits" v-if="results_nob.length"> + <li class="article_container" v-for="(result, index) in results_nob" :key="index + results_hash" tabindex="-1"> <Article :article="result" @article-click="article_link_click" @@ -36,17 +36,17 @@ export default { computed: { right_col_class_name: function() { if (this.$vuetify.breakpoint.mdAndUp) { - if (this.results_bm.length) { + if (this.results_bob.length) { return 'righ_hand_column' } } return '' }, - results_bm: function(){ - return this.hits.filter(hit => hit.dictionary == 'bm') + results_bob: function(){ + return this.hits.filter(hit => hit.dictionary == 'bob') }, - results_nn: function(){ - return this.hits.filter(hit => hit.dictionary == 'nn') + results_nob: function(){ + return this.hits.filter(hit => hit.dictionary == 'nob') }, results_hash: function(){ return this.hits.reduce((hash, hit) => (hash + hit.article_id) % 10000, 0) diff --git a/src/utils/entities.js b/src/utils/entities.js index b48438d98f430a4e1576a12eded0dcd75b9d004d..49f37797a00e2e2142efa136c6168cda23d06469 100644 --- a/src/utils/entities.js +++ b/src/utils/entities.js @@ -1,7 +1,7 @@ var entities = { - 'bm': { + 'bob': { }, - 'nn': { + 'nob': { } } diff --git a/src/utils/helpers.js b/src/utils/helpers.js index 61ef577cb9fde56aba29f108cd2376bcb8887dcb..ba5ce7a6e740b940ccf903ad9258544dbb76d862 100644 --- a/src/utils/helpers.js +++ b/src/utils/helpers.js @@ -1,5 +1,5 @@ var mapping = { - "bm": { + "bob": { "NOUN": "substantiv", "VERB": "verb", "ADJ": "adjektiv", @@ -21,7 +21,7 @@ var mapping = { "Neuter": "intetkjønn", "Uninfl": "ubøyelig" }, - "nn": { + "nob": { "NOUN": "substantiv", "VERB": "verb", "ADJ": "adjektiv",