Skip to content
Snippets Groups Projects
Commit 73b0fb80 authored by Henrik Askjer's avatar Henrik Askjer
Browse files

rename bob and nob variables

parent 3a00fa9e
No related branches found
No related tags found
No related merge requests found
......@@ -87,10 +87,10 @@ export default {
return this.article.dictionary
},
def_label: function() {
return this.dictionary == 'bob' ? 'Betydning og bruk' : 'Tyding og bruk'
return this.dictionary == 'bm' ? 'Betydning og bruk' : 'Tyding og bruk'
},
example_label: function() {
return this.dictionary == 'bob' ? 'Eksempel' : 'Døme'
return this.dictionary == 'bm' ? '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]))
......
......@@ -38,8 +38,8 @@ export default {
computed: {
dict_label: function() { // TODO: reuse code used in header
return {
'bob': 'Fra bokmålsordboka',
'nob': 'Frå nynorskordboka'
'bm': 'Fra bokmålsordboka',
'nn': 'Frå nynorskordboka'
}[this.article.dictionary] + ': ' + this.article.lemmas[0].lemma || ''
},
webShareApiSupported() {
......
......@@ -31,7 +31,10 @@
<span class="search-hit">
{{data.item.label}}
</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>
<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>
</template>
<template slot="no-data">
<div></div>
......
......@@ -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="bob,nob" color="primary">
<v-radio value="bm,nn" color="primary">
<template v-slot:label>
<span>
begge{{$vuetify.breakpoint.smAndDown ? '' : ' ordbøkene'}}
</span>
</template>
</v-radio>
<v-radio value="bob" color="primary">
<v-radio value="bm" color="primary">
<template v-slot:label>
<span>
{{$vuetify.breakpoint.xs ? 'bm' : 'bokmål (bm)'}}
</span>
</template>
</v-radio>
<v-radio value="nob" color="primary">
<v-radio value="nn" 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 == 'bob' ? 'søkeresultater' : 'søkjeresultat'}}
<v-icon class="nav_arrow">arrow_left</v-icon>Tilbake til {{article.dictionary == 'bm' ? '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 = {'nob': 'Nynorskorboka',
'bob': 'Bokmålsordboka',
'bob,nob': 'ordbøkene'}
const dicts = {'nn': 'Nynorskorboka',
'bm': 'Bokmålsordboka',
'bm,nn': 'ordbøkene'}
const api = setup({
baseURL: SEARCH_ENDPOINT,
......@@ -105,9 +105,15 @@ function navigate_to_article(self, source) {
if ((self.$route.query.nocache || '').toLowerCase() == 'true') {
config.headers.cachebuster = Date.now()
}*/
axios.get(ARTICLE_ENDPOINT + self.$route.params.lang + '/article/' + self.$route.params.id + ".json")
// 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")
.then(function(response){
self.article = Object.assign(response.data, {'dictionary': self.$route.params.lang, results: self.search_results})
self.article = Object.assign(response.data, {'dictionary': lang, results: self.search_results})
self.search_results = []
self.error = null
})
......@@ -116,8 +122,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 !== 'bob') self.error.push(`Noko gjekk gale...`)
if (self.lang !== 'nob') self.error.push(`Noe gikk galt...`)
if (self.lang !== 'bm') self.error.push(`Noko gjekk gale...`)
if (self.lang !== 'nn') self.error.push(`Noe gikk galt...`)
}
})
.then(function(response){
......@@ -187,18 +193,18 @@ function navigate_to_query(self, word) {
if (! self.search_results.length) {
if (query.match) {
self.error = []
if (self.lang !== 'bob') {
if (self.lang !== 'bm') {
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 !== 'nob') 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 !== 'nn') 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 == "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.`
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.`
}
}
......@@ -224,13 +230,24 @@ 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: 'bob,nob',
lang: 'bm,nn',
waiting_for_articles: true,
waiting_for_metadata: true,
article: null,
......@@ -258,12 +275,12 @@ export default {
this.search_results = []
if (error.response) {
this.error = []
if (this.lang !== 'bob') this.error.push(`Noko gjekk gale på serversida`)
if (this.lang !== 'nob') this.error.push(`Noe gikk galt på serversiden"`)
if (this.lang !== 'bm') this.error.push(`Noko gjekk gale på serversida`)
if (this.lang !== 'nn') this.error.push(`Noe gikk galt på serversiden"`)
} else {
this.error = []
if (this.lang !== 'bob') this.error.push(`Nettverksproblem, prøv igjen`)
if (this.lang !== 'nob') this.error.push(`Nettverksproblemer, prøv igjen`)
if (this.lang !== 'bm') this.error.push(`Nettverksproblem, prøv igjen`)
if (this.lang !== 'nn') this.error.push(`Nettverksproblemer, prøv igjen`)
}
},
select_result: function (event) {
......@@ -316,48 +333,48 @@ export default {
},
mounted: function(){
let self = this
this.lang = 'bob,nob'
this.lang = 'bm,nn'
Promise.all([
axios.get(ARTICLE_ENDPOINT + 'bob/concepts.json').then(function(response){
axios.get(ARTICLE_ENDPOINT + 'bm/concepts.json').then(function(response){
let concepts = response.data.concepts
entities.bob = concepts
entities.bm = concepts
}),
axios.get(ARTICLE_ENDPOINT + 'nob/concepts.json').then(function(response){
axios.get(ARTICLE_ENDPOINT + 'nn/concepts.json').then(function(response){
let concepts = response.data.concepts
entities.nob = concepts
entities.nn = concepts
})
]).then(function(_) {
self.waiting_for_metadata = false
if(self.$route.name == 'search') {
self.lang = self.$route.params.lang
self.lang = map_language(self.$route.params.lang)
map_language(self.$route.params.lang)
navigate_to_query(self, self.$route.params.query)
}
else if(self.$route.name == 'word') {
self.lang = self.$route.params.lang
self.lang = map_language(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 = self.$route.params.lang || 'bob,nob'
self.lang = map_language(self.$route.params.lang)
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 + 'bob/article/5607.json').then(function(response){
self.monthly_bm = Object.assign(response.data, {dictionary: 'bob'})
axios.get(ARTICLE_ENDPOINT + 'bm/article/5607.json').then(function(response){
self.monthly_bm = Object.assign(response.data, {dictionary: 'bm'})
})
axios.get(ARTICLE_ENDPOINT + 'nob/article/78569.json').then(function(response){
self.monthly_nn = Object.assign(response.data, {dictionary: 'nob'})
axios.get(ARTICLE_ENDPOINT + 'nn/article/78569.json').then(function(response){
self.monthly_nn = Object.assign(response.data, {dictionary: 'nn'})
})
}).catch(function(_){
self.error = []
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`)
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`)
self.waiting_for_metadata = false
self.waiting_for_articles = false
})
......@@ -431,11 +448,11 @@ div.monthly.sm, div.monthly.xs {
flex-direction: column;
}
div.monthly article.bob .dict-label::before {
div.monthly article.bm .dict-label::before {
content: "fra ";
}
div.monthly article.nob .dict-label::before {
div.monthly article.nn .dict-label::before {
content: "frå ";
}
......
......@@ -59,12 +59,12 @@ export default {
return a_forms.join(', ')
},
inflect_tooltip: function() {
return this.dictionary == 'bob' ? 'Klikk for å se bøyinger' : 'Klikk for å sjå bøyingar'
return this.dictionary == 'bm' ? 'Klikk for å se bøyinger' : 'Klikk for å sjå bøyingar'
},
dict_label: function() {
return {
'bob': 'bokmålsordboka',
'nob': 'nynorskordboka'
'bm': 'bokmålsordboka',
'nn': '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 == 'bob' ? 'nob' : 'nno',
return this.lemmas.map(lemma => Object.assign({language: this.dictionary == 'bm' ? '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.bob:before {
.header details > summary.bm:before {
content: "Se ";
}
.header details > summary.nob:before {
.header details > summary.nn:before {
content: "Sjå ";
}
.header details[open] > summary.bob:before, details[open] > summary.nob:before {
.header details[open] > summary.bm:before, details[open] > summary.nn:before {
content: "Skjul ";
}
......
<template>
<section id="search_results">
<div class="flex-container" :class="$vuetify.breakpoint.name">
<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">
<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">
<Article
:article="result"
@article-click="article_link_click"
......@@ -10,8 +10,8 @@
</Article>
</li>
</ul>
<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">
<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">
<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_bob.length) {
if (this.results_bm.length) {
return 'righ_hand_column'
}
}
return ''
},
results_bob: function(){
return this.hits.filter(hit => hit.dictionary == 'bob')
results_bm: function(){
return this.hits.filter(hit => hit.dictionary == 'bm')
},
results_nob: function(){
return this.hits.filter(hit => hit.dictionary == 'nob')
results_nn: function(){
return this.hits.filter(hit => hit.dictionary == 'nn')
},
results_hash: function(){
return this.hits.reduce((hash, hit) => (hash + hit.article_id) % 10000, 0)
......
var entities = {
'bob': {
'bm': {
},
'nob': {
'nn': {
}
}
......
var mapping = {
"bob": {
"bm": {
"NOUN": "substantiv",
"VERB": "verb",
"ADJ": "adjektiv",
......@@ -21,7 +21,7 @@ var mapping = {
"Neuter": "intetkjønn",
"Uninfl": "ubøyelig"
},
"nob": {
"nn": {
"NOUN": "substantiv",
"VERB": "verb",
"ADJ": "adjektiv",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment