diff --git a/static/skin/categoryList.js b/static/skin/categoryList.js
index be944c000..80d36e9da 100644
--- a/static/skin/categoryList.js
+++ b/static/skin/categoryList.js
@@ -1,4 +1,4 @@
-/* exported categoryList */
+// eslint-disable-next-line no-unused-vars
const categoryList = {
"other": "Other",
"gutenberg": "Gutenberg",
diff --git a/static/skin/index.js b/static/skin/index.js
index 09b2f3ff8..718d5a1f4 100644
--- a/static/skin/index.js
+++ b/static/skin/index.js
@@ -14,7 +14,12 @@
function queryUrlBuilder() {
let url = `${root}/catalog/search?`;
url += Object.keys(incrementalLoadingParams).map(key => `${key}=${incrementalLoadingParams[key]}`).join("&");
- return (url + (params.toString() ? `&${params.toString()}` : ''));
+ params.forEach((value, key) => {url+= value ? `&${key}=${value}` : ''});
+ return (url);
+ }
+
+ function htmlEncode(str) {
+ return str.replace(/[\u00A0-\u9999<>\&]/gim, (i) => `${i.charCodeAt(0)};`);
}
function viewPortToCount(){
@@ -67,26 +72,28 @@
async function loadAndDisplayOptions(nodeQuery, query) {
// currently taking an object in place of query, will replace it with query while fetching data from backend later on.
document.querySelector(nodeQuery).innerHTML += Object.keys(query)
- .map((option) => {return ``})
+ .map((option) => {return ``})
.join('');
}
function checkAndInjectEmptyMessage() {
const kiwixBodyDiv = document.getElementsByClassName('kiwixHomeBody')[0];
if (!Object.keys(bookMap).length) {
- noResultInjected = true;
- iso.remove(document.getElementsByClassName('book__list')[0].getElementsByTagName('a'));
- iso.layout();
- const spanTag = document.createElement('span');
- spanTag.setAttribute('class', 'noResults');
- spanTag.innerHTML = `No result. Would you like to reset filter?`;
- kiwixBodyDiv.append(spanTag);
- spanTag.getElementsByTagName('a')[0].onclick = (event) => {
- event.preventDefault();
- window.history.pushState({}, null, `${window.location.href.split('?')[0]}`);
- resetAndFilter();
- filterTypes.forEach(key => {document.getElementsByName(key)[0].value = params.get(key) || ''});
- };
+ if (!noResultInjected) {
+ noResultInjected = true;
+ iso.remove(document.getElementsByClassName('book__list')[0].getElementsByTagName('a'));
+ iso.layout();
+ const spanTag = document.createElement('span');
+ spanTag.setAttribute('class', 'noResults');
+ spanTag.innerHTML = `No result. Would you like to reset filter?`;
+ kiwixBodyDiv.append(spanTag);
+ spanTag.getElementsByTagName('a')[0].onclick = (event) => {
+ event.preventDefault();
+ window.history.pushState({}, null, `${window.location.href.split('?')[0]}?lang=`);
+ resetAndFilter();
+ filterTypes.forEach(key => {document.getElementsByName(key)[0].value = params.get(key) || ''});
+ };
+ }
return true;
} else if (noResultInjected) {
noResultInjected = false;
@@ -189,6 +196,7 @@
const browserLang = navigator.language.split('-')[0];
if (browserLang.length === 3) {
document.getElementById('languageFilter').value = browserLang;
+ langFilter.dispatchEvent(new Event('change'));
} else {
const langFilter = document.getElementById('languageFilter');
langFilter.value = iso6391To3[browserLang];
diff --git a/static/skin/iso6391To3.js b/static/skin/iso6391To3.js
index 6d92f66e6..540f3eb8d 100644
--- a/static/skin/iso6391To3.js
+++ b/static/skin/iso6391To3.js
@@ -1,4 +1,4 @@
-/* exported iso6391To3 */
+// eslint-disable-next-line no-unused-vars
const iso6391To3 = {
"aa": "aar",
"af": "afr",
diff --git a/static/skin/langList.js b/static/skin/langList.js
index cdcd219e1..9e6142687 100644
--- a/static/skin/langList.js
+++ b/static/skin/langList.js
@@ -1,125 +1,124 @@
-/* exported langList */
+// eslint-disable-next-line no-unused-vars
const langList = {
- "aar": "Afar",
+ "aar": "Afaraf",
"afr": "Afrikaans",
"aka": "Akan",
- "amh": "Amharic",
- "ara": "Arabic",
- "asm": "Assamese",
- "aze": "Azerbaijani",
- "bak": "Bashkir",
- "bel": "Belarusian",
- "bul": "Bulgarian",
- "bam": "Bambara",
- "ben": "Bengali",
- "bod": "Tibetan",
- "bre": "Breton",
- "bos": "Bosnian",
- "cat": "Catalan",
- "che": "Chechen",
- "cos": "Corsican",
- "ces": "Czech",
- "chv": "Chuvash",
- "cym": "Welsh",
- "dan": "Danish",
- "deu": "German",
- "dzo": "Dzongkha",
- "ewe": "Ewe",
+ "amh": "አማርኛ",
+ "ara": "اللغة العربية",
+ "asm": "অসমীয়া",
+ "aze": "azərbaycan dili",
+ "bak": "башҡорт теле",
+ "bel": "беларуская мова",
+ "bul": "български език",
+ "bam": "bamanankan",
+ "ben": "বাংলা",
+ "bod": "བོད་ཡིག",
+ "bre": "brezhoneg",
+ "bos": "bosanski jezik",
+ "cat": "Català",
+ "che": "нохчийн мотт",
+ "cos": "corsu",
+ "ces": "čeština",
+ "chv": "чӑваш чӗлхи",
+ "cym": "Cymraeg",
+ "dan": "dansk",
+ "deu": "Deutsch",
+ "dzo": "རྫོང་ཁ",
+ "ewe": "Eʋegbe",
"eng": "English",
- "spa": "Spanish",
- "est": "Estonian",
- "eus": "Basque",
- "fas": "Persian",
- "ful": "Fulah",
- "fin": "Finnish",
- "fao": "Faroese",
- "fra": "French",
- "gle": "Irish",
- "glg": "Galician",
- "grn": "Guarani",
- "guj": "Gujarati",
- "glv": "Manx",
- "hau": "Hausa",
- "heb": "Hebrew",
- "hin": "Hindi",
- "hrv": "Croatian",
- "hun": "Hungarian",
- "hye": "Armenian",
- "ind": "Indonesian",
- "ibo": "Igbo",
- "isl": "Icelandic",
- "ita": "Italian",
- "iku": "Inuktitut",
- "jpn": "Japanese",
- "jav": "Javanese",
- "kat": "Georgian",
- "kik": "Kikuyu",
- "kaz": "Kazakh",
- "khm": "Khmer",
- "kan": "Kannada",
- "kor": "Korean",
- "kas": "Kashmiri",
- "kur": "Kurdish",
- "cor": "Cornish",
- "kir": "Kirghiz",
- "ltz": "Luxembourgish",
- "lug": "Ganda",
- "lin": "Lingala",
- "lao": "Lao",
- "lit": "Lithuanian",
- "lav": "Latvian",
- "mlg": "Malagasy",
- "mri": "Maori",
- "mkd": "Macedonian",
- "mal": "Malayalam",
- "mon": "Mongolian",
- "mar": "Marathi",
- "mlt": "Maltese",
- "mya": "Burmese",
- "nld": "Dutch",
- "nya": "Nyanja",
- "orm": "Oromo",
- "pol": "Polish",
- "por": "Portuguese",
- "que": "Quechua",
- "roh": "Romansh",
- "run": "Rundi",
- "ron": "Romanian",
- "rus": "Russian",
- "kin": "Kinyarwanda",
- "san": "Sanskrit",
- "snd": "Sindhi",
- "sag": "Sango",
- "sin": "Sinhala",
- "slk": "Slovak",
- "slv": "Slovenian",
- "sna": "Shona",
- "som": "Somali",
- "sqi": "Albanian",
- "srp": "Serbian",
- "ssw": "Swati",
- "swe": "Swedish",
- "tam": "Tamil",
- "tel": "Telugu",
- "tgk": "Tajik",
- "tha": "Thai",
- "tir": "Tigrinya",
- "tuk": "Turkmen",
- "fil": "Filipino",
- "tsn": "Tswana",
- "tur": "Turkish",
- "tso": "Tsonga",
- "tat": "Tatar",
- "uig": "Uighur",
- "ukr": "Ukrainian",
- "urd": "Urdu",
- "uzb": "Uzbek",
- "ven": "Venda",
- "vie": "Vietnamese",
- "wln": "Walloon",
- "wol": "Wolof",
- "xho": "Xhosa",
- "yor": "Yoruba",
- "zho": "Chinese",
- "zul": "Zulu"
-}
+ "spa": "Español",
+ "est": "eesti",
+ "eus": "euskara",
+ "fas": "فارسی",
+ "ful": "Fulfulde",
+ "fin": "suomi",
+ "fao": "føroyskt",
+ "fra": "Français",
+ "gle": "Gaeilge",
+ "glg": "galego",
+ "grn": "Avañe'ẽ",
+ "guj": "ગુજરાતી",
+ "glv": "Gaelg",
+ "hau": "هَوُسَ",
+ "heb": "עברית",
+ "hin": "हिन्दी",
+ "hrv": "hrvatski jezik",
+ "hun": "magyar",
+ "hye": "Հայերեն",
+ "ind": "Bahasa Indonesia",
+ "ibo": "Asụsụ Igbo",
+ "isl": "Íslenska",
+ "ita": "Italiano",
+ "iku": "ᐃᓄᒃᑎᑐᑦ",
+ "jpn": "日本語",
+ "jav": "basa Jawa",
+ "kat": "ქართული",
+ "kik": "Gĩkũyũ",
+ "kaz": "қазақ тілі",
+ "khm": "ខេមរភាសា",
+ "kan": "ಕನ್ನಡ",
+ "kor": "한국어",
+ "kas": "कश्मीरी",
+ "kur": "Kurdî",
+ "cor": "Kernewek",
+ "kir": "Кыргызча",
+ "ltz": "Lëtzebuergesch",
+ "lug": "Luganda",
+ "lin": "Lingála",
+ "lao": "ພາສາ",
+ "lit": "lietuvių kalba",
+ "lav": "latviešu valoda",
+ "mlg": "fiteny malagasy",
+ "mri": "te reo Māori",
+ "mkd": "македонски јазик",
+ "mal": "മലയാളം",
+ "mon": "Монгол хэл",
+ "mar": "मराठी",
+ "mlt": "Malti",
+ "mya": "ဗမာစာ",
+ "nld": "Nederlands",
+ "nya": "chiCheŵa",
+ "orm": "Afaan Oromoo",
+ "pol": "język polski",
+ "por": "Português",
+ "que": "Runa Simi",
+ "roh": "rumantsch grischun",
+ "run": "Ikirundi",
+ "ron": "Română",
+ "rus": "Русский",
+ "kin": "Ikinyarwanda",
+ "san": "संस्कृतम्",
+ "snd": "सिन्धी",
+ "sag": "yângâ tî sängö",
+ "sin": "සිංහල",
+ "slk": "slovenčina",
+ "slv": "slovenski jezik",
+ "sna": "chiShona",
+ "som": "Soomaaliga",
+ "sqi": "Shqip",
+ "srp": "српски језик",
+ "ssw": "SiSwati",
+ "swe": "svenska",
+ "tam": "தமிழ்",
+ "tel": "తెలుగు",
+ "tgk": "тоҷикӣ",
+ "tha": "ไทย",
+ "tir": "ትግርኛ",
+ "tuk": "Türkmen",
+ "tsn": "Setswana",
+ "tur": "Türkçe",
+ "tso": "Xitsonga",
+ "tat": "татар теле",
+ "uig": "ئۇيغۇرچە",
+ "ukr": "Українська",
+ "urd": "اردو",
+ "uzb": "Ўзбек",
+ "ven": "Tshivenḓa",
+ "vie": "Tiếng Việt",
+ "wln": "walon",
+ "wol": "Wollof",
+ "xho": "isiXhosa",
+ "yor": "Yorùbá",
+ "zho": "中文",
+ "zul": "isiZulu"
+}
\ No newline at end of file
diff --git a/static/templates/index.html b/static/templates/index.html
index db457b8db..39d82a0e1 100644
--- a/static/templates/index.html
+++ b/static/templates/index.html
@@ -22,6 +22,10 @@
rel="Stylesheet"
/>