var XPRSTranslator = {};
XPRSTranslator.userLang = null;
XPRSTranslator.XPRS_DICT = {
"help": {
"en": ""
},
"field style": {
"en": ""
},
"
divider
": {
"en": ""
},
"portfolio ": {
"en": ""
},
"live site:": {
"en": ""
},
"style": {
"en": ""
},
"layout": {
"en": ""
},
"fit": {
"en": ""
},
"body - ": {
"en": ""
},
"click to add": {
"en": ""
},
"desktop": {
"en": ""
},
"slideshow settings": {
"en": ""
},
"footer settings": {
"en": ""
},
"hidden": {
"en": ""
},
"save": {
"en": ""
},
"stripe settings": {
"en": ""
},
"video 101": {
"en": ""
},
"hover": {
"en": ""
},
"my sites": {
"en": ""
},
"icon
": {
"en": ""
},
"effects": {
"en": ""
},
"background": {
"en": ""
},
"features settings": {
"en": ""
},
"website menu": {
"en": ""
},
"arrange": {
"en": ""
},
"\n\t\t \t\t\tchoose a template \n\t\t \t\t\t": {
"en": ""
},
"settings": {
"en": ""
},
"edit": {
"en": ""
},
"f/x": {
"en": ""
},
"menu layout": {
"en": ""
},
"restaurants ": {
"en": ""
},
"one pager ": {
"en": ""
},
"title
": {
"en": ""
},
"done": {
"en": ""
},
"fixed": {
"en": ""
},
"side": {
"en": ""
},
"gallery type": {
"en": ""
},
"scroll effects": {
"en": ""
},
"contact support": {
"en": ""
},
"item settings": {
"en": ""
},
"edit draggable pic": {
"en": ""
},
"minified": {
"en": ""
},
"seo": {
"en": ""
},
"close": {
"en": ""
},
"forgot password?": {
"en": ""
},
"admin mode": {
"en": ""
},
"item hover": {
"en": ""
},
"stores ": {
"en": ""
},
"save a copy": {
"en": ""
},
"overlay": {
"en": ""
},
"items hover effects": {
"en": ""
},
"publish": {
"en": ""
},
"edit image": {
"en": ""
},
"tips": {
"en": ""
},
"add item": {
"en": ""
},
"gallery settings": {
"en": ""
},
"go home": {
"en": ""
},
"add slide": {
"en": ""
},
"social
": {
"en": ""
},
"free": {
"en": ""
},
"visible elements": {
"en": ""
},
"sign in": {
"en": ""
},
"enter f/x": {
"en": ""
},
"terms and conditions": {
"en": ""
},
"item enter": {
"en": ""
},
"\n\t\t\tmy account\n\t\t": {
"en": ""
},
"sell this product": {
"en": ""
},
"tablet": {
"en": ""
},
"body
": {
"en": ""
},
"4min sites ": {
"en": ""
},
"social": {
"en": ""
},
"pro settings": {
"en": ""
},
"login": {
"en": ""
},
"logo
": {
"en": ""
},
"scroll f/x": {
"en": ""
},
"page settings": {
"en": ""
},
"manage": {
"en": ""
},
"hover f/x": {
"en": ""
},
"add a new section": {
"en": ""
},
"edit title": {
"en": ""
},
"popular ": {
"en": ""
},
"view": {
"en": ""
},
"article settings": {
"en": ""
},
"add header": {
"en": ""
},
"add menu links": {
"en": ""
},
"guest": {
"en": ""
},
"top": {
"en": ""
},
"photography ": {
"en": ""
},
"update live site": {
"en": ""
},
"duplicate": {
"en": ""
},
"image - ": {
"en": ""
},
"draggable pic - ": {
"en": ""
},
"manage pages": {
"en": ""
},
"preview": {
"en": ""
},
"register to continue": {
"en": ""
},
"subtitle
": {
"en": ""
},
"current page:": {
"en": ""
},
"order creation could not be completed because expected total price does not match bluesnap calculated total.": {
"en": ""
},
"slideshow": {
"en": ""
},
"back": {
"en": ""
},
"replace domain": {
"en": ""
},
"hi": {
"en": ""
},
"join/sign in": {
"en": ""
},
"knowledge center": {
"en": ""
},
"apps ": {
"en": ""
},
"reset": {
"en": ""
},
"reseller ": {
"en": ""
},
"connect an existing domain": {
"en": ""
},
"landing pages ": {
"en": ""
},
"add to menu": {
"en": ""
},
"add a new page": {
"en": ""
},
"link - ": {
"en": ""
},
"mobile": {
"en": ""
},
"idle": {
"en": ""
},
"weddings & events ": {
"en": ""
},
"auto saved": {
"en": ""
},
"error": {
"en": ""
},
"hospitality ": {
"en": ""
},
"buttons style": {
"en": ""
},
"choose a template": {
"en": ""
},
"rename": {
"en": ""
},
"go to... ": {
"en": ""
},
"buttons effects": {
"en": ""
},
"subtitle - ": {
"en": ""
},
"pro": {
"en": ""
},
"scroll fx": {
"en": ""
},
"already a member?": {
"en": ""
},
"home": {
"en": ""
},
"border": {
"en": ""
},
"fashion ": {
"en": ""
},
"manage menu": {
"en": ""
},
"mazonite": {
"en": ""
},
"create a new account": {
"en": ""
},
"gilberto showcase ": {
"en": ""
},
"business ": {
"en": ""
},
"add link": {
"en": ""
},
"media center": {
"en": ""
},
"effect": {
"en": ""
},
"add more social links": {
"en": ""
},
"regular": {
"en": ""
},
"inline image - ": {
"en": ""
},
"color & effect": {
"en": ""
},
"title - ": {
"en": ""
},
"creative arts ": {
"en": ""
},
"buy a new domain": {
"en": ""
},
"update temp url": {
"en": ""
},
"click to edit": {
"en": ""
}
};
XPRSTranslator.HandlingMissingTranslation = false;
XPRSTranslator.getAvailableLang = function(){
return ["en","ru","fr","es","it","ja","iw","ar","pl","de","ko","pt","nl","id","bg","sv","tr","da","hu","th","vi","hr","sk","cs","el","no","lt","br","mn","ms"];
};
XPRSTranslator.initTranslator = function(){
if (XPRSTranslator.userLang == null){
XPRSTranslator.userLang = XPRSHelper.getXprsCookie("xprs_lang");
//XPRSTranslator.userLang = $("#user-pref").attr("data-lang").toLowerCase();
}
};
XPRSTranslator.translateDom = function(domElement){
if (XPRSTranslator.userLang == null){
XPRSTranslator.initTranslator();
}
if (!domElement.attr("data-lang") && (XPRSTranslator.userLang == "en" || XPRSTranslator.userLang == "EN" || typeof XPRSTranslator.userLang == "undefined") ){
}else{
var missingEntries = "";
if (domElement.attr("data-lang") != XPRSTranslator.userLang){
domElement.find(".t-t").each(function(){
var textEntry = $(this).html();
textEntry = textEntry.toLowerCase();
if (!$(this).attr("data-orig-text")){
$(this).attr("data-orig-text",textEntry)
}else{
textEntry = $(this).attr("data-orig-text");
}
var translatedText = XPRSTranslator.translate(textEntry);
if (translatedText == null){
missingEntries += textEntry + "|||";
}
if (translatedText == null || translatedText == ""){
translatedText = textEntry;
}
$(this).html(translatedText);
});
XPRSTranslator.handleMissingTranslation(missingEntries.substring(0,missingEntries.length - 3))
domElement.attr("data-lang",XPRSTranslator.userLang);
}
}
}
XPRSTranslator.translateText = function(textEntry){
var original = textEntry;
if (typeof textEntry != "undefined"){
textEntry = textEntry.toLowerCase();
if (XPRSTranslator.userLang == null){
XPRSTranslator.initTranslator();
}
var translatedText = XPRSTranslator.translate(textEntry);
if (translatedText == null){
XPRSTranslator.handleMissingTranslation(textEntry);
}
if (translatedText == null || translatedText == ""){
translatedText = original;
}else{
translatedText = $('').html(translatedText).text();
}
}else{
translatedText = original;
}
return translatedText;
}
XPRSTranslator.translate = function(textEntry){
var lang = XPRSTranslator.userLang;
if (textEntry in XPRSTranslator.XPRS_DICT){
if (lang in XPRSTranslator.XPRS_DICT[textEntry]){
return XPRSTranslator.XPRS_DICT[textEntry][lang];
}
}else{
XPRSTranslator.XPRS_DICT[textEntry] = {};
XPRSTranslator.XPRS_DICT[textEntry][lang] = "";
//No translation (temp mark)
return null;//textEntry + "-" + lang;
}
//No such language
return textEntry;
};
XPRSTranslator.switchToLanguage = function(newLang,callbackFunc){
console.log("switching to " + newLang)
XPRSTranslator.userLang = newLang;
XPRSHelper.setXprsCookie("xprs_lang",newLang);
XPRSHelper.GET("/get_translation",{"lang":newLang},function(data){
XPRSTranslator.XPRS_DICT = data;
if (typeof callbackFunc != "undefined"){
console.log("switched to " + newLang + " calling callback")
callbackFunc();
}
},"json");
XPRSHelper.POST("/set_user_lang", {"lang":newLang.toLowerCase()});
};
XPRSTranslator.generateTranslationBox = function(translationBox,switchLangCallback){
//var readableLangCode = {"JA":"JP","IW":"HE"};
XPRSTranslator.initTranslator();
var langList = translationBox.find("#lang-dropdown");
translationBox.unbind("click").bind("click",function(){
translationBox.find("#lang-dropdown").toggle();
});
var selectedLang = translationBox.find("#selected-lang");
var selectedLangVal = selectedLang.text().toUpperCase();
var availableLang = XPRSTranslator.getAvailableLang();
for (i in availableLang){
var langVal = availableLang[i].toUpperCase();
if (selectedLangVal != langVal){
var langOp = $("").addClass("langOp clickable part-of-dropdown").attr("data-lang",langVal).text(langVal);
langOp.unbind("click").bind("click",function(e){
e.stopPropagation();
$(this).text(selectedLang.text());
selectedLang.text($(this).attr("data-lang"));
$(this).attr("data-lang",$(this).text());
langList.hide();
XPRSTranslator.switchToLanguage(selectedLang.text().toLowerCase(),function(){
if (typeof switchLangCallback != "undefined"){
switchLangCallback();
}
});
if (typeof SpimeDualView != "undefined"){
SpimeDualView.postMessageTo('viewer-frame',{"action":"lang-change","lang":XPRSTranslator.userLang});
}
});
langList.append(langOp);
}
}
}
XPRSTranslator.handleMissingTranslation = function(textEntries){
if (typeof XPRSTranslator.userLang != "undefined" && XPRSTranslator.userLang != "en" && XPRSTranslator.userLang != "EN"){
if(textEntries != ""){
if (XPRSTranslator.HandlingMissingTranslation){
setTimeout(function(){
console.log("waiting with " + textEntries)
XPRSTranslator.handleMissingTranslation(textEntries)
},1000);
}else{
console.log("adding " + textEntries)
XPRSTranslator.HandlingMissingTranslation = true;
XPRSHelper.POST("/update_translation_entries", {"text_entries":textEntries,"lang":XPRSTranslator.userLang}, function(data){
XPRSTranslator.HandlingMissingTranslation = false;
},"json");
}
}
}
};