var currentWidget = ""; var reviewsio_modalOpen = false; function reviewsio_slideList(widget, direction) { const reviewList = document.getElementById(`R-ReviewsList--${widget}`); if (!widget || !direction || !reviewList) return; const firstCard = document.getElementById(`ReviewsList__item--first${widget}`) const cardWidth = firstCard ? firstCard.clientWidth : 0; if (direction === 'right') { if (reviewList.scrollLeft >= reviewList.scrollWidth - reviewList.clientWidth) { reviewList.style.scrollBehavior = "auto"; reviewList.scrollTo({ left: 0, top: 0, behavior: 'instant' }); reviewList.style.scrollBehavior = "smooth"; } reviewList.scrollTo({ left: reviewList.scrollLeft + cardWidth, top: 0, behavior: 'smooth' }); return; } if (direction === 'left') { if (reviewList.scrollLeft <= 0) { reviewList.style.scrollBehavior = "auto"; reviewList.scrollTo({ left: reviewList.scrollWidth, top: 0, behavior: 'instant' }); reviewList.style.scrollBehavior = "smooth"; } reviewList.scrollTo({ left: reviewList.scrollLeft - cardWidth, top: 0, behavior: 'smooth' }); return; } } var reviewsio_mobileScrolled; var lastClicked = 0; var currentPopup; document.documentElement.addEventListener("touchmove", function(e) { reviewsio_mobileScrolled = true; }) document.documentElement.addEventListener("touchstart", function(e) { reviewsio_mobileScrolled = false; }) document.documentElement.addEventListener("keypress", function(e) { if (!e) return; if (e.key == 'ArrowRight') { reviewsio_slideList(currentWidget, "right"); return; } if (e.key == 'ArrowLeft') { reviewsio_slideList(currentWidget, "left"); return; } if (e.key === 'Enter') { try{ compare = 4; while(true){ var position = e.composedPath().length - compare; position = e.composedPath()[position]; if(position.classList.contains('CarouselWidget-prefix')){ break; } compare = compare + 1; } var ifModel = e.composedPath().length - 6; ifModel = e.composedPath()[ifModel]; if(!ifModel.classList.contains("js-modal-container")){ tempcurrentWidget = e.composedPath().length - compare +1; tempcurrentWidget = e.composedPath()[tempcurrentWidget].getAttribute('id'); if(tempcurrentWidget != null){ currentWidget = tempcurrentWidget; } } }catch(e){ } if(currentWidget) { if(e.composedPath()[0].classList.contains('js-scroll-left-btn')){ reviewsio_slideList(currentWidget, "left"); } else if(e.composedPath()[0].classList.contains('js-scroll-right-btn')){ reviewsio_slideList(currentWidget, "right"); } else if(e.composedPath()[0].classList.contains('js-open-widgetModal') || e.composedPath()[0].classList.contains('js-model-close-btn')) { e.target.click(); } else if(e.composedPath()[0].hasAttribute('role') && e.composedPath()[0].getAttribute('role') == 'button') { e.target.click(); } } } }); document.documentElement.addEventListener("touchend", function(e) { let currentTime = new Date().getTime(); if (currentTime - lastClicked >= 100 || reviewsio_mobileScrolled) { return; } try{ let compare = 4; while(true){ let position = e.composedPath().length - compare; position = e.composedPath()[position]; if(position.classList.contains('CarouselWidget-prefix')){ break; } compare = compare + 1; } var popupElement = e.composedPath().length - compare -6; popupElement = e.composedPath()[popupElement]; try{ var attribute = popupElement.getAttribute('r-popup'); if(attribute != null){ var popup = document.getElementById(attribute); popup.classList.add('isActive'); popup.classList.remove('u-hidden--all'); popup.querySelector('.js-model-close-btn').focus(); reviewsio_trapFocus(popup); try{ var video = document.getElementById(currentPopup+'-video'); video.play(); }catch(f){} reviewsio_modalOpen = true; var remove = []; }else{ var remove = document.getElementsByClassName('js-modal-container'); } }catch(e){ var remove = document.getElementsByClassName('js-modal-container'); } var innerElement = e.composedPath().length - compare - 3; innerElement = e.composedPath()[innerElement]; try{ var ifModel = e.composedPath().length - 6; ifModel = e.composedPath()[ifModel]; if(!ifModel.classList.contains("js-modal-container")){ tempcurrentWidget = e.composedPath().length - compare +1; tempcurrentWidget = e.composedPath()[tempcurrentWidget].getAttribute('id'); if(tempcurrentWidget != null){ currentWidget = tempcurrentWidget; } } }catch(e){} try{ if((e.composedPath()[0].classList.contains('js-close-widgetModal'))||(e.composedPath()[0].classList.contains('js-model-close-btn'))){ for(var i in remove){ reviewsio_modalOpen = false; remove[i].classList.remove('isActive'); remove[i].classList.add('u-hidden--all'); if(currentPopup) { document.querySelector('.R-ReviewsList__item[r-popup='+currentPopup+']').focus(); } try{ var video = document.getElementById(currentPopup+'-video'); video.pause(); }catch(f){} } } }catch(e){} if(e.composedPath()[0].classList.contains('js-scroll-left-btn')){ reviewsio_slideList(currentWidget, "left"); } if(e.composedPath()[0].classList.contains('js-scroll-right-btn')){ reviewsio_slideList(currentWidget, "right"); } }catch(e){} lastClicked = currentTime; }); document.documentElement.addEventListener("click", function(e) { var t = new Date().getTime(); lastClicked = t; try{ compare = 4; while(true){ var position = e.composedPath().length - compare; position = e.composedPath()[position]; if(position.classList.contains('CarouselWidget-prefix')){ break; } compare = compare + 1; } var popupElement = e.composedPath().length - compare -6; popupElement = e.composedPath()[popupElement]; var attribute; try{ attribute = popupElement.getAttribute('r-popup'); if(attribute != null){ currentPopup = attribute; var popup = document.getElementById(attribute); popup.classList.add('isActive'); popup.classList.remove('u-hidden--all'); popup.querySelector('.js-model-close-btn').focus(); reviewsio_trapFocus(popup); reviewsio_modalOpen = true; try{ var video = document.getElementById(currentPopup+'-video'); video.play(); }catch(f){} var remove = []; }else{ var remove = document.getElementsByClassName('js-modal-container'); } }catch(e){ var remove = document.getElementsByClassName('js-modal-container'); } var innerElement = e.composedPath().length - compare - 3; innerElement = e.composedPath()[innerElement]; try{ var ifModel = e.composedPath().length - 6; ifModel = e.composedPath()[ifModel]; if(!ifModel.classList.contains("js-modal-container")){ tempcurrentWidget = e.composedPath().length - compare +1; tempcurrentWidget = e.composedPath()[tempcurrentWidget].getAttribute('id'); if(tempcurrentWidget != null){ currentWidget = tempcurrentWidget; } } }catch(e){} try{ if((e.composedPath()[0].classList.contains('js-close-widgetModal'))||(e.composedPath()[0].classList.contains('js-model-close-btn'))){ for(var i in remove){ reviewsio_modalOpen = false; remove[i].classList.remove('isActive'); remove[i].classList.add('u-hidden--all'); if(currentPopup) { document.querySelector('.R-ReviewsList__item[r-popup='+currentPopup+']').focus(); } try{ var video = document.getElementById(currentPopup+'-video'); video.pause(); }catch(f){} } } }catch(e){ } if(e.composedPath()[0].classList.contains('js-scroll-left-btn')){ reviewsio_slideList(currentWidget, "left"); } if(e.composedPath()[0].classList.contains('js-scroll-right-btn')){ reviewsio_slideList(currentWidget, "right"); } }catch(e){} } // } ); var hoverWidget = ""; function reviewsio_mouseStatus(widget){ hoverWidget = widget; } var scrollingWidgets = {}; function reviewsio_createScroll(widget, time){ if(scrollingWidgets[widget] == undefined){ scrollingWidgets[widget] = time; reviewsio_pageScroll(widget); }else{ scrollingWidgets[widget] = time; } } function reviewsio_pageScroll(widget) { if(scrollingWidgets[widget] == false){ var time = 1000; } else{ var time = scrollingWidgets[widget]; } setTimeout(function(){ if(hoverWidget != widget && reviewsio_modalOpen!=true && scrollingWidgets[widget]!=false){ reviewsio_slideList(widget, "right"); } reviewsio_pageScroll(widget); }, time); } try{ $('body').click(function(e) { temp=e.target; while(true){ try{ if(temp.getAttribute( "widget" ) != null &&temp.classList.contains("R-ReviewsList__controlButton")){ if(temp.classList.contains("R-ReviewsList__controlButton--left")){ reviewsio_slideList(temp.getAttribute( "widget" ), "left"); }else if(temp.classList.contains("R-ReviewsList__controlButton--right")){ reviewsio_slideList(temp.getAttribute( "widget" ), "right"); } break; } else if(temp.classList.contains("js-open-widgetModal")){ attribute = temp.getAttribute( "r-popup" ); if(attribute != null){ currentPopup = attribute; var popup = document.getElementById(attribute); popup.classList.add('isActive'); popup.classList.remove('u-hidden--all'); popup.querySelector('.js-model-close-btn').focus(); reviewsio_trapFocus(popup); reviewsio_modalOpen = true; try{ var video = document.getElementById(currentPopup+'-video'); video.play(); }catch(f){} var remove = []; }else{ var remove = document.getElementsByClassName('js-modal-container'); } break; } else if(temp.classList.contains("js-model-close-btn")||temp.classList.contains("js-close-widgetModal")){ $(".js-modal-container").each(function() { $(this).removeClass('isActive'); }); break; } else{ temp = temp.parentElement; } }catch(f){break;} } }); } catch(a){}; if(typeof carouselInlineWidget == 'undefined'){ carouselInlineWidget = function(elementId,opts){ var reviewsIoCarouselElement = document.getElementById(elementId); var head = document.getElementById('head'); var url = 'https://widget.reviews.io/carousel-inline-iframeless/widget' var queryString = 'elementId=' + elementId + '&version=1&'; //handle de-in opts.lang = opts.lang == 'de-informal' || opts.lang == 'de-in' ? 'de' : opts.lang; userVaribles = reviewsio_keyObject(opts, elementId); setTimeout(function(){ if(typeof html == 'undefined'){ } }, 500); var carouselInlineWidgetListener = function(event){ try { var data = JSON.parse(event.data); if(data.action != undefined){ switch(data.action){ case "resize": if(data.elementId == elementId){ // prevent conflicting widgets frame.height = data.height; } break; } } } catch(e){ } } if (window.addEventListener){ addEventListener("message", carouselInlineWidgetListener, false) } else { attachEvent("onmessage", carouselInlineWidgetListener) } } if (typeof carouselInlineWidgetCallback == 'function') { carouselInlineWidgetCallback(); } } var widgetId = ""; var reviewIndex; function reviewsio_keyObject(req, elementId){ var userVaribles = { api: 'https://api.reviews.io', element_id: elementId, store: 'ecommerce-demo-store', sku: '', carousel_type: 'side_header', styles_carousel: '', options:{ general:{ enable_richsnippets_company: true, enable_richsnippets_product: true, review_type: "store, product, third_party", min_reviews: 5, max_reviews: 20, address_format: "CITY, COUNTRY", enable_auto_scroll: true, }, header:{ enable_overall_stars: true, timeline_difference: 0, logo_url_link: false, enable_logo_url: true, enable_total_reviews: false, }, reviews: { enable_customer_name: true, enable_customer_location: true, enable_verified_badge: true, enable_recommends_badge: true, enable_photos: true, enable_videos: true, enable_review_date: true, disable_same_customer: false, min_review_percent: 3, third_party_source: false, hide_empty_reviews: true, //false is only with image enable_product_name: false, tags: "", branch: "", enable_branch_name: false, enable_avatars: false, }, popups: { enable_review_popups: true, enable_helpful_buttons: true, enable_helpful_count: true, enable_share_buttons: true, }, }, styles:{ }, translations: reviewsio_language(req.lang), } for(var i in req){ if(typeof req[i] != 'object'){ userVaribles[i] = req[i]; } else{ for(var j in req[i]){ if(typeof req[i][j] != 'object'){ userVaribles[i][j] = req[i][j]; } else{ for(var k in req[i][j]){ if(typeof req[i][j][k] != 'object'){ userVaribles[i][j][k] = req[i][j][k]; } } } } } } var rukstyles = '= userVaribles.options.general.min_reviews){ var darkButtons = ""; var reviewsLogo = "https://assets.reviews.io/img/all-global-assets/logo/reviewsio-logo.svg"; var htmls = '
'; htmls += reviewsio_renderHeader(userVaribles, ajaxData); //------------------------------------------------------------------------------------------------------------------------- htmls += '
'+ '
'+ '
'+ ''+ '
'+ '
'+ ''+ '
'+ '
'; htmls += reviewsio_renderContent(userVaribles,ajaxData); htmls += '
'; if(userVaribles.carousel_type == "topHeader"){ htmls+=''; } htmls+= '
'+ '
'; if(userVaribles.options.popups.enable_review_popups){ document.body.insertAdjacentHTML('beforeEnd', reviewsio_renderPopups(userVaribles, ajaxData)); } var RichType = "Organization"; if (userVaribles.review_type == 'product,'){ RichType = 'Product'; } if((userVaribles.sku != "")&&(userVaribles.options.general.enable_richsnippets_product)){ var RichSnippetApiPro = userVaribles.api+'/json-ld/product/richsnippet?sku='+userVaribles.sku+"&store="+userVaribles.store; var RichSnPro = new XMLHttpRequest(); RichSnPro.open('GET', RichSnippetApiPro); RichSnPro.onload = function() { if (RichSnPro.status == 200) { var RichSnippetsProduct = ''; document.body.insertAdjacentHTML('beforeEnd', RichSnippetsProduct); } }; RichSnPro.send(); } if(userVaribles.options.general.enable_richsnippets_company){ var RichSnippetApi = userVaribles.api+'/json-ld/company/snippet?store='+userVaribles.store; var RichSnCo = new XMLHttpRequest(); RichSnCo.open('GET', RichSnippetApi); RichSnCo.onload = function() { if (RichSnCo.status == 200) { var RichSnippets = ''; document.body.insertAdjacentHTML('beforeEnd', RichSnippets); } }; RichSnCo.send(); } htmls += '
'; }else{ htmls = ""; } var html = htmls; return htmls; } function reviewsio_containsCountry(addressString) { const normalisedAddress = addressString.toLowerCase(); const countryList = reviewsio_getCountryList(userVaribles.lang); return countryList.some((country) => normalisedAddress.includes(country.toLowerCase())); } function reviewsio_processAjax(userVaribles, ajaxData, dataType){ var obj = ajaxData; var temp = []; var replace = []; var objReview = obj.timeline; if (userVaribles?.options?.reviews?.disable_duplicate_reviews) { objReview = objReview.filter((review, index, self) => { return review._source.comments.length ? index === self.findIndex((compareReview) => ( compareReview._source.comments === review._source.comments && compareReview._source.author === review._source.author )) : true; } ); } for(var i = 0; i< objReview.length; i++){ try{ address = objReview[i]._source.address.split(", "); temp_address = userVaribles.options.general.address_format; if(address.length == 1){ if (userVaribles.options.general.address_format.includes("COUNTRY") && address[0] != '' && address[0] != 'Not Found' && reviewsio_containsCountry(address[0])) { temp_address = address[0]; } else { temp_address = ""; } }else{ for(var j = 0; j< address.length; j ++){ if(j == 0){ //city if(userVaribles.options.general.address_format.includes("CITY")){ temp_address = temp_address.replace("CITY", address[j]); } } else if(j == 1){ //country if(userVaribles.options.general.address_format.includes("COUNTRY")){ temp_address = temp_address.replace("COUNTRY", address[j]); } } } } }catch(e){temp_address = "";} var verified = ""; if (objReview[i]._source.hasOwnProperty('verified_by_shop') && objReview[i]._source.verified_by_shop !== null) { if (objReview[i]._source.verified_by_shop === 1) { verified = "Shop"; } } else if (objReview[i]._source.order_id || objReview[i]._source.reviewer_desc === "Verified Buyer" || objReview[i]._source.verified_by === 'author'){ verified = "Verified Buyer"; } var thirdParty = ""; if(objReview[i]._source.source != "Reviews"){ thirdParty = objReview[i]._source.source; } var activeImage = undefined; var activeVideo = undefined; try{ loop = 0; activeImage = []; while(loop < objReview[i]._source.images.length){ if( objReview[i]._source.images[loop].status == "active"){ activeImage.push(objReview[i]._source.images[loop]); } loop += 1; } }catch(e){} try{ if( objReview[i]._source.videos[0].status == "active"){ activeVideo = objReview[i]._source.videos; } }catch(e){} try{ objReview[i]._source.human_date = objReview[i]._source.human_date.replace("minute ago", userVaribles.translations.minute_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("minutes ago", userVaribles.translations.minutes_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("hour ago", userVaribles.translations.hour_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("hours ago", userVaribles.translations.hours_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("day ago", userVaribles.translations.day_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("days ago", userVaribles.translations.days_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("week ago", userVaribles.translations.week_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("weeks ago", userVaribles.translations.weeks_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("month ago", userVaribles.translations.month_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("months ago", userVaribles.translations.months_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("year ago", userVaribles.translations.year_ago); objReview[i]._source.human_date = objReview[i]._source.human_date.replace("years ago", userVaribles.translations.years_ago); if(userVaribles.lang == 'de'){ textString = objReview[i]._source.human_date.split(" "); if(textString[0] != '1'){ objReview[i]._source.human_date = textString[1]+" "+textString[0]+" "+textString[2]; } else{ objReview[i]._source.human_date = textString[1]+" "+textString[2]+" "+textString[3] } } else if(userVaribles.lang == 'fr'){ textString = objReview[i]._source.human_date.split(" "); objReview[i]._source.human_date = textString[1]+" "+textString[2]+" "+textString[3]+" "+textString[0]+" "+textString[4]; } }catch(e){} review = { product_name: objReview[i]._source.product_name, attribute_questions: obj.filters.attributes, attributes: objReview[i]._source.user_attributes, rating: objReview[i]._source.rating, images: activeImage,//objReview[i]._source.images, ratings: objReview[i]._source.ratings, title: objReview[i]._source.review_title, date: objReview[i]._source.human_date, date_created: objReview[i]._source.date_created, votes: objReview[i]._source.helpful, branch: "", //branch: 'Lescter office', comments: objReview[i]._source.comments, store_review_id: objReview[i]._id, third_party: thirdParty, would_recommend: objReview[i]._source.would_recommend_product, tags: objReview[i]._source.tags, videos: objReview[i]._source.videos, responses: objReview[i]._source.responses, reviewer: { first_name: objReview[i]._source.author, verified_buyer: verified,//objReview[i]._source.reviewer_desc, address: temp_address,//objReview[i]._source.address, //profile_piture: objReview.reviewer.profile_piture, //gravatar: objReview.reviewer.gravatar, }, }; try{ try{ review.branch = objReview[i]._source.store_branch.name; }catch(f){ review.branch = objReview[i]._source.store_branch; } // review.branch = objReview[i]._source.store_branch; }catch(e){} if(review.reviewer.first_name == undefined){ review.reviewer.first_name = ""; } if(review.product_name == undefined){ review.product_name = ""; } if(review.branch == null){ review.branch = ""; } if(userVaribles.options.reviews.third_party_source){ if(userVaribles.options.reviews.third_party_source == true){ thirdPartyTesting = review.third_party; }else{ var thirdPartyTesting = userVaribles.options.reviews.third_party_source; } }else{ var thirdPartyTesting = ""; } var hasTags = true; setTagsArray = userVaribles.options.reviews.tags.split(", "); if(userVaribles.options.reviews.hide_empty_reviews){ var hideEmptyReview = false; if(review.comments == ""){ hideEmptyReview= true; } } else{ var hideEmptyReview = false; } var duplicateReview = false; if(userVaribles.options.reviews.disable_same_customer){ for(var f in temp){ if(f >= 0){ var tempReviewerKey = temp[f].reviewer.first_name + temp[f].reviewer.address; var checkReviewerKey = review.reviewer.first_name + review.reviewer.address; if(tempReviewerKey == checkReviewerKey){ duplicateReview = true; } } } } var skipReview = false; if(review != undefined) { if(thirdPartyTesting != review.third_party) { skipReview = true; } if(review.third_party == "Trustpilot") { skipReview = true; } if(hideEmptyReview == true) { skipReview = true; } if(duplicateReview == true) { skipReview = true; } if(!hasTags) { skipReview = true; } } else { skipReview = true; } if(!skipReview) { temp.push(review); } if(temp.length == userVaribles.options.general.max_reviews){ break; } } if(totalNumReviews == 0){ totalNumReviews = obj.stats.review_count; } totalNumReviews = totalNumReviews + userVaribles.options.header.timeline_difference; if (userVaribles.options.general.review_type == 'company' || userVaribles.options.header.enable_total_reviews == true){ stats = { total_reviews: obj.storeStats.review_count, average_rating: obj.storeStats.average_rating, }; } else{ stats = { total_reviews: totalNumReviews, average_rating: obj.stats.average_rating, }; } obj.reviews = temp; obj.stats = stats; return obj; } function reviewsio_renderHeader(userVaribles, ajaxData){ var html = ''; var reviewsLogo = "https://assets.reviews.io/img/all-global-assets/logo/reviewsio-logo.svg" var reviewCount = ajaxData.stats.total_reviews; var reviewRating = parseFloat(ajaxData.stats.average_rating).toFixed(2); if(typeof userVaribles.options.header.rating_decimal_places !== 'undefined' && !isNaN(userVaribles.options.header.rating_decimal_places)) { var roundTo = Math.min(Math.max(userVaribles.options.header.rating_decimal_places ?? 1, 1), 2); reviewRating = parseFloat(reviewRating).toFixed(roundTo); } var reviewStars =""; if(userVaribles.options.header.enable_overall_stars){ reviewStars = reviewsio_renderRating(parseFloat(ajaxData.stats.average_rating),userVaribles); } if(reviewRating > 4) { var reviewWord = userVaribles.translations.excellent; } else if(reviewRating > 3) { var reviewWord= userVaribles.translations.good; } else { var reviewWord = userVaribles.translations.normal; } html += '
'+ '
'+ '
'+ '
'+ '
'+ reviewWord+ '
'+ '
'; if(userVaribles.carousel_type != "topHeader"){ html += (userVaribles.options.header.enable_overall_stars?'
'+ ''+ '
':"")+ '
'+ '
'+ ''+reviewsio_formatReviewStat(reviewRating, userVaribles.lang)+' '+userVaribles.translations.rating+ '
'+ '
'+ '
'+ '
'+ ''+reviewsio_formatReviewStat(reviewCount, userVaribles.lang)+' '+userVaribles.translations.reviews+ '
'+ '
'+ '
'; html+=''+ ''+ '
'; } else{ html += (userVaribles.options.header.enable_overall_stars?'
'+ ''+ '
':"")+ '
'+ '
'+ '
'+ ' '+" "+reviewsio_formatReviewStat(reviewRating, userVaribles.lang)+' '+userVaribles.translations.based_on+' '+ '
'+ '
'+ '
'+ '
'+ ''+reviewsio_formatReviewStat(reviewCount, userVaribles.lang)+' '+userVaribles.translations.reviews+ '
'+ '
'+ '
'; } html+= '
'+ '
'; return html; } var reviewIndex; function reviewsio_renderContent(userVaribles, ajaxData){ var html = ''; reviewIndex = 0; for(var review in ajaxData.reviews){ if(!isNaN(review)){ html += reviewsio_renderReview(ajaxData.reviews[review],userVaribles); } } return html; } function reviewsio_renderReview(review, userVaribles ){ var numberedDatesSetting = userVaribles.NUMERED_DATES; if(numberedDatesSetting == 'true') { var d = new Date(review.date_created); function pad(s) { return (s < 10) ? '0' + s : s; }; var formattedDate = [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('.'); } if(userVaribles.THIRD_PARTY){ var iconName = review.third_party.name.replace(" ", "-").toLowerCase();; var iconUrl = 'https://assets.reviews.io/img/all-global-assets/platform-logos/icon-'+iconName+'--black.svg'; if(userVaribles.DARKMODE == 'true'){ iconUrl = 'https://assets.reviews.io/img/all-global-assets/platform-logos/icon-'+iconName+'--white.svg'; } } else{ if(reviewIndex == 0){ var html= '
'; } else{ var html= '
'; } html += `
${(userVaribles.options.reviews.enable_customer_name || '') && `
${(review.reviewer || '') && `
${(review.reviewer.first_name && review.reviewer.first_name.toLowerCase().trim() !== 'anonymous') ? reviewsio_unicodeToChar(review.reviewer.first_name.trim()) : userVaribles.translations.anonymous}${((review.reviewer.last_name || '') && ` ${reviewsio_unicodeToChar(review.reviewer.last_name.trim())}`)}
`}
`}
`; try{ if (review.reviewer.verified_buyer === 'Shop'){ html += '
' + '
' + '' + '' + '
' + '
'; } else if (review.tags.find(t => t.tag === 'Subscriber') && userVaribles.options.reviews.enable_subscriber_badge){ html += '
'+ ''+ '
'+ '
'+ userVaribles.translations.verified_subscriber+ '
'+ '
'+ '
'; } else if ((review.third_party === 'Amazon') && (review.reviewer.verified_buyer === 'Verified Buyer')) { html += '
'+ ''+ '
'+ '
'+ userVaribles.translations.amazon_customer+ '
'+ '
'+ '
'; } else if ((review.reviewer.verified_buyer == "Verified Buyer")&&(userVaribles.options.reviews.enable_verified_badge)){ html += '
'+ ''+ '
'+ '
'+ userVaribles.translations.verified_customer+ '
'+ '
'+ '
'; } }catch(error){} if(userVaribles.styles_carousel == "CarouselWidget--topHeader--titles") { html += '
'+ '
'; try{ html+=review.title; }catch(e){} html+='
'+ '
'+ '
'; } else { html += '
'+ (userVaribles.options.reviews.enable_product_name?'
'+review.product_name+'
':"")+ '
'; try{ html+=reviewsio_escapeHtmlEntities(review.comments); }catch(e){} html+='
'+ (review.would_recommend && userVaribles.options.reviews.enable_recommends_badge ? '
'+ ''+ '
'+ '
'+ userVaribles.translations.would_recommend+ '
'+ '
'+ '
':"")+ '
'+ '
'; } html += '
'+ '
'; try { if (review.videos[0] && review.videos[0].status == 'active' && userVaribles.options.reviews.enable_videos){ html += `
${userVaribles.translations.review_image}
`; } else if (review.images[0] && userVaribles.options.reviews.enable_photos){ html += `
${userVaribles.translations.review_image}
`; } }catch(e){} html += '
'+ '
'; if(userVaribles.options.reviews.enable_branch_name){ html+=''+review.branch+''; } if(review.third_party != ""){ html+=' '+userVaribles.translations.source+': '+review.third_party+''; } html += '
'; if (userVaribles.options.reviews.enable_customer_location) { try{ if(review.reviewer.address !=""){ var dateFromPost = review.reviewer.address; html += dateFromPost; if((userVaribles.options.reviews.enable_review_date)){ html += ', '; } } }catch(e){}; } if (userVaribles.options.reviews.enable_review_date) { try{ if(review.image){ var dateFromPost = review.human_readable_date; }else{ var dateFromPost = review.date; } html += dateFromPost; }catch(e){}; } html +='
'; } html += '
'+ '
'+ '
'+ '
'; reviewIndex ++; return html; } function reviewsio_renderRating(rating, userVaribles){ var html = ''; for(var i=1;i<=5;i++){ if(i <= rating){ html += ''; } else if(i - 0.25 <= rating) { html += ''; } else if(i - 0.5 <= rating) { html += ''; } else if(i - 0.75 <= rating) { html += ''; } else { html += ''; } } return html; } function reviewsio_renderPopups(userVaribles, ajaxData){ var html = '
'; for(var review in ajaxData.reviews){ if(!isNaN(review)){ try{ if((ajaxData.reviews[review].images[0] && userVaribles.options.reviews.enable_photos) || (ajaxData.reviews[review].videos.length >= 1) && userVaribles.options.reviews.enable_videos){ // try{ html += '
' + reviewsio_generateImagePopup(ajaxData.reviews[review],userVaribles) + '
'; // }catch(f){} } else{ // try{ html += '
' + reviewsio_generatePopup(ajaxData.reviews[review],userVaribles) + '
'; // }catch(f){} } }catch(e){ // try{ html += '
' + reviewsio_generatePopup(ajaxData.reviews[review],userVaribles) + '
'; // }catch(f){} } } } html +='
'; return html; } function reviewsio_generateImagePopup( review, userVaribles){ var html = ""+ '
'+ '
'+ ''+ '
'; return html; } function reviewsio_generatePopup(review,userVaribles){ var html = ""+ '
'+ '
'+ ''+ '
'; return html; } window.onload = function () { setTimeout(function(){ if ('ResizeObserver' in self) { var ro = new ResizeObserver(function(entries) { var defaultBreakpoints = {'R-XSM': 380, 'R-SM': 480, 'R-MD': 640, 'R-LG': 767, 'R-XLG': 992, 'R-XXLG': 1140, 'R-XXXLG': 1440,'R-XXXXLG': 1919}; entries.forEach(function(entry) { var breakpoints = entry.target.dataset.breakpoints ? JSON.parse(entry.target.dataset.breakpoints) : defaultBreakpoints; Object.keys(breakpoints).forEach(function(breakpoint) { var minWidth = breakpoints[breakpoint]; if (entry.contentRect.width <= minWidth) { if(breakpoint != 0){ entry.target.classList.remove(breakpoints[breakpoint-1]) } entry.target.classList.add(breakpoint) } else { entry.target.classList.remove(breakpoint); } }); }); }); var elements = document.querySelectorAll('[r-data-observe-resizes]'); for (var element, i = 0; element = elements[i]; i++) { ro.observe(element); } } }, 301); } function reviewsio_resizer(){ if ('ResizeObserver' in self) { var ro = new ResizeObserver(function(entries) { var defaultBreakpoints = {'R-XSM': 380, 'R-SM': 480, 'R-MD': 640, 'R-LG': 767, 'R-XLG': 992, 'R-XXLG': 1140, 'R-XXXLG': 1440,'R-XXXXLG': 1919}; entries.forEach(function(entry) { var breakpoints = entry.target.dataset.breakpoints ? JSON.parse(entry.target.dataset.breakpoints) : defaultBreakpoints; Object.keys(breakpoints).forEach(function(breakpoint) { var minWidth = breakpoints[breakpoint]; if (entry.contentRect.width <= minWidth) { if(breakpoint != 0){ entry.target.classList.remove(breakpoints[breakpoint-1]) } entry.target.classList.add(breakpoint) } else { entry.target.classList.remove(breakpoint); } }); }); }); var elements = document.querySelectorAll('[r-data-observe-resizes]'); for (var element, i = 0; element = elements[i]; i++) { ro.observe(element); } } } function reviewsio_shareLink(store, type, id) { id = id.split('-'); var link = ''; switch (id[0]) { case 'product_review': if(type == 'twitter'){ link = 'https://twitter.com/intent/tweet?url=https://media.reviews.co.uk/product-snippet/' + id[1]; } else if(type =='facebook') { link = 'https://www.facebook.com/dialog/share?app_id=2171894026402210&display=popup&href=https://media.reviews.co.uk/product-snippet/' + id[1]; } else if (type == 'email') { return 'mailto:?subject=Check out this review&body=https://media.reviews.co.uk/product-snippet/' + id[1]; } break; case 'store_review': if(type == 'twitter'){ link = 'https://twitter.com/intent/tweet?url=https://www.reviews.io/company-review/store/'+ store +'/' + id[1]; } else if(type =='facebook') { link = 'https://www.facebook.com/dialog/share?app_id=2171894026402210&display=popup&href=https://www.reviews.io/company-review/store/'+ store +'/' + id[1]; } else if (type == 'email') { return 'mailto:?subject=Check out this review&body=https://www.reviews.io/company-review/store/'+ store +'/' + id[1]; } break; } if(link) { window.open(link,'targetWindow','toolbar=no,location=0,status=no,menubar=no,scrollbars=yes,resizable=yes,width=640,height=480'); } } function reviewsio_generatePopupReplyContent(responses){ if (typeof responses === 'undefined' || responses.length < 1) { return ''; } const replyHTML = []; responses.forEach((res)=>{ if (res.comments && !res.private){ let responseItem = ''; responseItem += '
Reply:
'; responseItem += '
' + res.comments + '
'; replyHTML.push(responseItem); } }); if (replyHTML.length > 0){ return replyHTML.join(''); } } function elementOrAncestorHasClass(element, className) { if (!element || element.length === 0) { return false; } var parent = element; do { if (parent === document) { break; } if (parent.className.indexOf(className) >= 0) { return true; } } while (parent = parent.parentNode); return false; } function reviewsio_hasVoted(id) { if(localStorage.getItem(id+'/helpful')) { return localStorage.getItem(id+'/helpful'); } else { return false; } } function reviewsio_vote(store, id, vote, existingVoteCount,string){ var idParts = id.split('-'); if (!localStorage.getItem(id+'/helpful') && vote){ localStorage.setItem(id+'/helpful', 'up'); var elm = document.getElementById('vote_notice-'+id); var optsElm = document.getElementById('vote_options-'+id); elm.innerHTML = reviewsio_getVotedHtml('up',string); optsElm.style.display = 'none'; switch (idParts[0]) { case 'store_review': var url = userVaribles.api + '/merchant/vote?store='+ store +'&review_id='+ idParts[1]; break; case 'product_review': var url = userVaribles.api + '/product/vote?store='+ store +'&product_review_id='+ idParts[1]; break; } var xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.onload = function() { if (xhr.status === 200) { ajaxData = JSON.parse(xhr.responseText); if(ajaxData.success == true) { if(existingVoteCount > 0) { var countElm = document.getElementById('vote_count-'+id); countElm.innerHTML = ajaxData.count; } else { var countElm = document.getElementById('vote_up_container-'+id); countElm.innerHTML = reviewsio_getVoteCountHtml(id, ajaxData.count); } } } else { } }; xhr.send(); } else if(!localStorage.getItem(id+'/helpful') && !vote) { localStorage.setItem(id+'/helpful', 'down'); var elm = document.getElementById('vote_notice-'+id); var optsElm = document.getElementById('vote_options-'+id); elm.innerHTML = reviewsio_getVotedHtml('down',string); optsElm.style.display = 'none'; } } function reviewsio_getVoteCountHtml(storeReviewId, votes) { var html = '
'+ '
'+ ''+ '
'+ ''+ ''+votes+" "+ (votes > 1 ? userVaribles.translations.helpful_multiple : userVaribles.translations.helpful_single) + ' '+ '
'; return html; } function reviewsio_decodeJsonStringArray(a) { if(a.indexOf('["') !== -1) { try { var attributeAnswer = JSON.parse(a); return attributeAnswer.join(', '); } catch (e) { return a; } } else { return a; } } function reviewsio_getVotedHtml(vote,string) { var html = ''; if(vote == 'up' || vote == true) { var html = '
' + '
' + '' + '
' + (string ? string : userVaribles.translations.up_voted) + '
' + '
'+ '
'; } else if(vote == 'down') { var html = '
' + '
' + '' + '
' + (string ? string : userVaribles.translations.down_voted) + '
' + '
'+ '
'; } return html; } function reviewsio_renderAllCenteredSelects(attributes) { var html = ''; for (var i = 0; i < attributes.length; i++) { if(attributes[i].attribute && attributes[i].attribute.type && attributes[i].attribute.type == 'centered-range') { html += '
' + '
' + (attributes[i].attribute.public_label.length > 0 ? attributes[i].attribute.public_label : attributes[i].attribute.question) + '
' + '
' + '
' + '
'+ '
'+ '
'; var sliderLabels = reviewsio_getSliderLabels(attributes[i].attribute.data); for (var sliderIndex = 0; sliderIndex < sliderLabels.length; sliderIndex++) { if(sliderLabels[sliderIndex] == null) { continue; } html += '
' + '
' + (sliderLabels[sliderIndex]) + '
' + '
'; } html += '
'+ '
'; } } return html; } function reviewio_getRatingPercentile(rating) { rating = (parseInt(rating) / 5) * 5; return Math.round((100/4)*rating) - 25; } function reviewsio_getSliderLabels(labels) { try { var parsedlabels = JSON.parse(labels); return parsedlabels; } catch (e) { return labels; } } function reviewsio_unicodeToChar(text) { return text.replace(/\\u[\dA-F]{4}/gi, function (match) { return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16)); }); } function reviewsio_escapeHtmlEntities(review_comments){ if (!review_comments) return review_comments; return review_comments.replace(//g, ''); } function reviewsio_getCountryList(language) { var country_list = reviewsio_language(language).hasOwnProperty('country_list') ? reviewsio_language(language).country_list : reviewsio_language('en').country_list; return country_list; } function reviewsio_language(lan){ var translations; switch(lan){ case 'fr': translations = { rating: "moyenne", stars: "étoiles", share: "Partager", read_more: "Lire plus de commentaires sur REVIEWS.io", close: "Proche", share_facebook: "Partager sur Facebook", share_twitter: "Partager sur Twitter", share_email: "Partager par e-mail", reviews: "commentaires", excellent: "Excellent", good: "Bien", normal: "Ordinaire", anonymous: "Anonyme", verified_customer: "Client Vérifié", amazon_customer: "Client Amazon", based_on: "basé sur", would_recommend: "Je recommande ce produit", helpful_multiple: "personnes ont trouvé cet avis utile.", helpful_single: "personne a trouvé ce commentaire utile.", up_voted: "Vous avez noté cet avis comme utile.", down_voted: 'Vous avez rejeté cet avis.', was_helpful:'Cet avis vous a-t-il été utile?', yes:'Oui', no:'Non', minute_ago:'Il y a minute', minutes_ago:'Il y a minutes', hour_ago:'Il ya a heure', hours_ago:'Il y a heures', day_ago:'Il y a jour', days_ago:'Il y a jours', week_ago:'Il y a semaine', weeks_ago:'Il y a semaines', month_ago:'Il y a mois', months_ago:'Il y a mois', year_ago: 'il y a an', years_ago:'il y a ans', source: 'La source', review_image: 'Image de la revue', }; break; case 'de': translations = { rating: "Rating", stars: "Sterne", reviews: "Bewertungen", share: "Teilen", read_more: "Lesen Sie weitere Bewertungen auf REVIEWS.io", close: "Schließen", share_facebook: "Auf Facebook teilen", share_twitter: "Auf Twitter teilen", share_email: "Per E-Mail teilen", excellent: "Hervorragend", good: "Gut", normal: "Akzeptabel", anonymous: "Anonym", verified_customer: "Verifizierter Kunde", amazon_customer: "Amazon Kunde", based_on: "basierend auf", would_recommend: "Ich empfehle dieses Produkt", helpful_multiple: "Personen fanden diese Bewertung hilfreich.", helpful_single: "Person fand diese Bewertung hilfreich.", up_voted: "Sie haben diese Bewertung als hilfreich markiert.", down_voted: 'Sie haben diese Bewertung als nicht hilfreich markiert.', was_helpful: 'War diese Bewertung hilfreich?', yes:'Ja', no:'Nein', minute_ago:'vor einer Minute', minutes_ago:'vor Minuten', hour_ago:'vor einer Stunde', hours_ago:'vor Stunden', day_ago:'vor einem Tag', days_ago:'vor Tagen', week_ago:'vor einer Woche', weeks_ago:'vor Wochen', month_ago:'vor einem Monat', months_ago:'vor Monaten', year_ago: 'vor einem Jahr', years_ago:'vor Jahren', source: 'Quelle', review_image: 'Bild der Bewertung', country_list: [ "Afghanistan", "Albanien", "Algerien", "Andorra", "Angola", "Antigua und Barbuda", "Argentinien", "Armenien", "Australien", "Österreich", "Aserbaidschan", "Bahamas", "Bahrain", "Bangladesch", "Barbados", "Weißrussland", "Belgien", "Belize", "Benin", "Bhutan", "Bolivien", "Bosnien und Herzegowina", "Botswana", "Brasilien", "Brunei", "Bulgarien", "Burkina Faso", "Burundi", "Kap Verde", "Kambodscha", "Kamerun", "Kanada", "Zentralafrikanische Republik", "Tschad", "Chile", "China", "Kolumbien", "Komoren", "Kongo", "Costa Rica", "Kroatien", "Kuba", "Zypern", "Tschechien", "Demokratische Republik Kongo", "Dänemark", "Dschibuti", "Dominica", "Dominikanische Republik", "Ecuador", "Ägypten", "El Salvador", "Äquatorialguinea", "Eritrea", "Estland", "Eswatini (ehemals Swasiland)", "Äthiopien", "Fidschi", "Finnland", "Frankreich", "Gabun", "Gambia", "Georgien", "Deutschland", "Ghana", "Griechenland", "Grenada", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heiliger Stuhl", "Honduras", "Ungarn", "Island", "Indien", "Indonesien", "Iran", "Irak", "Irland", "Israel", "Italien", "Jamaika", "Japan", "Jordanien", "Kasachstan", "Kenia", "Kiribati", "Kuwait", "Kirgisistan", "Laos", "Lettland", "Libanon", "Lesotho", "Liberia", "Libyen", "Liechtenstein", "Litauen", "Luxemburg", "Madagaskar", "Malawi", "Malaysia", "Maldiven", "Mali", "Malta", "Marshallinseln", "Mauretanien", "Mauritius", "Mexiko", "Mikronesien", "Moldawien", "Monaco", "Mongolei", "Montenegro", "Marokko", "Mosambik", "Myanmar", "Namibia", "Nauru", "Nepal", "Niederlande", "Neuseeland", "Nicaragua", "Niger", "Nigeria", "Nordkorea", "Mazedonien", "Norwegen", "Oman", "Pakistan", "Palau", "Staat Palästina", "Panama", "Papua-Neuguinea", "Paraguay", "Peru", "Philippinen", "Polen", "Portugal", "Katar", "Rumänien", "Russland", "Ruanda", "St. Kitts und Nevis", "St. Lucia", "St. Vincent", "Samoa", "San Marino", "São Tomé und Príncipe", "Saudi-Arabien", "Senegal", "Serbien", "Seychellen", "Sierra Leone", "Singapur", "Slowakei", "Slowenien", "Salomonen", "Somalia", "Südafrika", "Südkorea", "Südsudan", "Spanien", "Sri Lanka", "Sudan", "Suriname", "Schweden", "Schweiz", "Syrien", "Tadschikistan", "Tansania", "Thailand", "Timor-Leste", "Togo", "Tonga", "Trinidad und Tobago", "Tunesien", "Türkei", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "Vereinigte Arabische Emirate", "Vereinigtes Königreich", "Vereinigte Staaten", "Uruguay", "Usbekistan", "Vanuatu", "Vatikanstadt", "Venezuela", "Vietnam", "Jemen", "Sambia", "Simbabwe" ] }; break; case 'no': translations = { rating: "Anmeldelse", reviews: "Vurderinger", excellent: "Glimrende", good: "Bra", normal: "Ok", anonymous: "Anonym", verified_customer: "Verifisert kunde", amazon_customer: "Amazon kunde", based_on: "basert på", would_recommend: "Jeg anbefaler dette produktet", helpful_multiple: "personer synes denne vurderingen var nyttig.", helpful_single: "person synes denne vurderingen var nyttig.", up_voted: "Du har markert anmeldelsen som nyttig.", down_voted: 'Du har markert anmeldelsen som unyttig.', was_helpful: 'Var denne anmeldelsen nyttig?', yes:'Ja', no:'Nei', minute_ago:'minutt siden', minutes_ago:'minutter siden', hour_ago:'time siden', hours_ago:'timer siden', day_ago:'dag siden', days_ago:'dager siden', week_ago:'uke siden', weeks_ago:'uker siden', month_ago:'måned siden', months_ago:'måneder siden', review_image: 'Bilde av anmeldelsen', }; break; case 'es': translations = { rating: 'calificación', reviews: 'reseñas', share: "Cuota", read_more: "Lea más reseñas en REVIEWS.io", close: "Cerrar", share_facebook: "Compartir en Facebook", share_twitter: "Compartir en Twitter", share_email: "Compartir via correo electrónico", stars: "estrellas", excellent: 'Excelente', good: 'Bien', normal: 'Normal', anonymous: 'Anónimo', verified_customer: 'Cliente Verificado', amazon_customer: 'Cliente de Amazon', based_on: 'basado en', would_recommend: 'recomendaría', helpful_multiple: 'útil múltiple', helpful_single: 'útil sólo', up_voted: 'votado', down_voted: 'votado bajo', was_helpful: 'fue útil', yes: 'si', no: 'no', minute_ago: 'hace un minuto', minutes_ago: 'hace minutos', hour_ago: 'hace una hora', hours_ago: 'horas atras', day_ago: 'hace un dia', days_ago: 'hace días', week_ago: 'hace una semana', weeks_ago: 'hace semanas', month_ago: 'hace un mes', months_ago: 'Hace meses', year_ago: 'Year ago', years_ago:'Years ago', source: 'origen', review_image: 'Imagen de la reseña', }; break; case "it": translations = { rating: "Valutazioni", stars: "stelle", share: "Condividere", read_more: "Leggi altre recensioni su REVIEWS.io", close: "Chiudere", share_facebook: "Condividi su Facebook", share_twitter: " Condividi su Twitter", share_email: "Condividi via e-mail", reviews: "Recensioni", excellent: "Eccezionale", good: "Bene", normal: "Ordinario", anonymous: "Anonimo", verified_customer: "Cliente verificato", amazon_customer: "Cliente Amazon", based_on: "basato su", would_recommend: "Consiglierei questo prodotto", helpful_multiple: "persone hanno trovato utile questa recensione.", helpful_single: "persone hanno trovato utile questa recensione.", up_voted: "Hai valutato questa recensione come utile.", down_voted: "Hai valutato questa recensione come inutile.", was_helpful: "Questa recensione è stata utile per te?", yes: "Sì", no: "No", minute_ago: "minuto fa", minutes_ago: "minuti fa", hour_ago: "ora fa", hours_ago: "ore fa", day_ago: "giorno fa", days_ago: "giorni fa", week_ago: "settimana fa", weeks_ago: "settimane fa", month_ago: "mesa fa", months_ago: "mesi fa", year_ago: "ano fa", years_ago: "ani fa", source: "Fonte", review_image: "Immagine della recensione", }; break; case "nl": translations = { rating: "Gemiddeld", reviews: "Recensies", share: "Delen", read_more: "Lees meer recensies op REVIEWS.io", close: "Sluiten", share_facebook: "Delen op Facebook", share_twitter: "Delen op Twitter", share_email: "Delen via e-mail", stars: "sterren", excellent: "Uitstekend", good: "Goed", normal: "Normaal", anonymous: "Anoniem", verified_customer: "Geverifieerde klant", amazon_customer: "Amazon klant", based_on: "Gebaseerd op", would_recommend: "Zou dit product aanbevelen", helpful_multiple: "mensen hebben deze recensie gevonden nuttig.", helpful_single: "mensen hebben deze recensie gevonden nuttig.", up_voted: "Je hebt deze recensie als nuttig gegeven.", down_voted: "Je hebt deze recensie als niet nuttig gegeven.", was_helpful: "Was deze recensie nuttig?", yes: "Ja", no: "Nee", minute_ago: "minuut geleden", minutes_ago: "minuten geleden", hour_ago: "uur geleden", hours_ago: "uren geleden", day_ago: "dag geleden", days_ago: "dagen geleden", week_ago: "week geleden", weeks_ago: "weken geleden", month_ago: "maand geleden", months_ago: "maanden geleden", year_ago: "jaar geleden", years_ago: "jaren geleden", source: "Bron", review_image: "Afbeelding van de recensie", }; break; case "sv": translations = { rating: "Betyg", reviews: "Recensioner", share: "Dela", read_more: "Läs fler recensioner på REVIEWS.io", close: "Stäng", share_facebook: "Dela på Facebook", share_twitter: "Dela på Twitter", share_email: "Dela via e-mail", stars: "stjärnor", excellent: "Utmärkt", good: "Bra", normal: "Normal", anonymous: "Anonym", verified_customer: "Verifierad kund", amazon_customer: "Amazon kund", verified_subscriber: "Verifierad prenumerant", based_on: "Baserat på", would_recommend: "Jag skulle rekommendera detta produkt", helpful_multiple: "personer har hittat denna recension användbar.", helpful_single: "personer har hittat denna recension användbar.", up_voted: "Du har röstat på denna recension som användbar.", down_voted: "Du har röstat på denna recension som inte användbar.", was_helpful: "Var denna recension användbar?", yes: "Ja", no: "Nej", minute_ago: "minut sedan", minutes_ago: "minuter sedan", hour_ago: "timme sedan", hours_ago: "timmar sedan", day_ago: "dag sedan", days_ago: "dagar sedan", week_ago: "vecka sedan", weeks_ago: "veckor sedan", month_ago: "månad sedan", months_ago: "månader sedan", year_ago: "år sedan", years_ago: "år sedan", source: "Källa", review_image: "Bild av recensionen", }; break; case "pl": translations = { rating: "Średnia Ocena", reviews: "Recenzje", share: "Udostępnij", close: "Zamknij", read_more: "Przeczytaj więcej recenzji na REVIEWS.io", share_facebook: "Udostępnij na Facebooku", share_twitter: "Udostępnij na Twitterze", share_email: "Udostępnij przez Email", stars: "Gwiazdki", excellent: "Doskonały", good: "Dobry", normal: "Przeciętny", anonymous: "Anonimowy", verified_customer: "Zweryfikowany klient", amazon_customer: "Klient Amazon", verified_subscriber: "Zweryfikowany subskrybent", based_on: "oparte na", would_recommend: "Polecam ten produkt", helpful_multiple: "osób uznało tę recenzję za pomocną.", helpful_single: "osoba uznała tę recenzję za pomocną.", up_voted: 'Oceniłeś tę recenzję jako przydatną.', down_voted: 'Oceniłeś tę recenzję jako nieprzydatną.', was_helpful: 'Czy ta recenzja była pomocna?', yes: 'Tak', no: 'Nie', minute_ago: 'minutę temu', minutes_ago: 'minuty temu', hour_ago: 'godzinę temu', hours_ago: 'godzin temu', day_ago: 'dzień temu', days_ago: 'dni temu', week_ago: 'tydzień temu', weeks_ago: 'tygodni temu', month_ago: 'miesiąc temu', months_ago: 'miesięcy temu', year_ago: 'rok temu', years_ago: 'lat temu', source: 'Źródło', review_image: 'Obraz recenzji', }; break; case "pt": translations = { rating: "média", reviews: "avaliações", share: "Compartilhar", close: "Fechar", read_more: "Leia mais avaliações em REVIEWS.io", share_facebook: "Compartilhar no Facebook", share_twitter: "Compartilhar no Twitter", share_email: "Compartilhar via Email", stars: "Estrelas", excellent: "Excelente", good: "Bom", normal: "Normal", anonymous: "Anônimo", verified_customer: "Cliente Verificado", amazon_customer: "Cliente Amazon", verified_subscriber: "Assinante Verificado", based_on: "com base em", would_recommend: "Eu recomendo este produto", helpful_multiple: "pessoas acharam esta avaliação útil.", helpful_single: "pessoa achou esta avaliação útil.", up_voted: 'Você votou positivamente nesta avaliação como útil.', down_voted: 'Você votou negativamente nesta avaliação.', was_helpful: 'Esta avaliação foi útil?', yes: 'Sim', no: 'Não', minute_ago: 'minuto atrás', minutes_ago: 'minutos atrás', hour_ago: 'hora atrás', hours_ago: 'horas atrás', day_ago: 'dia atrás', days_ago: 'dias atrás', week_ago: 'semana atrás', weeks_ago: 'semanas atrás', month_ago: 'mês atrás', months_ago: 'meses atrás', year_ago: 'ano atrás', years_ago: 'anos atrás', source: 'Fonte', review_image: 'Imagem da avaliação', }; break; case "sk": translations = { rating: "priemer", reviews: "recenzie", share: "Zdieľať", close: "Zavrieť", read_more: "Čítajte viac recenzií na REVIEWS.io", share_facebook: "Zdieľať na Facebooku", share_twitter: "Zdieľať na Twitteri", share_email: "Zdieľať cez e-mail", stars: "Hviezdy", excellent: "Výborné", good: "Dobré", normal: "Normálne", anonymous: "Anonymný", verified_customer: "Overený zákazník", amazon_customer: "Zákazník Amazon", verified_subscriber: "Overený odberateľ", based_on: "na základe", would_recommend: "Odporúčam tento produkt", helpful_multiple: "ľudí považovalo túto recenziu za užitočnú.", helpful_single: "osoba považovala túto recenziu za užitočnú.", up_voted: 'Túto recenziu ste označili ako užitočnú.', down_voted: 'Túto recenziu ste označili ako neužitočnú.', was_helpful: 'Bola táto recenzia užitočná?', yes: 'Áno', no: 'Nie', minute_ago: 'minúta pred', minutes_ago: 'minúty pred', hour_ago: 'hodina pred', hours_ago: 'hodiny pred', day_ago: 'deň pred', days_ago: 'dni pred', week_ago: 'týždeň pred', weeks_ago: 'týždne pred', month_ago: 'mesiac pred', months_ago: 'mesiace pred', year_ago: 'rok pred', years_ago: 'roky pred', source: 'Zdroj', review_image: 'Obrázok recenzie', }; break; case 'hu': translations = { rating: "átlagos", reviews: "értékelés", share: "Megosztás", close: "Bezárás", read_more: "További értékelések a REVIEWS.io oldalon", share_facebook: "Megosztás Facebookon", share_twitter: "Megosztás Twitteren", share_email: "Megosztás e-mailben", stars: "Csillagok", excellent: "Kiváló", good: "Jó", normal: "Normál", anonymous: "Névtelen", verified_customer: "Ellenőrzött vásárló", amazon_customer: "Amazon vásárló", verified_subscriber: "Ellenőrzött előfizető", based_on: "alapján", would_recommend: "Ajánlom ezt a terméket", helpful_multiple: "embert találta hasznosnak ezt az értékelést.", helpful_single: "személy találta hasznosnak ezt az értékelést.", up_voted: 'Te lájkoltad ezt az értékelést, mint hasznos.', down_voted: 'Te dislike-oltad ezt az értékelést.', was_helpful: 'Hasznos volt ez az értékelés?', yes: 'Igen', no: 'Nem', minute_ago: 'perce', minutes_ago: 'perce', hour_ago: 'órája', hours_ago: 'órája', day_ago: 'napja', days_ago: 'napja', week_ago: 'hete', weeks_ago: 'hete', month_ago: 'hónapja', months_ago: 'hónapja', year_ago: 'éve', years_ago: 'éve', source: 'Forrás', review_image: 'Értékelés képe', }; break; case 'lt': translations = { rating: "vidutinis", reviews: "atsiliepimai", share: "Dalintis", close: "Uždaryti", read_more: "Skaityti daugiau atsiliepimų REVIEWS.io", share_facebook: "Dalintis Facebook", share_twitter: "Dalintis Twitter", share_email: "Dalintis el. paštu", stars: "žvaigždutės", excellent: "Puikus", good: "Geras", normal: "Normalus", anonymous: "Anonimiškas", verified_customer: "Patikrintas klientas", amazon_customer: "Amazon klientas", verified_subscriber: "Patikrintas prenumeratorius", based_on: "pagal", would_recommend: "Aš rekomenduoju šį produktą", helpful_multiple: "žmonės rado šį atsiliepimą naudingą.", helpful_single: "žmogus rado šį atsiliepimą naudingą.", up_voted: 'Jūs balsavote už šį atsiliepimą kaip naudingą.', down_voted: 'Jūs balsavote prieš šį atsiliepimą.', was_helpful: 'Ar šis atsiliepimas buvo naudingas?', yes: 'Taip', no: 'Ne', minute_ago: 'prieš minutę', minutes_ago: 'prieš minutes', hour_ago: 'prieš valandą', hours_ago: 'prieš valandas', day_ago: 'prieš dieną', days_ago: 'prieš dienas', week_ago: 'prieš savaitę', weeks_ago: 'prieš savaites', month_ago: 'prieš mėnesį', months_ago: 'prieš mėnesius', year_ago: 'prieš metus', years_ago: 'prieš metus', source: 'šaltinis', review_image: 'Atsiliepimo nuotrauka', }; break; default: translations = { rating: "average", reviews: "reviews", share: "Share", close: "Close", read_more: "Read more reviews on REVIEWS.io", share_facebook: "Share on Facebook", share_twitter: "Share on Twitter", share_email: "Share via Email", stars: "Stars", excellent: "Excellent", good: "Good", normal: "Normal", anonymous: "Anonymous", verified_customer: "Verified Customer", amazon_customer: "Amazon Customer", verified_subscriber: "Verified Subscriber", based_on: "based on", would_recommend: "I recommend this product", helpful_multiple: "people found this review helpful.", helpful_single: "person found this review helpful.", up_voted: 'You've upvoted this review as helpful.', down_voted: 'You've downvoted this review.', was_helpful:'Was this review helpful?', yes: 'Yes', no: 'No', minute_ago:'minute ago', minutes_ago:'minutes ago', hour_ago:'hour ago', hours_ago:'hours ago', day_ago:'day ago', days_ago:'days ago', week_ago:'week ago', weeks_ago:'weeks ago', month_ago:'month ago', months_ago:'months ago', year_ago: 'year ago', years_ago:'years ago', source: 'Source', review_image: 'Review Image', country_list: [ "Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Argentina", "Armenia", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Central African Republic", "Chad", "Chile", "China", "Colombia", "Comoros", "Congo", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czechia", "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Eswatini (fmr. Swaziland)", "Ethiopia", "Fiji", "Finland", "France", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Greece", "Grenada", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Holy See", "Honduras", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Montenegro", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "New Zealand", "Nicaragua", "Niger", "Nigeria", "North Korea", "Macedonia", "Norway", "Oman", "Pakistan", "Palau", "Palestine State", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "Russia", "Rwanda", "Saint Kitts and Nevis", "Saint Lucia", "Saint Vincent", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Serbia", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Korea", "South Sudan", "Spain", "Sri Lanka", "Sudan", "Suriname", "Sweden", "Switzerland", "Syria", "Tajikistan", "Tanzania", "Thailand", "Timor-Leste", "Togo", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Yemen", "Zambia", "Zimbabwe" ], }; break; } return translations; }