Skip to content

Instantly share code, notes, and snippets.

@z3nth10n
Created September 13, 2017 19:58
Show Gist options
  • Save z3nth10n/e5f8a6e596bca0417108c2a1424cfe89 to your computer and use it in GitHub Desktop.
Save z3nth10n/e5f8a6e596bca0417108c2a1424cfe89 to your computer and use it in GitHub Desktop.
Thim-language filler (fill and translate your page with Eduma Theme from Thimpress.com)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Gist langs</title>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
function parse_query_string(query) {
var vars = query.split("&");
var query_string = {};
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
// If first entry with this name
if (typeof query_string[pair[0]] === "undefined") {
query_string[pair[0]] = decodeURIComponent(pair[1]);
// If second entry with this name
} else if (typeof query_string[pair[0]] === "string") {
var arr = [query_string[pair[0]], decodeURIComponent(pair[1])];
query_string[pair[0]] = arr;
// If third or later entry with this name
} else {
query_string[pair[0]].push(decodeURIComponent(pair[1]));
}
}
return query_string;
}
var langs = [["af", "za, bo, na", "Afrikaans"], ["sq", "al, xk", "Albanian"], ["am", "et", "Amharic"], ["ar", "eg, sa, ye", "Arabic"], ["hy", "ar", "Armenian"], ["az", "az", "Azerbaijani"], ["eu", "es", "Basque"], ["be", "by", "Belarusian"], ["bn", "bd", "Bengali"], ["bs", "ba", "Bosnian"], ["bg", "be", "Bulgarian"], ["ca", "es", "Catalan"], ["ceb", "ph", "Cebuano"], ["ny", "mw, zm", "Chichewa"], ["zh-CN", "cn", "Chinese"], ["co", "fr", "Corsican"], ["hr", "hr", "Croatian"], ["cs", "cz", "Czech"], ["da", "dk", "Danish"], ["nl", "de", "Dutch"], ["en", "gb", "English"], ["eo", "", "Esperanto"], ["et", "ee", "Estonian"], ["tl", "ph", "Filipino"], ["fi", "fi", "Finnish"], ["fr", "fr", "French"], ["fy", "de, nl", "Frisian"], ["gl", "es", "Galician"], ["ka", "ge", "Georgian"], ["de", "de", "German"], ["el", "gr", "Greek"], ["gu", "in", "Gujarati"], ["ht", "ht", "Haitian Creole"], ["ha", "sa", "Hausa"], ["haw", "us", "Hawaiian"], ["iw", "il", "Hebrew"], ["hi", "in", "Hindi"], ["hmn", "cn, fr, la, th", "Hmong"], ["hu", "hu", "Hungarian"], ["is", "is", "Icelandic"], ["ig", "ni, gq", "Igbo"], ["id", "id", "Indonesian"], ["ga", "ie, gb", "Irish"], ["it", "it", "Italian"], ["ja", "jp", "Japanese"], ["jw", "nc, sr", "Javanese"], ["kn", "in", "Kannada"], ["kk", "kz", "Kazakh"], ["km", "kh", "Khmer"], ["ko", "kp, kr", "Korean"], ["ku", "iq, tr, ir, sy", "Kurdish (Kurmanji)"], ["ky", "kg", "Kyrgyz"], ["lo", "la", "Lao"], ["la", "va", "Latin"], ["lv", "lv", "Latvian"], ["lt", "lt", "Lithuanian"], ["lb", "lu", "Luxembourgish"], ["mk", "mk", "Macedonian"], ["mg", "mg", "Malagasy"], ["ms", "bn, my, sg", "Malay"], ["ml", "in", "Malayalam"], ["mt", "mt", "Maltese"], ["mi", "nz", "Maori"], ["mr", "in", "Marathi"], ["mn", "mn", "Mongolian"], ["my", "mm", "Myanmar (Burmese)"], ["ne", "np", "Nepali"], ["no", "no", "Norwegian"], ["ps", "af", "Pashto"], ["fa", "af, ir, tj", "Persian"], ["pl", "pl", "Polish"], ["pt", "pt", "Portuguese"], ["pa", "in", "Punjabi"], ["ro", "ro, md", "Romanian"], ["ru", "ru", "Russian"], ["sm", "ws", "Samoan"], ["gd", "ir", "Scots Gaelic"], ["sr", "rs", "Serbian"], ["st", "za", "Sesotho"], ["sn", "zw", "Shona"], ["sd", "in", "Sindhi"], ["si", "lk", "Sinhala"], ["sk", "sk", "Slovak"], ["sl", "si", "Slovenian"], ["so", "so", "Somali"], ["es", "es, ar, mx, cl", "Spanish"], ["su", "id", "Sundanese"], ["sw", "ke, tz, ug", "Swahili"], ["sv", "se", "Swedish"], ["tg", "tj", "Tajik"], ["ta", "in, lk, sg", "Tamil"], ["te", "in", "Telugu"], ["th", "th", "Thai"], ["tr", "tr", "Turkish"], ["uk", "ua", "Ukrainian"], ["ur", "pk, in", "Urdu"], ["uz", "uz", "Uzbek"], ["vi", "vn", "Vietnamese"], ["cy", "gb", "Welsh"], ["xh", "za, zw", "Xhosa"], ["yi", "ba, ir", "Yiddish"], ["yo", "ng", "Yoruba"], ["zu", "za", "Zulu"]];
jQuery(document).ready(function($)
{
function appendLangItem(item, active)
{
var langName = item[2],
langShortCodes = item[1],
langTranslateCode = item[0],
link = $("<a>").attr("class", "lang-" + (!active ? "select" : "item active")).attr("href", "http://translate.google.com/translate?js=n&sl=auto&tl="+langTranslateCode+"&u="+FinishUrl(langTranslateCode)),
flag = langShortCodes.indexOf(",") !== -1 ? langShortCodes.split(", ") : [langShortCodes];
$.each(flag, function(index, value)
{
link.append($("<img>").attr("src", "/bigben/wp-content/uploads/2017/09/blank.gif").attr("class", ("flag flag-"+value)).attr("alt", langName));
});
return $(link).append(langName);
}
function GetCurUrl() {
var query = window.location.search.substring(1),
qs = parse_query_string(query),
url = window.location.href;
return url.indexOf("translate.google.com") !== -1 ? decodeURI(qs.u) : url;
}
function FinishUrl(curLang) {
var url = GetCurUrl(),
split = url.indexOf("?") !== -1 ? url : url.split("?"),
qs = url.indexOf("?") !== -1 ? parse_query_string(split[1]) : null,
parametizer = qs != null && qs.lang == null || qs == null ? AddUrlParameter("lang", curLang, url) : url;
return parametizer;
}
function AddUrlParameter(key, value, url) {
var loc = url == null ? location.href : url;
loc += loc.indexOf("?") === -1 ? "?" : "&";
return loc + key + "=" + value;
}
function GetLangIndex(lang, forceIndex)
{
var k = -1;
for(var i = 0; i < langs.length; ++i)
if(forceIndex != null)
{
if(langs[i][forceIndex] == lang)
{
k = i;
break;
}
}
else
{
for(var j = 0; j < langs[i].length; ++j)
if(langs[i][j] == lang)
{
k = i;
break;
}
}
return k;
}
//Default lang is Spanish if not defined...
var qs = parse_query_string(FinishUrl("es").split("?")[1]),
ind = GetLangIndex(qs.lang, 0);
if(ind == -1)
{
console.log("There was a problem getting lang array.");
ind = 0;
}
$(".thim-language").append(appendLangItem(langs[ind], true));
var ul = $("<ul>").attr("class", "list-lang").css("display", "none");
$.each(langs, function(index, value) {
var arr2 = value;
ul.append($("<li>").attr("class", "lang-item").append(appendLangItem(arr2)));
$(".thim-language").append(ul);
});
});
</script>
/*!
* Generated with CSS Flag Sprite generator (https://www.flag-sprites.com/)
*/.flag{display:inline-block;width:16px!important;height:11px;background:url('https://media.flag-sprites.com/veowpp/flags.png') no-repeat}.flag.flag-vn{background-position:-48px -165px}.flag.flag-fi{background-position:-64px -44px}.flag.flag-mm{background-position:-16px -99px}.flag.flag-st{background-position:-32px -143px}.flag.flag-ug{background-position:-144px -154px}.flag.flag-sj{background-position:-144px -132px}.flag.flag-wf{background-position:-96px -165px}.flag.flag-kurdistan{background-position:-160px -77px}.flag.flag-ax{background-position:-224px 0}.flag.flag-sv{background-position:-48px -143px}.flag.flag-ec{background-position:-176px -33px}.flag.flag-tm{background-position:0 -154px}.flag.flag-ck{background-position:-160px -22px}.flag.flag-ls{background-position:-64px -88px}.flag.flag-lu{background-position:-96px -88px}.flag.flag-sb{background-position:-16px -132px}.flag.flag-kp{background-position:-128px -77px}.flag.flag-id{background-position:-64px -66px}.flag.flag-sz{background-position:-96px -143px}.flag.flag-ws{background-position:-112px -165px}.flag.flag-sd{background-position:-64px -132px}.flag.flag-ph{background-position:0 -121px}.flag.flag-ad{background-position:0 0}.flag.flag-er{background-position:0 -44px}.flag.flag-bv{background-position:-240px -11px}.flag.flag-hk{background-position:-208px -55px}.flag.flag-lv{background-position:-112px -88px}.flag.flag-fk{background-position:-96px -44px}.flag.flag-im{background-position:-112px -66px}.flag.flag-dm{background-position:-128px -33px}.flag.flag-az{background-position:-240px 0}.flag.flag-nr{background-position:-128px -110px}.flag.flag-am{background-position:-96px 0}.flag.flag-uy{background-position:-192px -154px}.flag.flag-ru{background-position:-224px -121px}.flag.flag-kr{background-position:-144px -77px}.flag.flag-tc{background-position:-112px -143px}.flag.flag-eh{background-position:-224px -33px}.flag.flag-pl{background-position:-32px -121px}.flag.flag-lr{background-position:-48px -88px}.flag.flag-om{background-position:-176px -110px}.flag.flag-ca{background-position:-48px -22px}.flag.flag-vi{background-position:-32px -165px}.flag.flag-li{background-position:-16px -88px}.flag.flag-gp{background-position:-80px -55px}.flag.flag-ly{background-position:-128px -88px}.flag.flag-je{background-position:-224px -66px}.flag.flag-mr{background-position:-96px -99px}.flag.flag-vc{background-position:-240px -154px}.flag.flag-cv{background-position:-16px -33px}.flag.flag-mn{background-position:-32px -99px}.flag.flag-lk{background-position:-32px -88px}.flag.flag-eu{background-position:-48px -44px}.flag.flag-gw{background-position:-176px -55px}.flag.flag-cd{background-position:-80px -22px}.flag.flag-zanzibar{background-position:-192px -165px}.flag.flag-cz{background-position:-64px -33px}.flag.flag-bz{background-position:-32px -22px}.flag.flag-ro{background-position:-192px -121px}.flag.flag-pt{background-position:-112px -121px}.flag.flag-sn{background-position:-208px -132px}.flag.flag-ga{background-position:-160px -44px}.flag.flag-fm{background-position:-112px -44px}.flag.flag-bh{background-position:-96px -11px}.flag.flag-md{background-position:-176px -88px}.flag.flag-lc{background-position:0 -88px}.flag.flag-ye{background-position:-144px -165px}.flag.flag-qa{background-position:-160px -121px}.flag.flag-fr{background-position:-144px -44px}.flag.flag-in{background-position:-128px -66px}.flag.flag-tr{background-position:-48px -154px}.flag.flag-it{background-position:-208px -66px}.flag.flag-ua{background-position:-128px -154px}.flag.flag-tn{background-position:-16px -154px}.flag.flag-cr{background-position:-240px -22px}.flag.flag-lt{background-position:-80px -88px}.flag.flag-au{background-position:-192px 0}.flag.flag-sr{background-position:0 -143px}.flag.flag-cl{background-position:-176px -22px}.flag.flag-tk{background-position:-224px -143px}.flag.flag-be{background-position:-48px -11px}.flag.flag-ir{background-position:-176px -66px}.flag.flag-ms{background-position:-112px -99px}.flag.flag-is{background-position:-192px -66px}.flag.flag-es{background-position:-16px -44px}.flag.flag-ai{background-position:-64px 0}.flag.flag-no{background-position:-96px -110px}.flag.flag-jo{background-position:0 -77px}.flag.flag-cf{background-position:-96px -22px}.flag.flag-mz{background-position:-224px -99px}.flag.flag-yt{background-position:-160px -165px}.flag.flag-my{background-position:-208px -99px}.flag.flag-al{background-position:-80px 0}.flag.flag-sx{background-position:-64px -143px}.flag.flag-gf{background-position:-224px -44px}.flag.flag-sc{background-position:-32px -132px}.flag.flag-somaliland{background-position:-240px -132px}.flag.flag-gr{background-position:-112px -55px}.flag.flag-ar{background-position:-144px 0}.flag.flag-pa{background-position:-192px -110px}.flag.flag-nc{background-position:0 -110px}.flag.flag-il{background-position:-96px -66px}.flag.flag-de{background-position:-80px -33px}.flag.flag-td{background-position:-128px -143px}.flag.flag-bg{background-position:-80px -11px}.flag.flag-mc{background-position:-160px -88px}.flag.flag-th{background-position:-176px -143px}.flag.flag-re{background-position:-176px -121px}.flag.flag-kn{background-position:-112px -77px}.flag.flag-cn{background-position:-208px -22px}.flag.flag-ml{background-position:0 -99px}.flag.flag-tz{background-position:-112px -154px}.flag.flag-sl{background-position:-176px -132px}.flag.flag-mp{background-position:-64px -99px}.flag.flag-jp{background-position:-16px -77px}.flag.flag-tibet{background-position:-192px -143px}.flag.flag-rw{background-position:-240px -121px}.flag.flag-ve{background-position:0 -165px}.flag.flag-pr{background-position:-80px -121px}.flag.flag-gt{background-position:-144px -55px}.flag.flag-fo{background-position:-128px -44px}.flag.flag-bi{background-position:-112px -11px}.flag.flag-cy{background-position:-48px -33px}.flag.flag-si{background-position:-128px -132px}.flag.flag-io{background-position:-144px -66px}.flag.flag-sm{background-position:-192px -132px}.flag.flag-tf{background-position:-144px -143px}.flag.flag-mk{background-position:-240px -88px}.flag.flag-cw{background-position:-32px -33px}.flag.flag-an{background-position:-112px 0}.flag.flag-me{background-position:-192px -88px}.flag.flag-uz{background-position:-208px -154px}.flag.flag-fj{background-position:-80px -44px}.flag.flag-br{background-position:-192px -11px}.flag.flag-ky{background-position:-192px -77px}.flag.flag-bo{background-position:-176px -11px}.flag.flag-hr{background-position:0 -66px}.flag.flag-tt{background-position:-64px -154px}.flag.flag-cu{background-position:0 -33px}.flag.flag-lb{background-position:-240px -77px}.flag.flag-la{background-position:-224px -77px}.flag.flag-jm{background-position:-240px -66px}.flag.flag-gy{background-position:-192px -55px}.flag.flag-iq{background-position:-160px -66px}.flag.flag-gb{background-position:-176px -44px}.flag.flag-ag{background-position:-48px 0}.flag.flag-ao{background-position:-128px 0}.flag.flag-dz{background-position:-160px -33px}.flag.flag-na{background-position:-240px -99px}.flag.flag-ci{background-position:-144px -22px}.flag.flag-mo{background-position:-48px -99px}.flag.flag-us{background-position:-176px -154px}.flag.flag-mh{background-position:-224px -88px}.flag.flag-wales{background-position:-80px -165px}.flag.flag-ch{background-position:-128px -22px}.flag.flag-um{background-position:-160px -154px}.flag.flag-vg{background-position:-16px -165px}.flag.flag-aw{background-position:-208px 0}.flag.flag-mw{background-position:-176px -99px}.flag.flag-ps{background-position:-96px -121px}.flag.flag-bf{background-position:-64px -11px}.flag.flag-cg{background-position:-112px -22px}.flag.flag-gh{background-position:0 -55px}.flag.flag-ic{background-position:-48px -66px}.flag.flag-do{background-position:-144px -33px}.flag.flag-bb{background-position:-16px -11px}.flag.flag-mx{background-position:-192px -99px}.flag.flag-bs{background-position:-208px -11px}.flag.flag-nz{background-position:-160px -110px}.flag.flag-kz{background-position:-208px -77px}.flag.flag-hn{background-position:-240px -55px}.flag.flag-sg{background-position:-96px -132px}.flag.flag-pf{background-position:-224px -110px}.flag.flag-tl{background-position:-240px -143px}.flag.flag-gs{background-position:-128px -55px}.flag.flag-nl{background-position:-80px -110px}.flag.flag-zw{background-position:-224px -165px}.flag.flag-mq{background-position:-80px -99px}.flag.flag-rs{background-position:-208px -121px}.flag.flag-nu{background-position:-144px -110px}.flag.flag-bm{background-position:-144px -11px}.flag.flag-tv{background-position:-80px -154px}.flag.flag-zm{background-position:-208px -165px}.flag.flag-pn{background-position:-64px -121px}.flag.flag-mv{background-position:-160px -99px}.flag.flag-km{background-position:-96px -77px}.flag.flag-sa{background-position:0 -132px}.flag.flag-cm{background-position:-192px -22px}.flag.flag-mt{background-position:-128px -99px}.flag.flag-tg{background-position:-160px -143px}.flag.flag-af{background-position:-32px 0}.flag.flag-bd{background-position:-32px -11px}.flag.flag-ke{background-position:-32px -77px}.flag.flag-gu{background-position:-160px -55px}.flag.flag-ne{background-position:-16px -110px}.flag.flag-sh{background-position:-112px -132px}.flag.flag-eg{background-position:-208px -33px}.flag.flag-gq{background-position:-96px -55px}.flag.flag-as{background-position:-160px 0}.flag.flag-dk{background-position:-112px -33px}.flag.flag-pw{background-position:-128px -121px}.flag.flag-np{background-position:-112px -110px}.flag.flag-pg{background-position:-240px -110px}.flag.flag-bn{background-position:-160px -11px}.flag.flag-gn{background-position:-64px -55px}.flag.flag-by{background-position:-16px -22px}.flag.flag-hu{background-position:-32px -66px}.flag.flag-england{background-position:-240px -33px}.flag.flag-tw{background-position:-96px -154px}.flag.flag-vu{background-position:-64px -165px}.flag.flag-pe{background-position:-208px -110px}.flag.flag-bj{background-position:-128px -11px}.flag.flag-pm{background-position:-48px -121px}.flag.flag-co{background-position:-224px -22px}.flag.flag-ie{background-position:-80px -66px}.flag.flag-kw{background-position:-176px -77px}.flag.flag-ss{background-position:-16px -143px}.flag.flag-bw{background-position:0 -22px}.flag.flag-ge{background-position:-208px -44px}.flag.flag-xk{background-position:-128px -165px}.flag.flag-mg{background-position:-208px -88px}.flag.flag-catalonia{background-position:-64px -22px}.flag.flag-hm{background-position:-224px -55px}.flag.flag-gi{background-position:-16px -55px}.flag.flag-gg{background-position:-240px -44px}.flag.flag-ni{background-position:-64px -110px}.flag.flag-za{background-position:-176px -165px}.flag.flag-mu{background-position:-144px -99px}.flag.flag-ma{background-position:-144px -88px}.flag.flag-kh{background-position:-64px -77px}.flag.flag-py{background-position:-144px -121px}.flag.flag-sy{background-position:-80px -143px}.flag.flag-at{background-position:-176px 0}.flag.flag-et{background-position:-32px -44px}.flag.flag-tj{background-position:-208px -143px}.flag.flag-so{background-position:-224px -132px}.flag.flag-to{background-position:-32px -154px}.flag.flag-dj{background-position:-96px -33px}.flag.flag-gm{background-position:-48px -55px}.flag.flag-ki{background-position:-80px -77px}.flag.flag-ng{background-position:-48px -110px}.flag.flag-ae{background-position:-16px 0}.flag.flag-bt{background-position:-224px -11px}.flag.flag-scotland{background-position:-48px -132px}.flag.flag-gl{background-position:-32px -55px}.flag.flag-gd{background-position:-192px -44px}.flag.flag-nf{background-position:-32px -110px}.flag.flag-va{background-position:-224px -154px}.flag.flag-pk{background-position:-16px -121px}.flag.flag-ba{background-position:0 -11px}.flag.flag-sk{background-position:-160px -132px}.flag.flag-ee{background-position:-192px -33px}.flag.flag-ht{background-position:-16px -66px}.flag.flag-se{background-position:-80px -132px}.flag.flag-kg{background-position:-48px -77px}
<style>
</style>
</head>
<body>
<div class="thim-language"></div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment