diff --git a/main.css b/main.css index cf0ba79..c6d354c 100644 --- a/main.css +++ b/main.css @@ -224,6 +224,15 @@ main { margin-bottom: 6px; } +.result-translation { + font-size: 0.9rem; + color: var(--darkgrey); +} + +.result-translation::before { + content: " - "; +} + .result summary { margin-top: 4px; color: grey; diff --git a/main.js b/main.js index 6548a38..cebf66c 100644 --- a/main.js +++ b/main.js @@ -164,19 +164,23 @@ function loadDictionary() { let keys = Object.keys(json); //prepare search. maybe async this if we're loading a specific word? for (let i = 0; i < keys.length; i++) { - //create array - searchDictionary[keys[i]] = []; + try { + //create array + searchDictionary[keys[i]] = []; - //add: word - searchDictionary[keys[i]].push(keys[i]); + //add: word + searchDictionary[keys[i]].push(keys[i]); - //add: romanized word - searchDictionary[keys[i]].push(stripWord(heonianToRoman(keys[i]))); + //add: romanized word + searchDictionary[keys[i]].push(stripWord(heonianToRoman(keys[i]))); - //add: translations, meanings - for (let o = 0; o < values[i].length; o++) { - searchDictionary[keys[i]].push(stripWord(values[i][o]["meaning"])); - searchDictionary[keys[i]].push(stripWord(values[i][o]["translation"])); + //add: translations, meanings + for (let o = 0; o < values[i].length; o++) { + if (values[i][o].hasOwnProperty("translation")) searchDictionary[keys[i]].push(stripWord(values[i][o]["translation"])); + if (values[i][o].hasOwnProperty("meaning")) searchDictionary[keys[i]].push(stripWord(values[i][o]["meaning"])); + } + } catch (e) { + console.log(keys[i] + " failed to load :/"); } } @@ -244,8 +248,8 @@ function doSearch() { //number, meaning (*required) meaning.innerHTML += "
"+(o+1)+""+json[results[i]][o]["meaning"]+""; //longer translation (below are not required, make sure to check for them) - if (json[results[i]][o]["translation"] != undefined) { - meaning.innerHTML += "
Translation

"+json[results[i]][o]["translation"]+"

"; + if (json[results[i]][o]["translation"] != undefined && json[results[i]][o]["translation"].toLowerCase() != json[results[i]][o]["meaning"].toLowerCase()) { + meaning.innerHTML += ""+json[results[i]][o]["translation"]+""; } //example if (json[results[i]][o]["examples"] != undefined) {