function writeCurrentDictionary() { var q = document.location.search.substring(1); var paramStrings = q.split("&"); var params = { }; for (var i = 0; i < paramStrings.length; i++) { var asunder = paramStrings[i].split("="); params[asunder[0]] = asunder[1]; } var lang = (params.lang || 'en-US').toLowerCase(); if (!(lang in allDictionaries)) { // Try just the language without region. lang = lang.replace(/-.*/, ""); if (!(lang in allDictionaries)) return; // alas, nothing to be done... } dict = allDictionaries[lang]; var prettyName = dict.entry.name; if (dict.entry.localName != dict.entry.name) prettyName += " / " + dict.entry.localName; document.write("
Install dictionary"); if (dict.size) document.write(" (", dict.size, " KB)"); document.write("
", "", prettyName); document.writeln(""); document.writeln("
"); } function regionForCode(code) { var AB_CD = code.split("-"); var AB = AB_CD[0].toLowerCase(); var CD = (AB_CD.length > 1 ? AB_CD[1].toLowerCase() : "__"); var lang = gLanguages[AB]; if (!lang) return {name: code, localName: code}; var region = lang[CD]; if (region) return region; /* If we don't have the right region, use the general form * and append the language code to disambiguate. * * We take advantage of the regularity of the data here -- general * language name followed optionally by parenthetical region -- so * please mind your step. */ for (var any in lang) { // any child will do region = lang[any]; var name = region.name.replace(/ \(.*/, ""); var localName = region.localName.replace(/ \(.*/, "") + " (" + code + ")"; return {name: name, localName: localName}; } // Absolute last resort. return { name: code, localName: code }; } var allDictionariesOrdered = []; var allDictionaries = { }; function addDictionary(code, link, size) { code = code.toLowerCase(); // Sometimes, there is more than one code in the name, yay if (code.indexOf("_") != -1) { var codes = code.split("_"); for (var i = 0; i < codes.length; i++) { addDictionary(codes[i], link, size); } return; } var region = regionForCode(code); var dict = {code: code, link: link, size: size, entry: region}; allDictionariesOrdered.push(dict); allDictionaries[code] = dict; } function writeAllDictionaries() { for (var i = 0; i < allDictionariesOrdered.length; i++) { var dict = allDictionariesOrdered[i]; var alt = i % 2 ? "even" : "odd"; var prettyName = dict.entry.name; if (dict.entry.localName != dict.entry.name) prettyName += " / " + dict.entry.localName; document.write(""); document.write("", dict.entry.name, ""); document.write("", dict.entry.localName, ""); document.write("Install (", dict.size, " KB)"); } }