X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2Fmkws.js;h=12f8a2d6c9cb4a0596d56b13566d01459e80d6fc;hb=3ae9e3ba0a56b63a0ed0c0e5b5339279519c59c5;hp=950df8ae89fc14092038c0e64eaf1165c9743c6b;hpb=e7cf6c45af6b281116c9db89a2465d7d62bbbd89;p=mkws-moved-to-github.git diff --git a/experiments/spclient/mkws.js b/experiments/spclient/mkws.js index 950df8a..12f8a2d 100644 --- a/experiments/spclient/mkws.js +++ b/experiments/spclient/mkws.js @@ -46,7 +46,7 @@ var mkws_locale_lang = { "Displaying": "Viser", "to": "til", "of": "ud af", - "found": "fundet", + "found": "fandt", "dummy": "dummy" } @@ -444,6 +444,9 @@ function mkws_html_all(data) { for (var k in data) { config[k] = data[k]; } + + mkws_set_lang(mkws_config); + mkws_html_lang(mkws_config); // For some reason, doing this programmatically results in // document.search.query being undefined, hence the raw HTML. @@ -482,6 +485,17 @@ function mkws_html_all(data) { domReady(); } +function mkws_set_lang(mkws_config) { + var lang = jQuery.parseQuerystring().lang || mkws_config.lang || ""; + if (!lang || !mkws_locale_lang[lang]) { + mkws_config.lang = "" + } else { + mkws_config.lang = lang; + } + + return mkws_config.lang; +} + function mkws_html_switch(config) { $("#mkwsSwitch").html($("", { href: '#', @@ -567,9 +581,36 @@ function mkws_service_proxy_auth(auth_url) { }); } +/* create locale language menu */ +function mkws_html_lang(mkws_config) { + var lang_default = "en"; + var lang = mkws_config.lang || lang_default; + var list = [lang_default]; + + for (var k in mkws_locale_lang) { + list.push(k); + } + + var data = ""; + for(var i = 0; i < list.length; i++) { + var l = list[i]; + + if (data) + data += ' | '; + + if (lang == l) { + data += l; + } else { + data += ' ' + l + ' ' + } + } + + $("#mkwsLang").html(data); +} + /* locale */ function M(word) { - var lang = mkws_config.lang; + var lang = jQuery.parseQuerystring().lang || mkws_config.lang; if (!lang || !mkws_locale_lang[lang]) return word; @@ -577,5 +618,18 @@ function M(word) { return mkws_locale_lang[lang][word] ? mkws_locale_lang[lang][word] : word; } +/* implement jQuery.parseQuerystring() for parsing URL parameters */ +jQuery.extend({ + parseQuerystring: function() { + var nvpair = {}; + var qs = window.location.search.replace('?', ''); + var pairs = qs.split('&'); + $.each(pairs, function(i, v){ + var pair = v.split('='); + nvpair[pair[0]] = pair[1]; + }); + return nvpair; +} }); + /* magic */ $(document).ready(function() { mkws_html_all(mkws_config) });