Site Reviews - Version 5.19.0

Version Description

(2021-12-30) =

  • Added author_id column to "Import Third Party Reviews" tool
  • Added settings to customise the login and register URLs
  • Fixed API usage when creating reviews using string values for the assigned_posts (i.e. post_type:slug), assigned_terms (i.e. slug), and assigned_users (i.e. username) parameters
  • Fixed approve/unapprove actions on the All Reviews page which was removing the post_author ID of reviews
  • Fixed importing reviews with unknown authors
  • Fixed the "hide" option when using AJAX pagination
  • Fixed the loading indicator (spinner) on the submit button of the review form
Download this release

Release Info

Developer geminilabs
Plugin Icon 128x128 Site Reviews
Version 5.19.0
Comparing to
See all releases

Code changes from version 5.18.1 to 5.19.0

assets/scripts/site-reviews.js CHANGED
@@ -1 +1 @@
1
- !function(){"use strict";var t,i={721:function(t,i,n){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}var o=function(){};o.prototype={get:function(t,i,n){this.t(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.i(n),this.xhr.send()},u:function(t){return"json"===this.xhr.responseType||!0===this.xhr.json?t({message:this.xhr.statusText},!1):"text"===this.xhr.responseType?t(this.xhr.statusText):(this.xhr.responseText,void this.xhr.response)},h:function(t){if(0===this.xhr.status||this.xhr.status>=200&&this.xhr.status<300||304===this.xhr.status){if("json"===this.xhr.responseType)return t(this.xhr.response.data,this.xhr.response.success);if("text"===this.xhr.responseType)return t(this.xhr.responseText);if(!0===this.xhr.json){var i=JSON.parse(this.xhr.response);return t(i.data,i.success)}this.xhr.responseText,this.xhr.response}else this.u(t)},isFileSupported:function(){var t=document.createElement("INPUT");return t.type="file","files"in t},isFormDataSupported:function(){return!!window.FormData},isUploadSupported:function(){var t=new XMLHttpRequest;return!!(t&&"upload"in t&&"onprogress"in t.upload)},post:function(t,i,n){this.t(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.i(n),this.xhr.send(this.l(t))},t:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.h.bind(this,t),this.xhr.onerror=this.u.bind(this,t)},v:function(t,i,n){return"object"!==e(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(e){i.hasOwnProperty(e)&&(t=this.v(t,i[e],n?n[e]:e))}.bind(this)),t},l:function(t){var i=new FormData,n=Object.prototype.toString.call(t);return"[object FormData]"===n&&(i=t),"[object HTMLFormElement]"===n&&(i=new FormData(t)),"[object Object]"===n&&Object.keys(t).forEach((function(n){i.append(n,t[n])})),i.append("action",GLSR.action),i.append("_ajax_request",!0),i},i:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var s=o,r={},u=function(t,i){var n=r[t]||[],e=[];i&&[].forEach.call(n,(function(t){i!==t.fn&&i!==t.fn.once&&e.push(t)})),e.length?r[t]=e:delete r[t]},a=function(t,i,n){(r[t]||(r[t]=[])).push({fn:i,context:n})},h=function(t,i,n){var e=arguments,o=function o(){u(t,o),i.apply(n,e)};o.once=i,a(t,o,n)},c=function(t){var i=[].slice.call(arguments,1),n=(r[t]||[]).slice();[].forEach.call(n,(function(t){return t.fn.apply(t.context,i)}))},f={events:r,trigger:c,off:u,on:a,once:h};function d(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function l(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function v(t,i,n){return i&&l(t.prototype,i),n&&l(t,n),t}var m={hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},w=function(){function t(i){var n=this;d(this,t);var e=(i||document).querySelectorAll(m.hiddenTextSelector);[].forEach.call(e,(function(t){return n.init(t)})),GLSR.Event.trigger("site-reviews/excerpts/init",i)}return v(t,[{key:"init",value:function(t){if(!t.parentNode.querySelector("."+m.readMoreClass)){var i=t.dataset.trigger,n=document.createElement("span"),e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=t.dataset.showMore,"excerpt"===i&&(e.addEventListener("click",this.onClick.bind(this)),e.setAttribute("data-text",t.dataset.showLess)),"modal"===i&&e.setAttribute("data-excerpt-trigger","glsr-modal"),n.setAttribute("class",m.readMoreClass),n.appendChild(e),t.parentNode.insertBefore(n,t.nextSibling)}}},{key:"onClick",value:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,e=i.dataset.text;n.classList.toggle(m.hiddenClass),n.classList.toggle(m.visibleClass),i.dataset.text=i.innerText,i.innerText=e}}]),t}(),p=w,g=function(t){this.Form=t,this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl=t.form.querySelector(".glsr-recaptcha-holder"),this.observer=new MutationObserver(function(t){var i=t.pop();i.target&&"visible"!==i.target.style.visibility&&(this.observer.disconnect(),setTimeout(function(){this.is_submitting||this.Form.p()}.bind(this),250))}.bind(this))};g.prototype={g:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},k:function(){if(-1!==this.id)return this.counter=0,this.S(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.L.call(this.Form,this.counter)}.bind(this),1e3)},S:function(t){var i=window.___grecaptcha_cfg.clients[t];for(var n in i)if(i.hasOwnProperty(n)&&"[object String]"===Object.prototype.toString.call(i[n])){var e=document.querySelector("iframe[name=c-"+i[n]+"]");if(e){this.observer.observe(e.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},R:function(){this.Form.form.onsubmit=null,this.g(),this._()},_:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this._();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.L.bind(this.Form,this.counter),"expired-callback":this.G.bind(this),isolated:!0},!0)}.bind(this),250)},G:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},L:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.F(),void this.form.submit();this.L(t)}};var y=g,b=n(449),k=n.n(b),S=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},L=function(t){return"."+t.trim().split(" ").join(".")},R=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},_={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)<=parseInt(i):parseFloat(t)<=parseFloat(i))}},maxlength:{fn:function(t,i){return!t||t.length<=parseInt(i)}},min:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)>=parseInt(i):parseFloat(t)>=parseFloat(i))}},minlength:{fn:function(t,i){return!t||t.length>=parseInt(i)}},number:{fn:function(t){return!t||!isNaN(parseFloat(t))},priority:2},required:{fn:function(t){return"radio"===this.type||"checkbox"===this.type?R(this):void 0!==t&&""!==t},priority:99,halt:!0}},x=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.validateEvent=this.T.bind(this)};x.prototype={M:["required","max","maxlength","min","minlength","pattern"],C:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.G();this.fields.length;){var t=this.fields.shift();this.P(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.C),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(L(t.config.field)).style.display&&t.fields.push(t.I(i))}))},A:function(t){t.addEventListener(this.N(t),this.validateEvent)},D:function(t,i,n){[].forEach.call(t,function(t){var e=t.name.replace("data-","");~this.M.indexOf(e)?this.q(i,n,e,t.value):"type"===t.name&&this.q(i,n,t.value)}.bind(this))},q:function(t,i,n,e){if(_[n]&&(_[n].name=n,t.push(_[n]),e)){var o=e.split(",");o.unshift(null),i[n]=o}},T:function(t){this.B(t.currentTarget)},P:function(t){t.removeEventListener(this.N(t),this.validateEvent)},G:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(L(this.config.field));S(this.fields[t].input,this.config.input_error,!1),S(this.fields[t].input,this.config.input_valid,!1),S(i,this.config.field_error,!1),S(i,this.config.field_valid,!1)}},N:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},I:function(t){var i={},n=[];return null!==t.offsetParent&&(this.D(t.attributes,n,i),this.H(n),this.A(t)),t.validation={form:this.form,input:t,params:i,validators:n}},J:function(t,i){var n=t.input.closest(L(this.config.field));if(S(t.input,this.config.input_error,i),S(t.input,this.config.input_valid,!i),n){S(n,this.config.field_error,i),S(n,this.config.field_valid,!i);var e=n.querySelector(L(this.config.field_message));e.innerHTML=i?t.errors.join("<br>"):"",e.style.display=i?"":"none"}},V:function(t,i){t.hasOwnProperty("validation")&&this.I(t),t.validation.errors=i},H:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},B:function(t){var i=!0,n=this.fields;for(var e in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(e)){var o=n[e];this.W(o)?this.J(o,!1):(i=!1,this.J(o,!0))}return i},W:function(t){var i=[],n=!0;for(var e in t.validators)if(t.validators.hasOwnProperty(e)){var o=t.validators[e],s=t.params[o.name]?t.params[o.name]:[];if(s[0]=t.input.value,!o.fn.apply(t.input,s)){n=!1;var r=this.strings[o.name];if(i.push(r.replace(/(\%s)/g,s[1])),!0===o.halt)break}}return t.errors=i,n}};var G=x,E=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.U.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new y(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.X(),this.validation=new G(t)};E.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.K(),this.validation.destroy()},destroyRecaptcha:function(){this.recaptcha.g()},destroyStarRatings:function(){this.stars&&this.stars.destroy()},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit),this.validation.init()},initRecaptcha:function(){this.recaptcha.R()},initStarRatings:function(){null!==this.stars?this.stars.rebuild():this.stars=new(k())(this.form.querySelectorAll(".glsr-field-rating select"),GLSR.stars)},F:function(){this.button.setAttribute("disabled","")},p:function(){this.button.removeAttribute("disabled")},Y:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.G(),n&&(this.recaptcha.G(),this.form.reset()),this.$(t.errors),this.Z(t.message,n),this.p(),GLSR.Event.trigger("site-reviews/form/handle",t,this.form),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.k()},X:function(){var t=!0;return[].forEach.call(this.form.elements,(function(i){"file"===i.type&&(t=GLSR.ajax.isFileSupported()&&GLSR.ajax.isUploadSupported())})),t&&!this.form.classList.contains("no-ajax")},U:function(t){if(!this.validation.B())return t.preventDefault(),void this.Z(this.strings.errors,!1);this.K(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.L())},K:function(){S(this.form,this.config.form_error,!1),this.Z("",null),this.validation.G()},$:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,e=this.form.querySelector('[name="'+n+'"]');e&&(this.validation.V(e,t[i]),this.validation.J(e.validation,"add"))}},Z:function(t,i){var n=this.form.querySelector(L(this.config.form_message));null!==n&&(S(this.form,this.config.form_error,!1===i),S(n,this.config.form_message_failed,!1===i),S(n,this.config.form_message_success,!0===i),n.innerHTML=t)},L:function(t){GLSR.ajax.isFormDataSupported()?(this.F(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.Y.bind(this))):this.Z(this.strings.unsupported,!1)}};var F=function(){for(;GLSR.forms.length;){(t=GLSR.forms.shift()).destroy()}var t,i,n;i=document.querySelectorAll("form.glsr-review-form");for(var e=0;e<i.length;e++)(n=i[e].querySelector("[type=submit]"))&&((t=new E(i[e],n)).init(),GLSR.forms.push(t))},O=F;function T(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var j=!1;if("undefined"!=typeof window){var M={get passive(){j=!0}};window.addEventListener("testPassive",null,M),window.removeEventListener("testPassive",null,M)}var C="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),P=[],I=!1,A=-1,N=void 0,D=void 0,q=function(t){return P.some((function(i){return!(!i.options.allowTouchMove||!i.options.allowTouchMove(t))}))},B=function(t){var i=t||window.event;return!!q(i.target)||(i.touches.length>1||(i.preventDefault&&i.preventDefault(),!1))},H=function(t){if(void 0===D){var i=!!t&&!0===t.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;i&&n>0&&(D=document.body.style.paddingRight,document.body.style.paddingRight=n+"px")}void 0===N&&(N=document.body.style.overflow,document.body.style.overflow="hidden")},J=function(){void 0!==D&&(document.body.style.paddingRight=D,D=void 0),void 0!==N&&(document.body.style.overflow=N,N=void 0)},V=function(t){return!!t&&t.scrollHeight-t.scrollTop<=t.clientHeight},W=function(t,i){var n=t.targetTouches[0].clientY-A;return!q(t.target)&&(i&&0===i.scrollTop&&n>0||V(i)&&n<0?B(t):(t.stopPropagation(),!0))},U=function(t,i){if(t){if(!P.some((function(i){return i.targetElement===t}))){var n={targetElement:t,options:i||{}};P=[].concat(T(P),[n]),C?(t.ontouchstart=function(t){1===t.targetTouches.length&&(A=t.targetTouches[0].clientY)},t.ontouchmove=function(i){1===i.targetTouches.length&&W(i,t)},I||(document.addEventListener("touchmove",B,j?{passive:!1}:void 0),I=!0)):H(i)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},X=function(){C?(P.forEach((function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null})),I&&(document.removeEventListener("touchmove",B,j?{passive:!1}:void 0),I=!1),A=-1):J(),P=[]},K=["[contenteditable]",'[tabindex]:not([tabindex^="-"])',"a[href]","button:not([disabled]):not([aria-hidden])",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])"],Y=function(){function t(i){var n=i.closeTrigger,e=void 0===n?"data-glsr-close":n,o=i.onClose,s=void 0===o?function(){}:o,r=i.onOpen,u=void 0===r?function(){}:r,a=i.openClass,h=void 0===a?"is-open":a,c=i.openTrigger,f=void 0===c?"data-glsr-trigger":c,l=i.targetModalId,v=void 0===l?"glsr-modal":l,m=i.triggers,w=void 0===m?[]:m;d(this,t),this.modal=document.getElementById(v),this.config={openTrigger:f,closeTrigger:e,openClass:h,onOpen:u,onClose:s},this.events={mouseup:this.onClick.bind(this),keydown:this.onKeydown.bind(this),touchstart:this.onClick.bind(this)},w.length>0&&this.registerTriggers(w)}return v(t,[{key:"addEventListeners",value:function(){this.eventListener(this.modal,"add",["mouseup","touchstart"]),this.eventListener(document,"add",["keydown"])}},{key:"closeModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;i&&(i.preventDefault(),i.stopPropagation()),this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),X(),this.activeElement&&this.activeElement.focus&&this.activeElement.focus();var n=function n(){t.modal.classList.remove(t.config.openClass),t.modal.removeEventListener("animationend",n,!1),t.config.onClose(t.modal,t.activeElement,i)};this.modal.addEventListener("animationend",n,!1)}},{key:"closeModalById",value:function(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}},{key:"eventListener",value:function(t,i,n){var e=this;n.forEach((function(n){return t[i+"EventListener"](n,e.events[n])}))}},{key:"getFocusableNodes",value:function(){var t=this.modal.querySelectorAll(K);return Array.prototype.slice.call(t)}},{key:"onClick",value:function(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}},{key:"onKeydown",value:function(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}},{key:"openModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.activeElement=document.activeElement,i&&(i.preventDefault(),this.activeElement=i.currentTarget),this.config.onOpen(this.modal,this.activeElement,i),this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),U(this.modal.querySelector("[data-glsr-modal]")),this.addEventListeners();var n=function i(){t.modal.removeEventListener("animationend",i,!1),t.setFocusToFirstNode()};this.modal.addEventListener("animationend",n,!1)}},{key:"registerTriggers",value:function(t){var i=this;t.filter(Boolean).forEach((function(t){t.triggerModal&&t.removeEventListener("click",t.triggerModal),t.triggerModal=i.openModal.bind(i),t.addEventListener("click",t.triggerModal)}))}},{key:"removeEventListeners",value:function(){this.eventListener(this.modal,"remove",["mouseup","touchstart"]),this.eventListener(document,"remove",["keydown"])}},{key:"retainFocus",value:function(t){var i=this.getFocusableNodes();if(0!==i.length)if(i=i.filter((function(t){return null!==t.offsetParent})),this.modal.contains(document.activeElement)){var n=i.indexOf(document.activeElement);t.shiftKey&&0===n&&(i[i.length-1].focus(),t.preventDefault()),!t.shiftKey&&i.length>0&&n===i.length-1&&(i[0].focus(),t.preventDefault())}else i[0].focus()}},{key:"setFocusToFirstNode",value:function(){var t=this,i=this.getFocusableNodes();if(0!==i.length){var n=i.filter((function(i){return!i.hasAttribute(t.config.closeTrigger)}));n.length>0&&n[0].focus(),0===n.length&&i[0].focus()}}}]),t}(),$={},z=function(t){if(t)$[t].closeModalById(t);else for(var i in $)$[i].closeModal()},Q=function(t,i){var n={};return t.forEach((function(t){var e=t.attributes[i].value;void 0===n[e]&&(n[e]=[]),n[e].push(t)})),n},Z=function(t){var i=Object.assign({},{openTrigger:"data-glsr-trigger"},t),n=Array.prototype.slice.call(document.querySelectorAll("[".concat(i.openTrigger,"]"))),e=Q(n,i.openTrigger);return Object.keys(e).forEach((function(t){i.targetModalId=t,i.triggers=e[t],$[t]=new Y(i)})),$},tt=function(t,i){var n=i||{};n.targetModalId=t,$[t]&&$[t].removeEventListeners(),$[t]=new Y(n),$[t].openModal()},it={init:Z,open:tt,close:z},nt={scrollOffset:16,scrollTime:468},et={button:"button.glsr-button-loadmore",hide:"glsr-hide",link:"a.page-numbers",pagination:".glsr-pagination",reviews:".glsr-reviews, [data-reviews]"},ot=function(){function t(i){d(this,t),this.reviewsEl=i.querySelector(et.reviews),this.wrapperEl=i,this.init()}return v(t,[{key:"data",value:function(t,i){var n=t.closest(et.pagination);if(!n)return console.error("Pagination config not found."),!1;try{for(var e=JSON.parse(JSON.stringify(n.dataset)),o={},s=0,r=Object.keys(e);s<r.length;s++){var u=r[s];o["".concat(GLSR.nameprefix,"[atts][").concat(u,"]")]=e[u]}return o["".concat(GLSR.nameprefix,"[_action]")]="fetch-paged-reviews",o["".concat(GLSR.nameprefix,"[page]")]=t.dataset.page||1,o["".concat(GLSR.nameprefix,"[schema]")]=!1,o["".concat(GLSR.nameprefix,"[url]")]=t.href||"",o}catch(t){return console.error("Invalid pagination config."),!1}}},{key:"init",value:function(){this.initLoadMore(),this.initPagination(),GLSR.state.popstate||(window.addEventListener("popstate",this.onPopstate.bind(this)),GLSR.state.popstate=!0)}},{key:"initLoadMore",value:function(){var t=this,i=this.wrapperEl.querySelectorAll(et.button);i.length&&[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onLoadMore.bind(t,i)),i.dataset.ready=!0)}))}},{key:"initPagination",value:function(){var t=this,i=this.wrapperEl.querySelectorAll("".concat(et.pagination," ").concat(et.link));if(i.length){[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onPaginate.bind(t,i)),i.dataset.ready=!0)}));var n=this.wrapperEl.querySelector("".concat(et.pagination," .current"));if(n){var e=this.data(n),o=n.nextElementSibling;e&&o&&2==+o.dataset.page&&GLSR.urlparameter&&window.history.replaceState(e,"",window.location)}}}},{key:"onLoadMore",value:function(t,i){var n=this.data(t);n&&(t.ariaBusy="true",t.setAttribute("disabled",""),i.preventDefault(),GLSR.ajax.post(n,this.handleLoadMore.bind(this,t,n)))}},{key:"onPaginate",value:function(t,i){var n=this.data(t);n&&(this.wrapperEl.classList.add(et.hide),i.preventDefault(),GLSR.ajax.post(n,this.handlePagination.bind(this,t,n)))}},{key:"onPopstate",value:function(t){t.state&&(this.wrapperEl.classList.add(et.hide),GLSR.ajax.post(t.state,this.handlePopstate.bind(this,t.state)))}},{key:"handleLoadMore",value:function(t,i,n,e){t.ariaBusy="false",t.removeAttribute("disabled"),e?([].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(t){t.innerHTML=n.pagination})),this.reviewsEl.innerHTML+=n.reviews,this.init(),new p(this.reviewsEl)):window.location=location}},{key:"handlePagination",value:function(t,i,n,e){e?(this.paginate(n),GLSR.urlparameter&&window.history.pushState(i,"",t.href)):window.location=t.href}},{key:"handlePopstate",value:function(t,i,n){n?this.paginate(i):console.error(i)}},{key:"paginate",value:function(t){[].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(i){i.innerHTML=t.pagination})),this.reviewsEl.innerHTML=t.reviews,this.scrollToTop(),this.init(),this.wrapperEl.classList.remove(et.hide),new p(this.reviewsEl),GLSR.Event.trigger("site-reviews/pagination/handle",t,this)}},{key:"scrollToTop",value:function(){var t=nt.scrollOffset;[].forEach.call(GLSR.ajaxpagination,(function(i){var n=document.querySelector(i);n&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(t+=n.clientHeight)}));var i=this.reviewsEl.getBoundingClientRect().top-t;i>0||this.scrollStep({endY:i,offset:window.pageYOffset,startTime:window.performance.now(),startY:this.reviewsEl.scrollTop})}},{key:"scrollStep",value:function(t){var i=Math.min(1,(window.performance.now()-t.startTime)/nt.scrollTime),n=.5*(1-Math.cos(Math.PI*i)),e=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+e),e!==t.endY&&window.requestAnimationFrame(this.scrollStep.bind(this,t))}}]),t}(),st=function(){[].forEach.call(document.querySelectorAll(et.pagination),(function(t){var i=t.closest(".glsr");i&&(t.classList.contains("glsr-ajax-loadmore")||t.classList.contains("glsr-ajax-pagination"))&&new ot(i)}))},rt=function(){var t="glsr-modal__content",i="glsr-modal__review";window.GLSR.Modal.init({onClose:function(n,e,o){n.querySelector("."+t).innerHTML="",n.classList.remove(i),GLSR.Event.trigger("site-reviews/modal/close",n,e,o)},onOpen:function(n,e,o){var s=e.closest(".glsr").cloneNode(!0),r=e.closest(".glsr-review").cloneNode(!0);s.innerHTML="",s.appendChild(r),n.querySelector("."+t).appendChild(s),n.classList.add(i),GLSR.Event.trigger("site-reviews/modal/open",n,e,o)},openTrigger:"data-excerpt-trigger"})},ut=function(){[].forEach.call(document.querySelectorAll(".glsr"),(function(t){var i="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(i)})),new p,new O,st()};window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new s,window.GLSR.forms=[],window.GLSR.Event=f,window.GLSR.Forms=O,window.GLSR.Modal=it,f.on("site-reviews/init",ut),f.on("site-reviews/excerpts/init",rt),document.addEventListener("DOMContentLoaded",(function(){f.trigger("site-reviews/init")}))},113:function(){},30:function(){},966:function(){},83:function(){},649:function(){},408:function(){},529:function(){},275:function(){},872:function(){},865:function(){},835:function(){},786:function(){},45:function(){},622:function(){},688:function(){},340:function(){},961:function(){},853:function(){},712:function(){},651:function(){},730:function(){},382:function(){},747:function(){},605:function(){},410:function(){},406:function(){},829:function(){},273:function(){},518:function(){},963:function(){},449:function(t){function i(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function n(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function e(t,i,e){return i&&n(t.prototype,i),e&&n(t,e),t}var o={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},s=function(t,i,n){t.classList[i?"add":"remove"](n)},r=function(t){var i=document.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},u=function(t,i,n){var e=r(n);return t.parentNode.insertBefore(e,i?t.nextSibling:t),e},a=function t(){for(var i=arguments.length,n=new Array(i),e=0;e<i;e++)n[e]=arguments[e];var o={};return n.forEach((function(i){Object.keys(i||{}).forEach((function(e){if(void 0!==n[0][e]){var s=i[e];"Object"!==h(s)||"Object"!==h(o[e])?o[e]=s:o[e]=t(o[e],s)}}))})),o},h=function(t){return{}.toString.call(t).slice(8,-1)},c=function(){function t(n,e){var o,s;i(this,t),this.direction=window.getComputedStyle(n,null).getPropertyValue("direction"),this.el=n,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=e,this.tick=null,this.ticking=!1,this.values=function(t){var i=[];return[].forEach.call(t.options,(function(t){var n=parseInt(t.value,10)||0;n>0&&i.push({index:t.index,text:t.text,value:n})})),i.sort((function(t,i){return t.value-i.value}))}(n),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),o=this.values.length,s=this.props.maxStars,/^\d+$/.test(o)&&1<=o&&o<=s?this.build():this.destroy()}return e(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,i,n=this;this.props.prebuilt?(t=this.el.parentNode,i=t.querySelector("."+this.props.classNames.base+"--stars")):((t=u(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),i=u(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,e){var o=r({"data-index":e,"data-value":t.value});"function"==typeof n.props.stars&&n.props.stars.call(n,o,t,e),[].forEach.call(o.children,(function(t){return t.style.pointerEvents="none"})),i.innerHTML+=o.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&i.setAttribute("role","tooltip"),this.widgetEl=i}},{key:"changeIndexTo",value:function(t,i){var n=this;if(this.indexActive!==t||i){if([].forEach.call(this.widgetEl.children,(function(i,e){s(i,e<=t,n.props.classNames.active),s(i,e===n.indexSelected,n.props.classNames.selected)})),this.widgetEl.setAttribute("data-rating",t+1),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var e=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",e)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,i,n,e){var o=this;n.forEach((function(n){return t[i+"EventListener"](n,o.events[n],e||!1)}))}},{key:"handleEvents",value:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.eventListener(i,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var i,n,e=(null===(i=t.touches)||void 0===i?void 0:i[0])||(null===(n=t.changedTouches)||void 0===n?void 0:n[0])||t,o=document.elementFromPoint(e.clientX,e.clientY);return[].slice.call(o.parentNode.children).indexOf(o)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var i=t.key.slice(5);if(~["Left","Right"].indexOf(i)){var n="Left"===i?-1:1;"rtl"===this.direction&&(n*=-1);var e=this.values.length-1,o=Math.min(Math.max(this.selected()+n,-1),e);this.selectValue(o,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var i=this.indexFromEvent(t);this.props.clearable&&i===this.indexSelected&&(i=-1),this.selectValue(i,!0)}},{key:"onPointerLeave",value:function(t){var i=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return i.changeIndexTo(i.indexSelected)}))}},{key:"onPointerMove",value:function(t){var i=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return i.changeIndexTo(i.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t,i=this.valueIndex(null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.value);this.selectValue(i||-1,!1)}},{key:"selected",value:function(){return this.valueIndex(this.el.value)}},{key:"selectValue",value:function(t,i){var n;this.el.value=(null===(n=this.values[t])||void 0===n?void 0:n.value)||"",this.indexSelected=this.selected(),!1===i?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}},{key:"valueIndex",value:function(t){return this.values.findIndex((function(i){return i.value===+t}))}}]),t}(),f=function(){function t(n,e){i(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(n,e)}return e(t,[{key:"buildWidgets",value:function(t,i){var n=this;this.queryElements(t).forEach((function(t){var e=a(o,i,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!e.prebuilt&&t.parentNode.classList.contains(e.classNames.base)&&n.unwrap(t),n.widgets.push(new c(t,e)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===h(t)?[t]:"NodeList"===h(t)?[].slice.call(t):"String"===h(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var i=t.parentNode,n=i.parentNode;n.insertBefore(t,i),n.removeChild(i)}}]),t}();t.exports=f}},n={};function e(t){var o=n[t];if(void 0!==o)return o.exports;var s=n[t]={exports:{}};return i[t](s,s.exports,e),s.exports}e.m=i,t=[],e.O=function(i,n,o,s){if(!n){var r=1/0;for(c=0;c<t.length;c++){n=t[c][0],o=t[c][1],s=t[c][2];for(var u=!0,a=0;a<n.length;a++)(!1&s||r>=s)&&Object.keys(e.O).every((function(t){return e.O[t](n[a])}))?n.splice(a--,1):(u=!1,s<r&&(r=s));if(u){t.splice(c--,1);var h=o();void 0!==h&&(i=h)}}return i}s=s||0;for(var c=t.length;c>0&&t[c-1][2]>s;c--)t[c]=t[c-1];t[c]=[n,o,s]},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,{a:i}),i},e.d=function(t,i){for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},function(){var t={341:0,884:0,320:0,974:0,570:0,184:0,979:0,224:0,384:0,81:0,877:0,691:0,931:0,192:0,77:0,753:0,540:0,69:0,16:0,831:0,181:0,193:0,994:0,232:0,896:0,737:0,612:0,554:0,483:0,49:0,985:0};e.O.j=function(i){return 0===t[i]};var i=function(i,n){var o,s,r=n[0],u=n[1],a=n[2],h=0;if(r.some((function(i){return 0!==t[i]}))){for(o in u)e.o(u,o)&&(e.m[o]=u[o]);if(a)var c=a(e)}for(i&&i(n);h<r.length;h++)s=r[h],e.o(t,s)&&t[s]&&t[s][0](),t[r[h]]=0;return e.O(c)},n=self.webpackChunk=self.webpackChunk||[];n.forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n))}(),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(721)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(406)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(829)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(273)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(518)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(963)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(113)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(30)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(966)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(83)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(649)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(408)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(529)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(275)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(872)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(865)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(835)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(786)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(45)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(622)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(688)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(340)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(961)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(853)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(712)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(651)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(730)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(382)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(747)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(605)}));var o=e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(410)}));o=e.O(o)}();
1
+ !function(){"use strict";var t,i={721:function(t,i,n){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}var o=function(){};o.prototype={get:function(t,i,n){this.t(i),this.xhr.open("GET",t,!0),this.xhr.responseType="text",this.i(n),this.xhr.send()},u:function(t){return"json"===this.xhr.responseType||!0===this.xhr.json?t({message:this.xhr.statusText},!1):"text"===this.xhr.responseType?t(this.xhr.statusText):(this.xhr.responseText,void this.xhr.response)},h:function(t){if(0===this.xhr.status||this.xhr.status>=200&&this.xhr.status<300||304===this.xhr.status){if("json"===this.xhr.responseType)return t(this.xhr.response.data,this.xhr.response.success);if("text"===this.xhr.responseType)return t(this.xhr.responseText);if(!0===this.xhr.json){var i=JSON.parse(this.xhr.response);return t(i.data,i.success)}this.xhr.responseText,this.xhr.response}else this.u(t)},isFileSupported:function(){var t=document.createElement("INPUT");return t.type="file","files"in t},isFormDataSupported:function(){return!!window.FormData},isUploadSupported:function(){var t=new XMLHttpRequest;return!!(t&&"upload"in t&&"onprogress"in t.upload)},post:function(t,i,n){this.t(i),this.xhr.open("POST",GLSR.ajaxurl,!0),this.xhr.responseType="json",this.xhr.json=!0,this.i(n),this.xhr.send(this.l(t))},t:function(t){this.xhr=new XMLHttpRequest,this.xhr.onload=this.h.bind(this,t),this.xhr.onerror=this.u.bind(this,t)},v:function(t,i,n){return"object"!==e(i)||i instanceof Date||i instanceof File?t.append(n,i||""):Object.keys(i).forEach(function(e){i.hasOwnProperty(e)&&(t=this.v(t,i[e],n?n[e]:e))}.bind(this)),t},l:function(t){var i=new FormData,n=Object.prototype.toString.call(t);return"[object FormData]"===n&&(i=t),"[object HTMLFormElement]"===n&&(i=new FormData(t)),"[object Object]"===n&&Object.keys(t).forEach((function(n){i.append(n,t[n])})),i.append("action",GLSR.action),i.append("_ajax_request",!0),i},i:function(t){for(var i in(t=t||{})["X-Requested-With"]="XMLHttpRequest",t)t.hasOwnProperty(i)&&this.xhr.setRequestHeader(i,t[i])}};var s=o,r={},u=function(t,i){var n=r[t]||[],e=[];i&&[].forEach.call(n,(function(t){i!==t.fn&&i!==t.fn.once&&e.push(t)})),e.length?r[t]=e:delete r[t]},a=function(t,i,n){(r[t]||(r[t]=[])).push({fn:i,context:n})},h=function(t,i,n){var e=arguments,o=function o(){u(t,o),i.apply(n,e)};o.once=i,a(t,o,n)},c=function(t){var i=[].slice.call(arguments,1),n=(r[t]||[]).slice();[].forEach.call(n,(function(t){return t.fn.apply(t.context,i)}))},f={events:r,trigger:c,off:u,on:a,once:h};function d(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function l(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function v(t,i,n){return i&&l(t.prototype,i),n&&l(t,n),t}var m={hiddenClass:"glsr-hidden",hiddenTextSelector:".glsr-hidden-text",readMoreClass:"glsr-read-more",visibleClass:"glsr-visible"},w=function(){function t(i){var n=this;d(this,t);var e=(i||document).querySelectorAll(m.hiddenTextSelector);[].forEach.call(e,(function(t){return n.init(t)})),GLSR.Event.trigger("site-reviews/excerpts/init",i)}return v(t,[{key:"init",value:function(t){if(!t.parentNode.querySelector("."+m.readMoreClass)){var i=t.dataset.trigger,n=document.createElement("span"),e=document.createElement("a");e.setAttribute("href","#"),e.innerHTML=t.dataset.showMore,"excerpt"===i&&(e.addEventListener("click",this.onClick.bind(this)),e.setAttribute("data-text",t.dataset.showLess)),"modal"===i&&e.setAttribute("data-excerpt-trigger","glsr-modal"),n.setAttribute("class",m.readMoreClass),n.appendChild(e),t.parentNode.insertBefore(n,t.nextSibling)}}},{key:"onClick",value:function(t){t.preventDefault();var i=t.currentTarget,n=i.parentNode.previousSibling,e=i.dataset.text;n.classList.toggle(m.hiddenClass),n.classList.toggle(m.visibleClass),i.dataset.text=i.innerText,i.innerText=e}}]),t}(),p=w,g=function(t){this.Form=t,this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl=t.form.querySelector(".glsr-recaptcha-holder"),this.observer=new MutationObserver(function(t){var i=t.pop();i.target&&"visible"!==i.target.style.visibility&&(this.observer.disconnect(),setTimeout(function(){this.is_submitting||this.Form.p()}.bind(this),250))}.bind(this))};g.prototype={g:function(){this.counter=0,this.id=-1,this.is_submitting=!1,this.recaptchaEl&&(this.recaptchaEl.innerHTML="")},k:function(){if(-1!==this.id)return this.counter=0,this.S(this.id),void grecaptcha.execute(this.id);setTimeout(function(){this.counter++,this.L.call(this.Form,this.counter)}.bind(this),1e3)},S:function(t){var i=window.___grecaptcha_cfg.clients[t];for(var n in i)if(i.hasOwnProperty(n)&&"[object String]"===Object.prototype.toString.call(i[n])){var e=document.querySelector("iframe[name=c-"+i[n]+"]");if(e){this.observer.observe(e.parentElement.parentElement,{attributeFilter:["style"],attributes:!0});break}}},R:function(){this.Form.form.onsubmit=null,this.g(),this._()},_:function(){this.recaptchaEl&&setTimeout(function(){if("undefined"==typeof grecaptcha||void 0===grecaptcha.render)return this._();this.id=grecaptcha.render(this.recaptchaEl,{callback:this.L.bind(this.Form,this.counter),"expired-callback":this.G.bind(this),isolated:!0},!0)}.bind(this),250)},G:function(){this.counter=0,this.is_submitting=!1,-1!==this.id&&grecaptcha.reset(this.id)},L:function(t){if(this.recaptcha.is_submitting=!0,!this.useAjax)return this.F(),void this.form.submit();this.L(t)}};var y=g,b=n(449),k=n.n(b),S=function(t,i,n){t&&i.split(" ").forEach((function(i){t.classList[n?"add":"remove"](i)}))},L=function(t){return"."+t.trim().split(" ").join(".")},R=function(t){var i='input[name="'+t.getAttribute("name")+'"]:checked';return t.validation.form.querySelectorAll(i).length},_={email:{fn:function(t){return!t||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}},max:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)<=parseInt(i):parseFloat(t)<=parseFloat(i))}},maxlength:{fn:function(t,i){return!t||t.length<=parseInt(i)}},min:{fn:function(t,i){return!t||("checkbox"===this.type?R(this)>=parseInt(i):parseFloat(t)>=parseFloat(i))}},minlength:{fn:function(t,i){return!t||t.length>=parseInt(i)}},number:{fn:function(t){return!t||!isNaN(parseFloat(t))},priority:2},required:{fn:function(t){return"radio"===this.type||"checkbox"===this.type?R(this):void 0!==t&&""!==t},priority:99,halt:!0}},x=function(t){this.config=GLSR.validationconfig,this.fields=[],this.form=t,this.form.setAttribute("novalidate",""),this.strings=GLSR.validationstrings,this.validateEvent=this.T.bind(this)};x.prototype={M:["required","max","maxlength","min","minlength","pattern"],C:"input:not([type^=hidden]):not([type^=submit]), select, textarea, [data-glsr-validate]",destroy:function(){for(this.G();this.fields.length;){var t=this.fields.shift();this.P(t.input),delete t.input.validation}},init:function(){var t=this;[].forEach.call(this.form.querySelectorAll(this.C),(function(i){t.fields.find((function(t){return t.input.name===i.name}))||"none"!==i.closest(L(t.config.field)).style.display&&t.fields.push(t.I(i))}))},N:function(t){t.addEventListener(this.A(t),this.validateEvent)},D:function(t,i,n){[].forEach.call(t,function(t){var e=t.name.replace("data-","");~this.M.indexOf(e)?this.q(i,n,e,t.value):"type"===t.name&&this.q(i,n,t.value)}.bind(this))},q:function(t,i,n,e){if(_[n]&&(_[n].name=n,t.push(_[n]),e)){var o=e.split(",");o.unshift(null),i[n]=o}},T:function(t){this.B(t.currentTarget)},P:function(t){t.removeEventListener(this.A(t),this.validateEvent)},G:function(){for(var t in this.fields)if(this.fields.hasOwnProperty(t)){this.fields[t].errorElements=null;var i=this.fields[t].input.closest(L(this.config.field));S(this.fields[t].input,this.config.input_error,!1),S(this.fields[t].input,this.config.input_valid,!1),S(i,this.config.field_error,!1),S(i,this.config.field_valid,!1)}},A:function(t){return~["radio","checkbox"].indexOf(t.getAttribute("type"))||"SELECT"===t.nodeName?"change":"input"},I:function(t){var i={},n=[];return null!==t.offsetParent&&(this.D(t.attributes,n,i),this.H(n),this.N(t)),t.validation={form:this.form,input:t,params:i,validators:n}},J:function(t,i){var n=t.input.closest(L(this.config.field));if(S(t.input,this.config.input_error,i),S(t.input,this.config.input_valid,!i),n){S(n,this.config.field_error,i),S(n,this.config.field_valid,!i);var e=n.querySelector(L(this.config.field_message));e.innerHTML=i?t.errors.join("<br>"):"",e.style.display=i?"":"none"}},V:function(t,i){t.hasOwnProperty("validation")&&this.I(t),t.validation.errors=i},H:function(t){t.sort((function(t,i){return(i.priority||1)-(t.priority||1)}))},B:function(t){var i=!0,n=this.fields;for(var e in t instanceof HTMLElement&&(n=[t.validation]),n)if(n.hasOwnProperty(e)){var o=n[e];this.W(o)?this.J(o,!1):(i=!1,this.J(o,!0))}return i},W:function(t){var i=[],n=!0;for(var e in t.validators)if(t.validators.hasOwnProperty(e)){var o=t.validators[e],s=t.params[o.name]?t.params[o.name]:[];if(s[0]=t.input.value,!o.fn.apply(t.input,s)){n=!1;var r=this.strings[o.name];if(i.push(r.replace(/(\%s)/g,s[1])),!0===o.halt)break}}return t.errors=i,n}};var G=x,E=function(t,i){this.button=i,this.config=GLSR.validationconfig,this.events={submit:this.U.bind(this)},this.form=t,this.isActive=!1,this.recaptcha=new y(this),this.stars=null,this.strings=GLSR.validationstrings,this.useAjax=this.X(),this.validation=new G(t)};E.prototype={destroy:function(){this.destroyForm(),this.destroyRecaptcha(),this.destroyStarRatings(),this.isActive=!1},destroyForm:function(){this.form.removeEventListener("submit",this.events.submit),this.K(),this.validation.destroy()},destroyRecaptcha:function(){this.recaptcha.g()},destroyStarRatings:function(){this.stars&&this.stars.destroy()},init:function(){this.isActive||(this.initForm(),this.initStarRatings(),this.initRecaptcha(),this.isActive=!0)},initForm:function(){this.destroyForm(),this.form.addEventListener("submit",this.events.submit),this.validation.init()},initRecaptcha:function(){this.recaptcha.R()},initStarRatings:function(){null!==this.stars?this.stars.rebuild():this.stars=new(k())(this.form.querySelectorAll(".glsr-field-rating select"),GLSR.stars)},F:function(){this.button.ariaBusy="true",this.button.setAttribute("disabled","")},p:function(){this.button.ariaBusy="false",this.button.removeAttribute("disabled")},Y:function(t,i){var n=!0===i;"unset"!==t.recaptcha?("reset"===t.recaptcha&&this.recaptcha.G(),n&&(this.recaptcha.G(),this.form.reset()),this.$(t.errors),this.Z(t.message,n),this.p(),GLSR.Event.trigger("site-reviews/form/handle",t,this.form),t.form=this.form,document.dispatchEvent(new CustomEvent("site-reviews/after/submission",{detail:t})),n&&""!==t.redirect&&(window.location=t.redirect)):this.recaptcha.k()},X:function(){var t=!0;return[].forEach.call(this.form.elements,(function(i){"file"===i.type&&(t=GLSR.ajax.isFileSupported()&&GLSR.ajax.isUploadSupported())})),t&&!this.form.classList.contains("no-ajax")},U:function(t){if(!this.validation.B())return t.preventDefault(),void this.Z(this.strings.errors,!1);this.K(),(this.form["g-recaptcha-response"]&&""===this.form["g-recaptcha-response"].value||this.useAjax)&&(t.preventDefault(),this.L())},K:function(){S(this.form,this.config.form_error,!1),this.Z("",null),this.validation.G()},$:function(t){if(t)for(var i in t)if(t.hasOwnProperty(i)){var n=GLSR.nameprefix?GLSR.nameprefix+"["+i+"]":i,e=this.form.querySelector('[name="'+n+'"]');e&&(this.validation.V(e,t[i]),this.validation.J(e.validation,"add"))}},Z:function(t,i){var n=this.form.querySelector(L(this.config.form_message));null!==n&&(S(this.form,this.config.form_error,!1===i),S(n,this.config.form_message_failed,!1===i),S(n,this.config.form_message_success,!0===i),n.innerHTML=t)},L:function(t){GLSR.ajax.isFormDataSupported()?(this.F(),this.form[GLSR.nameprefix+"[_counter]"].value=t||0,GLSR.ajax.post(this.form,this.Y.bind(this))):this.Z(this.strings.unsupported,!1)}};var F=function(){for(;GLSR.forms.length;){(t=GLSR.forms.shift()).destroy()}var t,i,n;i=document.querySelectorAll("form.glsr-review-form");for(var e=0;e<i.length;e++)(n=i[e].querySelector("[type=submit]"))&&((t=new E(i[e],n)).init(),GLSR.forms.push(t))},O=F;function T(t){if(Array.isArray(t)){for(var i=0,n=Array(t.length);i<t.length;i++)n[i]=t[i];return n}return Array.from(t)}var j=!1;if("undefined"!=typeof window){var M={get passive(){j=!0}};window.addEventListener("testPassive",null,M),window.removeEventListener("testPassive",null,M)}var C="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||"MacIntel"===window.navigator.platform&&window.navigator.maxTouchPoints>1),P=[],I=!1,N=-1,A=void 0,D=void 0,q=function(t){return P.some((function(i){return!(!i.options.allowTouchMove||!i.options.allowTouchMove(t))}))},B=function(t){var i=t||window.event;return!!q(i.target)||(i.touches.length>1||(i.preventDefault&&i.preventDefault(),!1))},H=function(t){if(void 0===D){var i=!!t&&!0===t.reserveScrollBarGap,n=window.innerWidth-document.documentElement.clientWidth;i&&n>0&&(D=document.body.style.paddingRight,document.body.style.paddingRight=n+"px")}void 0===A&&(A=document.body.style.overflow,document.body.style.overflow="hidden")},J=function(){void 0!==D&&(document.body.style.paddingRight=D,D=void 0),void 0!==A&&(document.body.style.overflow=A,A=void 0)},V=function(t){return!!t&&t.scrollHeight-t.scrollTop<=t.clientHeight},W=function(t,i){var n=t.targetTouches[0].clientY-N;return!q(t.target)&&(i&&0===i.scrollTop&&n>0||V(i)&&n<0?B(t):(t.stopPropagation(),!0))},U=function(t,i){if(t){if(!P.some((function(i){return i.targetElement===t}))){var n={targetElement:t,options:i||{}};P=[].concat(T(P),[n]),C?(t.ontouchstart=function(t){1===t.targetTouches.length&&(N=t.targetTouches[0].clientY)},t.ontouchmove=function(i){1===i.targetTouches.length&&W(i,t)},I||(document.addEventListener("touchmove",B,j?{passive:!1}:void 0),I=!0)):H(i)}}else console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.")},X=function(){C?(P.forEach((function(t){t.targetElement.ontouchstart=null,t.targetElement.ontouchmove=null})),I&&(document.removeEventListener("touchmove",B,j?{passive:!1}:void 0),I=!1),N=-1):J(),P=[]},K=["[contenteditable]",'[tabindex]:not([tabindex^="-"])',"a[href]","button:not([disabled]):not([aria-hidden])",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])"],Y=function(){function t(i){var n=i.closeTrigger,e=void 0===n?"data-glsr-close":n,o=i.onClose,s=void 0===o?function(){}:o,r=i.onOpen,u=void 0===r?function(){}:r,a=i.openClass,h=void 0===a?"is-open":a,c=i.openTrigger,f=void 0===c?"data-glsr-trigger":c,l=i.targetModalId,v=void 0===l?"glsr-modal":l,m=i.triggers,w=void 0===m?[]:m;d(this,t),this.modal=document.getElementById(v),this.config={openTrigger:f,closeTrigger:e,openClass:h,onOpen:u,onClose:s},this.events={mouseup:this.onClick.bind(this),keydown:this.onKeydown.bind(this),touchstart:this.onClick.bind(this)},w.length>0&&this.registerTriggers(w)}return v(t,[{key:"addEventListeners",value:function(){this.eventListener(this.modal,"add",["mouseup","touchstart"]),this.eventListener(document,"add",["keydown"])}},{key:"closeModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;i&&(i.preventDefault(),i.stopPropagation()),this.modal.setAttribute("aria-hidden","true"),this.removeEventListeners(),X(),this.activeElement&&this.activeElement.focus&&this.activeElement.focus();var n=function n(){t.modal.classList.remove(t.config.openClass),t.modal.removeEventListener("animationend",n,!1),t.config.onClose(t.modal,t.activeElement,i)};this.modal.addEventListener("animationend",n,!1)}},{key:"closeModalById",value:function(t){this.modal=document.getElementById(t),this.modal&&this.closeModal()}},{key:"eventListener",value:function(t,i,n){var e=this;n.forEach((function(n){return t[i+"EventListener"](n,e.events[n])}))}},{key:"getFocusableNodes",value:function(){var t=this.modal.querySelectorAll(K);return Array.prototype.slice.call(t)}},{key:"onClick",value:function(t){t.target.hasAttribute(this.config.closeTrigger)&&this.closeModal(t)}},{key:"onKeydown",value:function(t){27===t.keyCode&&this.closeModal(t),9===t.keyCode&&this.retainFocus(t)}},{key:"openModal",value:function(){var t=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.activeElement=document.activeElement,i&&(i.preventDefault(),this.activeElement=i.currentTarget),this.config.onOpen(this.modal,this.activeElement,i),this.modal.setAttribute("aria-hidden","false"),this.modal.classList.add(this.config.openClass),U(this.modal.querySelector("[data-glsr-modal]")),this.addEventListeners();var n=function i(){t.modal.removeEventListener("animationend",i,!1),t.setFocusToFirstNode()};this.modal.addEventListener("animationend",n,!1)}},{key:"registerTriggers",value:function(t){var i=this;t.filter(Boolean).forEach((function(t){t.triggerModal&&t.removeEventListener("click",t.triggerModal),t.triggerModal=i.openModal.bind(i),t.addEventListener("click",t.triggerModal)}))}},{key:"removeEventListeners",value:function(){this.eventListener(this.modal,"remove",["mouseup","touchstart"]),this.eventListener(document,"remove",["keydown"])}},{key:"retainFocus",value:function(t){var i=this.getFocusableNodes();if(0!==i.length)if(i=i.filter((function(t){return null!==t.offsetParent})),this.modal.contains(document.activeElement)){var n=i.indexOf(document.activeElement);t.shiftKey&&0===n&&(i[i.length-1].focus(),t.preventDefault()),!t.shiftKey&&i.length>0&&n===i.length-1&&(i[0].focus(),t.preventDefault())}else i[0].focus()}},{key:"setFocusToFirstNode",value:function(){var t=this,i=this.getFocusableNodes();if(0!==i.length){var n=i.filter((function(i){return!i.hasAttribute(t.config.closeTrigger)}));n.length>0&&n[0].focus(),0===n.length&&i[0].focus()}}}]),t}(),$={},z=function(t){if(t)$[t].closeModalById(t);else for(var i in $)$[i].closeModal()},Q=function(t,i){var n={};return t.forEach((function(t){var e=t.attributes[i].value;void 0===n[e]&&(n[e]=[]),n[e].push(t)})),n},Z=function(t){var i=Object.assign({},{openTrigger:"data-glsr-trigger"},t),n=Array.prototype.slice.call(document.querySelectorAll("[".concat(i.openTrigger,"]"))),e=Q(n,i.openTrigger);return Object.keys(e).forEach((function(t){i.targetModalId=t,i.triggers=e[t],$[t]=new Y(i)})),$},tt=function(t,i){var n=i||{};n.targetModalId=t,$[t]&&$[t].removeEventListeners(),$[t]=new Y(n),$[t].openModal()},it={init:Z,open:tt,close:z},nt={scrollOffset:16,scrollTime:468},et={button:"button.glsr-button-loadmore",hide:"glsr-hide",link:"a.page-numbers",pagination:".glsr-pagination",reviews:".glsr-reviews, [data-reviews]"},ot=function(){function t(i){d(this,t),this.reviewsEl=i.querySelector(et.reviews),this.wrapperEl=i,this.init()}return v(t,[{key:"data",value:function(t,i){var n=t.closest(et.pagination);if(!n)return console.error("Pagination config not found."),!1;try{for(var e=JSON.parse(JSON.stringify(n.dataset)),o={},s=0,r=Object.keys(e);s<r.length;s++){var u=r[s],a=void 0;try{a=JSON.parse(e[u])}catch(t){a=e[u]}o["".concat(GLSR.nameprefix,"[atts][").concat(u,"]")]=a}return o["".concat(GLSR.nameprefix,"[_action]")]="fetch-paged-reviews",o["".concat(GLSR.nameprefix,"[page]")]=t.dataset.page||1,o["".concat(GLSR.nameprefix,"[schema]")]=!1,o["".concat(GLSR.nameprefix,"[url]")]=t.href||"",o}catch(t){return console.error("Invalid pagination config."),!1}}},{key:"init",value:function(){this.initLoadMore(),this.initPagination(),GLSR.state.popstate||(window.addEventListener("popstate",this.onPopstate.bind(this)),GLSR.state.popstate=!0)}},{key:"initLoadMore",value:function(){var t=this,i=this.wrapperEl.querySelectorAll(et.button);i.length&&[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onLoadMore.bind(t,i)),i.dataset.ready=!0)}))}},{key:"initPagination",value:function(){var t=this,i=this.wrapperEl.querySelectorAll("".concat(et.pagination," ").concat(et.link));if(i.length){[].forEach.call(i,(function(i){i.dataset.ready||(i.addEventListener("click",t.onPaginate.bind(t,i)),i.dataset.ready=!0)}));var n=this.wrapperEl.querySelector("".concat(et.pagination," .current"));if(n){var e=this.data(n),o=n.nextElementSibling;e&&o&&2==+o.dataset.page&&GLSR.urlparameter&&window.history.replaceState(e,"",window.location)}}}},{key:"onLoadMore",value:function(t,i){var n=this.data(t);n&&(t.ariaBusy="true",t.setAttribute("disabled",""),i.preventDefault(),GLSR.ajax.post(n,this.handleLoadMore.bind(this,t,n)))}},{key:"onPaginate",value:function(t,i){var n=this.data(t);n&&(this.wrapperEl.classList.add(et.hide),i.preventDefault(),GLSR.ajax.post(n,this.handlePagination.bind(this,t,n)))}},{key:"onPopstate",value:function(t){t.state&&(this.wrapperEl.classList.add(et.hide),GLSR.ajax.post(t.state,this.handlePopstate.bind(this,t.state)))}},{key:"handleLoadMore",value:function(t,i,n,e){t.ariaBusy="false",t.removeAttribute("disabled"),e?([].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(t){t.innerHTML=n.pagination})),this.reviewsEl.innerHTML+=n.reviews,this.init(),new p(this.reviewsEl)):window.location=location}},{key:"handlePagination",value:function(t,i,n,e){e?(this.paginate(n),GLSR.urlparameter&&window.history.pushState(i,"",t.href)):window.location=t.href}},{key:"handlePopstate",value:function(t,i,n){n?this.paginate(i):console.error(i)}},{key:"paginate",value:function(t){[].forEach.call(this.wrapperEl.querySelectorAll(et.pagination),(function(i){i.innerHTML=t.pagination})),this.reviewsEl.innerHTML=t.reviews,this.scrollToTop(),this.init(),this.wrapperEl.classList.remove(et.hide),new p(this.reviewsEl),GLSR.Event.trigger("site-reviews/pagination/handle",t,this)}},{key:"scrollToTop",value:function(){var t=nt.scrollOffset;[].forEach.call(GLSR.ajaxpagination,(function(i){var n=document.querySelector(i);n&&"fixed"===window.getComputedStyle(n).getPropertyValue("position")&&(t+=n.clientHeight)}));var i=this.reviewsEl.getBoundingClientRect().top-t;i>0||this.scrollStep({endY:i,offset:window.pageYOffset,startTime:window.performance.now(),startY:this.reviewsEl.scrollTop})}},{key:"scrollStep",value:function(t){var i=Math.min(1,(window.performance.now()-t.startTime)/nt.scrollTime),n=.5*(1-Math.cos(Math.PI*i)),e=t.startY+(t.endY-t.startY)*n;window.scroll(0,t.offset+e),e!==t.endY&&window.requestAnimationFrame(this.scrollStep.bind(this,t))}}]),t}(),st=function(){[].forEach.call(document.querySelectorAll(et.pagination),(function(t){var i=t.closest(".glsr");i&&(t.classList.contains("glsr-ajax-loadmore")||t.classList.contains("glsr-ajax-pagination"))&&new ot(i)}))},rt=function(){var t="glsr-modal__content",i="glsr-modal__review";window.GLSR.Modal.init({onClose:function(n,e,o){n.querySelector("."+t).innerHTML="",n.classList.remove(i),GLSR.Event.trigger("site-reviews/modal/close",n,e,o)},onOpen:function(n,e,o){var s=e.closest(".glsr").cloneNode(!0),r=e.closest(".glsr-review").cloneNode(!0);s.innerHTML="",s.appendChild(r),n.querySelector("."+t).appendChild(s),n.classList.add(i),GLSR.Event.trigger("site-reviews/modal/open",n,e,o)},openTrigger:"data-excerpt-trigger"})},ut=function(){[].forEach.call(document.querySelectorAll(".glsr"),(function(t){var i="glsr-"+window.getComputedStyle(t,null).getPropertyValue("direction");t.classList.add(i)})),new p,new O,st()};window.hasOwnProperty("GLSR")||(window.GLSR={}),window.GLSR.ajax=new s,window.GLSR.forms=[],window.GLSR.Event=f,window.GLSR.Forms=O,window.GLSR.Modal=it,f.on("site-reviews/init",ut),f.on("site-reviews/excerpts/init",rt),document.addEventListener("DOMContentLoaded",(function(){f.trigger("site-reviews/init")}))},113:function(){},30:function(){},966:function(){},83:function(){},649:function(){},408:function(){},529:function(){},275:function(){},872:function(){},865:function(){},835:function(){},786:function(){},45:function(){},622:function(){},688:function(){},340:function(){},961:function(){},853:function(){},712:function(){},651:function(){},730:function(){},382:function(){},747:function(){},605:function(){},410:function(){},406:function(){},829:function(){},273:function(){},518:function(){},963:function(){},449:function(t){function i(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function n(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function e(t,i,e){return i&&n(t.prototype,i),e&&n(t,e),t}var o={classNames:{active:"gl-active",base:"gl-star-rating",selected:"gl-selected"},clearable:!0,maxStars:10,prebuilt:!1,stars:null,tooltip:"Select a Rating"},s=function(t,i,n){t.classList[i?"add":"remove"](n)},r=function(t){var i=document.createElement("span");for(var n in t=t||{})i.setAttribute(n,t[n]);return i},u=function(t,i,n){var e=r(n);return t.parentNode.insertBefore(e,i?t.nextSibling:t),e},a=function t(){for(var i=arguments.length,n=new Array(i),e=0;e<i;e++)n[e]=arguments[e];var o={};return n.forEach((function(i){Object.keys(i||{}).forEach((function(e){if(void 0!==n[0][e]){var s=i[e];"Object"!==h(s)||"Object"!==h(o[e])?o[e]=s:o[e]=t(o[e],s)}}))})),o},h=function(t){return{}.toString.call(t).slice(8,-1)},c=function(){function t(n,e){var o,s;i(this,t),this.direction=window.getComputedStyle(n,null).getPropertyValue("direction"),this.el=n,this.events={change:this.onChange.bind(this),keydown:this.onKeyDown.bind(this),mousedown:this.onPointerDown.bind(this),mouseleave:this.onPointerLeave.bind(this),mousemove:this.onPointerMove.bind(this),reset:this.onReset.bind(this),touchend:this.onPointerDown.bind(this),touchmove:this.onPointerMove.bind(this)},this.indexActive=null,this.indexSelected=null,this.props=e,this.tick=null,this.ticking=!1,this.values=function(t){var i=[];return[].forEach.call(t.options,(function(t){var n=parseInt(t.value,10)||0;n>0&&i.push({index:t.index,text:t.text,value:n})})),i.sort((function(t,i){return t.value-i.value}))}(n),this.widgetEl=null,this.el.widget&&this.el.widget.destroy(),o=this.values.length,s=this.props.maxStars,/^\d+$/.test(o)&&1<=o&&o<=s?this.build():this.destroy()}return e(t,[{key:"build",value:function(){this.destroy(),this.buildWidget(),this.selectValue(this.indexSelected=this.selected(),!1),this.handleEvents("add"),this.el.widget=this}},{key:"buildWidget",value:function(){var t,i,n=this;this.props.prebuilt?(t=this.el.parentNode,i=t.querySelector("."+this.props.classNames.base+"--stars")):((t=u(this.el,!1,{class:this.props.classNames.base})).appendChild(this.el),i=u(this.el,!0,{class:this.props.classNames.base+"--stars"}),this.values.forEach((function(t,e){var o=r({"data-index":e,"data-value":t.value});"function"==typeof n.props.stars&&n.props.stars.call(n,o,t,e),[].forEach.call(o.children,(function(t){return t.style.pointerEvents="none"})),i.innerHTML+=o.outerHTML}))),t.dataset.starRating="",t.classList.add(this.props.classNames.base+"--"+this.direction),this.props.tooltip&&i.setAttribute("role","tooltip"),this.widgetEl=i}},{key:"changeIndexTo",value:function(t,i){var n=this;if(this.indexActive!==t||i){if([].forEach.call(this.widgetEl.children,(function(i,e){s(i,e<=t,n.props.classNames.active),s(i,e===n.indexSelected,n.props.classNames.selected)})),this.widgetEl.setAttribute("data-rating",t+1),"function"==typeof this.props.stars||this.props.prebuilt||(this.widgetEl.classList.remove("s"+10*(this.indexActive+1)),this.widgetEl.classList.add("s"+10*(t+1))),this.props.tooltip){var e=t<0?this.props.tooltip:this.values[t].text;this.widgetEl.setAttribute("aria-label",e)}this.indexActive=t}this.ticking=!1}},{key:"destroy",value:function(){this.indexActive=null,this.indexSelected=this.selected();var t=this.el.parentNode;t.classList.contains(this.props.classNames.base)&&(this.props.prebuilt?(this.widgetEl=t.querySelector("."+this.props.classNames.base+"--stars"),t.classList.remove(this.props.classNames.base+"--"+this.direction),delete t.dataset.starRating):t.parentNode.replaceChild(this.el,t),this.handleEvents("remove")),delete this.el.widget}},{key:"eventListener",value:function(t,i,n,e){var o=this;n.forEach((function(n){return t[i+"EventListener"](n,o.events[n],e||!1)}))}},{key:"handleEvents",value:function(t){var i=this.el.closest("form");i&&"FORM"===i.tagName&&this.eventListener(i,t,["reset"]),this.eventListener(this.el,t,["change"]),"add"===t&&this.el.disabled||(this.eventListener(this.el,t,["keydown"]),this.eventListener(this.widgetEl,t,["mousedown","mouseleave","mousemove","touchend","touchmove"],!1))}},{key:"indexFromEvent",value:function(t){var i,n,e=(null===(i=t.touches)||void 0===i?void 0:i[0])||(null===(n=t.changedTouches)||void 0===n?void 0:n[0])||t,o=document.elementFromPoint(e.clientX,e.clientY);return[].slice.call(o.parentNode.children).indexOf(o)}},{key:"onChange",value:function(){this.changeIndexTo(this.selected(),!0)}},{key:"onKeyDown",value:function(t){var i=t.key.slice(5);if(~["Left","Right"].indexOf(i)){var n="Left"===i?-1:1;"rtl"===this.direction&&(n*=-1);var e=this.values.length-1,o=Math.min(Math.max(this.selected()+n,-1),e);this.selectValue(o,!0)}}},{key:"onPointerDown",value:function(t){t.preventDefault();var i=this.indexFromEvent(t);this.props.clearable&&i===this.indexSelected&&(i=-1),this.selectValue(i,!0)}},{key:"onPointerLeave",value:function(t){var i=this;t.preventDefault(),cancelAnimationFrame(this.tick),requestAnimationFrame((function(){return i.changeIndexTo(i.indexSelected)}))}},{key:"onPointerMove",value:function(t){var i=this;t.preventDefault(),this.ticking||(this.tick=requestAnimationFrame((function(){return i.changeIndexTo(i.indexFromEvent(t))})),this.ticking=!0)}},{key:"onReset",value:function(){var t,i=this.valueIndex(null===(t=this.el.querySelector("[selected]"))||void 0===t?void 0:t.value);this.selectValue(i||-1,!1)}},{key:"selected",value:function(){return this.valueIndex(this.el.value)}},{key:"selectValue",value:function(t,i){var n;this.el.value=(null===(n=this.values[t])||void 0===n?void 0:n.value)||"",this.indexSelected=this.selected(),!1===i?this.changeIndexTo(this.selected(),!0):this.el.dispatchEvent(new Event("change"))}},{key:"valueIndex",value:function(t){return this.values.findIndex((function(i){return i.value===+t}))}}]),t}(),f=function(){function t(n,e){i(this,t),this.destroy=this.destroy.bind(this),this.rebuild=this.rebuild.bind(this),this.widgets=[],this.buildWidgets(n,e)}return e(t,[{key:"buildWidgets",value:function(t,i){var n=this;this.queryElements(t).forEach((function(t){var e=a(o,i,JSON.parse(t.getAttribute("data-options")));"SELECT"!==t.tagName||t.widget||(!e.prebuilt&&t.parentNode.classList.contains(e.classNames.base)&&n.unwrap(t),n.widgets.push(new c(t,e)))}))}},{key:"destroy",value:function(){this.widgets.forEach((function(t){return t.destroy()}))}},{key:"queryElements",value:function(t){return"HTMLSelectElement"===h(t)?[t]:"NodeList"===h(t)?[].slice.call(t):"String"===h(t)?[].slice.call(document.querySelectorAll(t)):[]}},{key:"rebuild",value:function(){this.widgets.forEach((function(t){return t.build()}))}},{key:"unwrap",value:function(t){var i=t.parentNode,n=i.parentNode;n.insertBefore(t,i),n.removeChild(i)}}]),t}();t.exports=f}},n={};function e(t){var o=n[t];if(void 0!==o)return o.exports;var s=n[t]={exports:{}};return i[t](s,s.exports,e),s.exports}e.m=i,t=[],e.O=function(i,n,o,s){if(!n){var r=1/0;for(c=0;c<t.length;c++){n=t[c][0],o=t[c][1],s=t[c][2];for(var u=!0,a=0;a<n.length;a++)(!1&s||r>=s)&&Object.keys(e.O).every((function(t){return e.O[t](n[a])}))?n.splice(a--,1):(u=!1,s<r&&(r=s));if(u){t.splice(c--,1);var h=o();void 0!==h&&(i=h)}}return i}s=s||0;for(var c=t.length;c>0&&t[c-1][2]>s;c--)t[c]=t[c-1];t[c]=[n,o,s]},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,{a:i}),i},e.d=function(t,i){for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},e.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},function(){var t={341:0,884:0,320:0,974:0,570:0,184:0,979:0,224:0,384:0,81:0,877:0,691:0,931:0,192:0,77:0,753:0,540:0,69:0,16:0,831:0,181:0,193:0,994:0,232:0,896:0,737:0,612:0,554:0,483:0,49:0,985:0};e.O.j=function(i){return 0===t[i]};var i=function(i,n){var o,s,r=n[0],u=n[1],a=n[2],h=0;if(r.some((function(i){return 0!==t[i]}))){for(o in u)e.o(u,o)&&(e.m[o]=u[o]);if(a)var c=a(e)}for(i&&i(n);h<r.length;h++)s=r[h],e.o(t,s)&&t[s]&&t[s][0](),t[r[h]]=0;return e.O(c)},n=self.webpackChunk=self.webpackChunk||[];n.forEach(i.bind(null,0)),n.push=i.bind(null,n.push.bind(n))}(),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(721)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(406)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(829)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(273)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(518)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(963)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(113)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(30)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(966)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(83)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(649)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(408)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(529)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(275)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(872)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(865)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(835)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(786)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(45)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(622)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(688)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(340)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(961)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(853)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(712)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(651)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(730)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(382)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(747)})),e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(605)}));var o=e.O(void 0,[884,320,974,570,184,979,224,384,81,877,691,931,192,77,753,540,69,16,831,181,193,994,232,896,737,612,554,483,49,985],(function(){return e(410)}));o=e.O(o)}();
config/settings.php CHANGED
@@ -60,7 +60,19 @@ return [
60
  'tooltip' => _x('This will only allow registered users to submit reviews.', 'admin-text', 'site-reviews'),
61
  'type' => 'yes_no',
62
  ],
63
- 'settings.general.require.login_register' => [
 
 
 
 
 
 
 
 
 
 
 
 
64
  'default' => 'no',
65
  'depends_on' => [
66
  'settings.general.require.login' => 'yes',
@@ -71,6 +83,19 @@ return [
71
  ),
72
  'type' => 'yes_no',
73
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  'settings.general.multilingual' => [
75
  'class' => 'regular-text',
76
  'default' => '',
@@ -157,7 +182,7 @@ return [
157
  'settings.reviews.date.format' => 'custom',
158
  ],
159
  'label' => _x('Custom Date Format', 'admin-text', 'site-reviews'),
160
- 'tooltip' => _x('Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'admin-text', 'site-reviews'),
161
  'type' => 'text',
162
  ],
163
  'settings.reviews.name.format' => [
60
  'tooltip' => _x('This will only allow registered users to submit reviews.', 'admin-text', 'site-reviews'),
61
  'type' => 'yes_no',
62
  ],
63
+ 'settings.general.require.login_url' => [
64
+ 'default' => '',
65
+ 'depends_on' => [
66
+ 'settings.general.require.login' => 'yes',
67
+ ],
68
+ 'label' => _x('Custom Login URL', 'admin-text', 'site-reviews'),
69
+ 'placeholder' => wp_login_url(),
70
+ 'tooltip' => sprintf(_x('Site Reviews uses the %s function to get the login URL. If you would like to use a custom login URL, enter it here.', 'admin-text', 'site-reviews'),
71
+ '<a href="http://developer.wordpress.org/reference/functions/wp_login_url/" target="_blank">wp_login_url()</a>'
72
+ ),
73
+ 'type' => 'text',
74
+ ],
75
+ 'settings.general.require.register' => [
76
  'default' => 'no',
77
  'depends_on' => [
78
  'settings.general.require.login' => 'yes',
83
  ),
84
  'type' => 'yes_no',
85
  ],
86
+ 'settings.general.require.register_url' => [
87
+ 'default' => '',
88
+ 'depends_on' => [
89
+ 'settings.general.require.login' => 'yes',
90
+ 'settings.general.require.register' => 'yes',
91
+ ],
92
+ 'label' => _x('Custom Registration URL', 'admin-text', 'site-reviews'),
93
+ 'placeholder' => wp_registration_url(),
94
+ 'tooltip' => sprintf(_x('Site Reviews uses the %s function to get the registration URL. If you would like to use a custom registration URL, enter it here.', 'admin-text', 'site-reviews'),
95
+ '<a href="http://developer.wordpress.org/reference/functions/wp_registration_url/" target="_blank">wp_registration_url()</a>'
96
+ ),
97
+ 'type' => 'text',
98
+ ],
99
  'settings.general.multilingual' => [
100
  'class' => 'regular-text',
101
  'default' => '',
182
  'settings.reviews.date.format' => 'custom',
183
  ],
184
  'label' => _x('Custom Date Format', 'admin-text', 'site-reviews'),
185
+ 'tooltip' => _x('Enter a custom date format (<a href="https://wordpress.org/support/article/formatting-date-and-time/">documentation on date and time formatting</a>).', 'admin-text', 'site-reviews'),
186
  'type' => 'text',
187
  ],
188
  'settings.reviews.name.format' => [
languages/site-reviews-en_US.mo CHANGED
Binary file
languages/site-reviews-en_US.po CHANGED
@@ -36,7 +36,7 @@ msgid_plural "%s stars or less"
36
  msgstr[0] "%s star or less"
37
  msgstr[1] "%s stars or less"
38
 
39
- #: config/settings.php:302, plugin/Modules/Html/ReviewsHtml.php:142
40
  msgid "There are no reviews yet. Be the first one to write one."
41
  msgstr "There are no reviews yet. Be the first one to write one."
42
 
@@ -264,19 +264,19 @@ msgstr "Poor"
264
  msgid "Terrible"
265
  msgstr "Terrible"
266
 
267
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:123
268
  msgid "logged in"
269
  msgstr "logged in"
270
 
271
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:125
272
  msgid "You must be %s to submit a review."
273
  msgstr "You must be %s to submit a review."
274
 
275
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:136
276
  msgid "register"
277
  msgstr "register"
278
 
279
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:138
280
  msgid "You may also %s for an account."
281
  msgstr "You may also %s for an account."
282
 
@@ -625,10 +625,24 @@ msgstr "This will only allow registered users to submit reviews."
625
 
626
  #: config/settings.php:68
627
  msgctxt "admin-text"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
628
  msgid "Show Registration Link"
629
  msgstr "Show Registration Link"
630
 
631
- #: config/settings.php:69
632
  msgctxt "admin-text"
633
  msgid ""
634
  "Show a link for a new user to register. The %s Membership option must be "
@@ -637,32 +651,46 @@ msgstr ""
637
  "Show a link for a new user to register. The %s Membership option must be "
638
  "enabled in General Settings for this to work."
639
 
640
- #: config/settings.php:70
641
  msgctxt "admin-text"
642
  msgid "Anyone can register"
643
  msgstr "Anyone can register"
644
 
645
- #: config/settings.php:77
 
 
 
 
 
 
 
 
 
 
 
 
 
 
646
  msgctxt "admin-text"
647
  msgid "Multilingual"
648
  msgstr "Multilingual"
649
 
650
- #: config/settings.php:79
651
  msgctxt "admin-text"
652
  msgid "No Integration"
653
  msgstr "No Integration"
654
 
655
- #: config/settings.php:80
656
  msgctxt "admin-text"
657
  msgid "Integrate with Polylang"
658
  msgstr "Integrate with Polylang"
659
 
660
- #: config/settings.php:81
661
  msgctxt "admin-text"
662
  msgid "Integrate with WPML"
663
  msgstr "Integrate with WPML"
664
 
665
- #: config/settings.php:83
666
  msgctxt "admin-text"
667
  msgid ""
668
  "Integrate with a multilingual plugin to calculate the combined ratings for "
@@ -673,42 +701,42 @@ msgstr ""
673
  "all languages of a page; and if you are assigning reviews to your pages, "
674
  "display reviews assigned to all languages of that page."
675
 
676
- #: config/settings.php:88
677
  msgctxt "admin-text"
678
  msgid "Notifications"
679
  msgstr "Notifications"
680
 
681
- #: config/settings.php:90
682
  msgctxt "admin-text"
683
  msgid "Send to administrator"
684
  msgstr "Send to administrator"
685
 
686
- #: config/settings.php:91
687
  msgctxt "admin-text"
688
  msgid "Send to author of the page that the review is assigned to"
689
  msgstr "Send to author of the page that the review is assigned to"
690
 
691
- #: config/settings.php:92
692
  msgctxt "admin-text"
693
  msgid "Send to one or more email addresses"
694
  msgstr "Send to one or more email addresses"
695
 
696
- #: config/settings.php:93
697
  msgctxt "admin-text"
698
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
699
  msgstr "Send to <a href=\"https://slack.com/\">Slack</a>"
700
 
701
- #: config/settings.php:95
702
  msgctxt "admin-text"
703
  msgid "Select the notification recipients."
704
  msgstr "Select the notification recipients."
705
 
706
- #: config/settings.php:103
707
  msgctxt "admin-text"
708
  msgid "Send Emails From"
709
  msgstr "Send Emails From"
710
 
711
- #: config/settings.php:105
712
  msgctxt "admin-text"
713
  msgid ""
714
  "If emails are not sending, make sure that this email address uses the same "
@@ -717,22 +745,22 @@ msgstr ""
717
  "If emails are not sending, make sure that this email address uses the same "
718
  "domain as your website."
719
 
720
- #: config/settings.php:113
721
  msgctxt "admin-text"
722
  msgid "Send Emails To"
723
  msgstr "Send Emails To"
724
 
725
- #: config/settings.php:114, config/settings.php:115
726
  msgctxt "admin-text"
727
  msgid "Separate multiple emails with a comma"
728
  msgstr "Separate multiple emails with a comma"
729
 
730
- #: config/settings.php:123
731
  msgctxt "admin-text"
732
  msgid "Slack Webhook URL"
733
  msgstr "Slack Webhook URL"
734
 
735
- #: config/settings.php:124
736
  msgctxt "admin-text"
737
  msgid ""
738
  "To send notifications to Slack, create a new %s and then paste the provided "
@@ -741,17 +769,17 @@ msgstr ""
741
  "To send notifications to Slack, create a new %s and then paste the provided "
742
  "Webhook URL in the field above."
743
 
744
- #: config/settings.php:125
745
  msgctxt "admin-text"
746
  msgid "Incoming WebHook"
747
  msgstr "Incoming WebHook"
748
 
749
- #: config/settings.php:135
750
  msgctxt "admin-text"
751
  msgid "Notification Template"
752
  msgstr "Notification Template"
753
 
754
- #: config/settings.php:137
755
  msgctxt "admin-text"
756
  msgid ""
757
  "To restore the default text, save an empty template. If you are sending "
@@ -766,113 +794,113 @@ msgstr ""
766
  "href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> "
767
  "have been disabled."
768
 
769
- #: config/settings.php:143, views/pages/tools/general/import-reviews.php:54
770
  msgctxt "admin-text"
771
  msgid "Date Format"
772
  msgstr "Date Format"
773
 
774
- #: config/settings.php:145
775
  msgctxt "admin-text"
776
  msgid "Use the default date format"
777
  msgstr "Use the default date format"
778
 
779
- #: config/settings.php:146
780
  msgctxt "admin-text"
781
  msgid "Use a relative date format"
782
  msgstr "Use a relative date format"
783
 
784
- #: config/settings.php:147
785
  msgctxt "admin-text"
786
  msgid "Use a custom date format"
787
  msgstr "Use a custom date format"
788
 
789
- #: config/settings.php:149
790
  msgctxt "admin-text"
791
  msgid "The default date format is the one set in your %s."
792
  msgstr "The default date format is the one set in your %s."
793
 
794
- #: config/settings.php:150
795
  msgctxt "admin-text"
796
  msgid "WordPress settings"
797
  msgstr "WordPress settings"
798
 
799
- #: config/settings.php:159
800
  msgctxt "admin-text"
801
  msgid "Custom Date Format"
802
  msgstr "Custom Date Format"
803
 
804
- #: config/settings.php:160
805
  msgctxt "admin-text"
806
  msgid ""
807
  "Enter a custom date format (<a "
808
- "href=\"https://codex.wordpress.org/Formatting_Date_and_Time\">documentation "
809
- "on date and time formatting</a>)."
810
  msgstr ""
811
  "Enter a custom date format (<a "
812
- "href=\"https://codex.wordpress.org/Formatting_Date_and_Time\">documentation "
813
- "on date and time formatting</a>)."
814
 
815
- #: config/settings.php:166
816
  msgctxt "admin-text"
817
  msgid "Name Format"
818
  msgstr "Name Format"
819
 
820
- #: config/settings.php:168
821
  msgctxt "admin-text"
822
  msgid "Use the name as given"
823
  msgstr "Use the name as given"
824
 
825
- #: config/settings.php:169
826
  msgctxt "admin-text"
827
  msgid "Use the first name only"
828
  msgstr "Use the first name only"
829
 
830
- #: config/settings.php:170
831
  msgctxt "admin-text"
832
  msgid "Convert first name to an initial"
833
  msgstr "Convert first name to an initial"
834
 
835
- #: config/settings.php:171
836
  msgctxt "admin-text"
837
  msgid "Convert last name to an initial"
838
  msgstr "Convert last name to an initial"
839
 
840
- #: config/settings.php:172
841
  msgctxt "admin-text"
842
  msgid "Convert to all initials"
843
  msgstr "Convert to all initials"
844
 
845
- #: config/settings.php:174
846
  msgctxt "admin-text"
847
  msgid "Choose how author names are shown in your reviews."
848
  msgstr "Choose how author names are shown in your reviews."
849
 
850
- #: config/settings.php:183
851
  msgctxt "admin-text"
852
  msgid "Initial Format"
853
  msgstr "Initial Format"
854
 
855
- #: config/settings.php:185
856
  msgctxt "admin-text"
857
  msgid "Initial with a space"
858
  msgstr "Initial with a space"
859
 
860
- #: config/settings.php:186
861
  msgctxt "admin-text"
862
  msgid "Initial with a period"
863
  msgstr "Initial with a period"
864
 
865
- #: config/settings.php:187
866
  msgctxt "admin-text"
867
  msgid "Initial with a period and a space"
868
  msgstr "Initial with a period and a space"
869
 
870
- #: config/settings.php:189
871
  msgctxt "admin-text"
872
  msgid "Choose how the initial is displayed."
873
  msgstr "Choose how the initial is displayed."
874
 
875
- #: config/settings.php:196
876
  msgctxt "admin-text"
877
  msgid ""
878
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
@@ -881,7 +909,7 @@ msgstr ""
881
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
882
  "that."
883
 
884
- #: config/settings.php:197
885
  msgctxt "admin-text"
886
  msgid ""
887
  "Strict Assignment displays reviews that are assigned to this "
@@ -890,22 +918,22 @@ msgstr ""
890
  "Strict Assignment displays reviews that are assigned to this "
891
  "<code>AND</code> that."
892
 
893
- #: config/settings.php:199
894
  msgctxt "admin-text"
895
  msgid "Review Assignment"
896
  msgstr "Review Assignment"
897
 
898
- #: config/settings.php:201
899
  msgctxt "admin-text"
900
  msgid "Loose Assignment (slower database queries)"
901
  msgstr "Loose Assignment (slower database queries)"
902
 
903
- #: config/settings.php:202
904
  msgctxt "admin-text"
905
  msgid "Strict Assignment (faster database queries)"
906
  msgstr "Strict Assignment (faster database queries)"
907
 
908
- #: config/settings.php:204
909
  msgctxt "admin-text"
910
  msgid ""
911
  "This setting determines how the assigned options work in the reviews and "
@@ -914,22 +942,22 @@ msgstr ""
914
  "This setting determines how the assigned options work in the reviews and "
915
  "summary shortcodes and blocks."
916
 
917
- #: config/settings.php:209
918
  msgctxt "admin-text"
919
  msgid "Enable Assigned Links"
920
  msgstr "Enable Assigned Links"
921
 
922
- #: config/settings.php:210
923
  msgctxt "admin-text"
924
  msgid "This will display a link to the assigned posts of a review."
925
  msgstr "This will display a link to the assigned posts of a review."
926
 
927
- #: config/settings.php:215
928
  msgctxt "admin-text"
929
  msgid "Enable Avatars"
930
  msgstr "Enable Avatars"
931
 
932
- #: config/settings.php:216
933
  msgctxt "admin-text"
934
  msgid ""
935
  "The avatars are generated from the email address of the reviewer using <a "
@@ -938,137 +966,137 @@ msgstr ""
938
  "The avatars are generated from the email address of the reviewer using <a "
939
  "href=\"https://gravatar.com\">Gravatar</a>."
940
 
941
- #: config/settings.php:225
942
  msgctxt "admin-text"
943
  msgid "Fallback Avatar"
944
  msgstr "Fallback Avatar"
945
 
946
- #: config/settings.php:227, config/settings.php:434
947
  msgctxt "admin-text"
948
  msgid "Custom Image URL"
949
  msgstr "Custom Image URL"
950
 
951
- #: config/settings.php:228
952
  msgctxt "admin-text"
953
  msgid "Identicon (geometric patterns)"
954
  msgstr "Identicon (geometric patterns)"
955
 
956
- #: config/settings.php:229
957
  msgctxt "admin-text"
958
  msgid "Initials (initials of reviewer's name)"
959
  msgstr "Initials (initials of reviewer's name)"
960
 
961
- #: config/settings.php:230
962
  msgctxt "admin-text"
963
  msgid "Monster (monsters with generated faces)"
964
  msgstr "Monster (monsters with generated faces)"
965
 
966
- #: config/settings.php:231
967
  msgctxt "admin-text"
968
  msgid "Mystery (silhouetted outline of a person)"
969
  msgstr "Mystery (silhouetted outline of a person)"
970
 
971
- #: config/settings.php:232
972
  msgctxt "admin-text"
973
  msgid "Pixel Avatars (locally generated)"
974
  msgstr "Pixel Avatars (locally generated)"
975
 
976
- #: config/settings.php:233
977
  msgctxt "admin-text"
978
  msgid "Retro (8-bit arcade-style pixelated faces)"
979
  msgstr "Retro (8-bit arcade-style pixelated faces)"
980
 
981
- #: config/settings.php:234
982
  msgctxt "admin-text"
983
  msgid "Robohash (robots with generated faces)"
984
  msgstr "Robohash (robots with generated faces)"
985
 
986
- #: config/settings.php:235
987
  msgctxt "admin-text"
988
  msgid "Wavatar (faces with generated features)"
989
  msgstr "Wavatar (faces with generated features)"
990
 
991
- #: config/settings.php:237
992
  msgctxt "admin-text"
993
  msgid "This image is displayed when there is no avatar."
994
  msgstr "This image is displayed when there is no avatar."
995
 
996
- #: config/settings.php:245
997
  msgctxt "admin-text"
998
  msgid "Fallback Avatar URL"
999
  msgstr "Fallback Avatar URL"
1000
 
1001
- #: config/settings.php:246
1002
  msgctxt "admin-text"
1003
  msgid "Enter a custom image URL to use as the fallback avatar."
1004
  msgstr "Enter a custom image URL to use as the fallback avatar."
1005
 
1006
- #: config/settings.php:254
1007
  msgctxt "admin-text"
1008
  msgid "Regenerate Avatars"
1009
  msgstr "Regenerate Avatars"
1010
 
1011
- #: config/settings.php:255
1012
  msgctxt "admin-text"
1013
  msgid "This will regenerate the avatar whenever a local review is shown."
1014
  msgstr "This will regenerate the avatar whenever a local review is shown."
1015
 
1016
- #: config/settings.php:264
1017
  msgctxt "admin-text"
1018
  msgid "Avatar Size"
1019
  msgstr "Avatar Size"
1020
 
1021
- #: config/settings.php:266
1022
  msgctxt "admin-text"
1023
  msgid "Set the height/width of the avatar in pixels."
1024
  msgstr "Set the height/width of the avatar in pixels."
1025
 
1026
- #: config/settings.php:271
1027
  msgctxt "admin-text"
1028
  msgid "Enable Excerpts"
1029
  msgstr "Enable Excerpts"
1030
 
1031
- #: config/settings.php:272
1032
  msgctxt "admin-text"
1033
  msgid "Display an excerpt instead of the full review."
1034
  msgstr "Display an excerpt instead of the full review."
1035
 
1036
- #: config/settings.php:281
1037
  msgctxt "admin-text"
1038
  msgid "Excerpt Action"
1039
  msgstr "Excerpt Action"
1040
 
1041
- #: config/settings.php:283
1042
  msgctxt "admin-text"
1043
  msgid "Collapse/Expand the review"
1044
  msgstr "Collapse/Expand the review"
1045
 
1046
- #: config/settings.php:284
1047
  msgctxt "admin-text"
1048
  msgid "Display the review in a modal"
1049
  msgstr "Display the review in a modal"
1050
 
1051
- #: config/settings.php:295
1052
  msgctxt "admin-text"
1053
  msgid "Excerpt Length"
1054
  msgstr "Excerpt Length"
1055
 
1056
- #: config/settings.php:296
1057
  msgctxt "admin-text"
1058
  msgid "Set the excerpt word length."
1059
  msgstr "Set the excerpt word length."
1060
 
1061
- #: config/settings.php:301
1062
  msgctxt "admin-text"
1063
  msgid "The default text is: %s"
1064
  msgstr "The default text is: %s"
1065
 
1066
- #: config/settings.php:304
1067
  msgctxt "admin-text"
1068
  msgid "Enable Fallback Text"
1069
  msgstr "Enable Fallback Text"
1070
 
1071
- #: config/settings.php:305
1072
  msgctxt "admin-text"
1073
  msgid ""
1074
  "Display the fallback text when there are no reviews to display. This can be "
@@ -1079,12 +1107,12 @@ msgstr ""
1079
  "changed on the %s page. You may also override this by using the "
1080
  "\"fallback\" option on the shortcode."
1081
 
1082
- #: config/settings.php:306
1083
  msgctxt "admin-text"
1084
  msgid "Translations"
1085
  msgstr "Translations"
1086
 
1087
- #: config/settings.php:313
1088
  msgctxt "admin-text"
1089
  msgid ""
1090
  "If you would like to keep the pagination links but prevent search engines "
@@ -1093,37 +1121,37 @@ msgstr ""
1093
  "If you would like to keep the pagination links but prevent search engines "
1094
  "from indexing them, add the following lines to your %s file: %s"
1095
 
1096
- #: config/settings.php:319
1097
  msgctxt "admin-text"
1098
  msgid "Enable Paginated URLs"
1099
  msgstr "Enable Paginated URLs"
1100
 
1101
- #: config/settings.php:320
1102
  msgctxt "admin-text"
1103
  msgid "Paginated URLs include the %s URL parameter."
1104
  msgstr "Paginated URLs include the %s URL parameter."
1105
 
1106
- #: config/settings.php:328
1107
  msgctxt "admin-text"
1108
  msgid "Default Schema Type"
1109
  msgstr "Default Schema Type"
1110
 
1111
- #: config/settings.php:330
1112
  msgctxt "admin-text"
1113
  msgid "Local Business"
1114
  msgstr "Local Business"
1115
 
1116
- #: config/settings.php:331
1117
  msgctxt "admin-text"
1118
  msgid "Product"
1119
  msgstr "Product"
1120
 
1121
- #: config/settings.php:332
1122
  msgctxt "admin-text"
1123
  msgid "Custom"
1124
  msgstr "Custom"
1125
 
1126
- #: config/settings.php:334, config/settings.php:358, config/settings.php:380, config/settings.php:402, config/settings.php:424, config/settings.php:445, config/settings.php:457, config/settings.php:469, config/settings.php:485, config/settings.php:498, config/settings.php:511, config/settings.php:524, config/settings.php:536
1127
  msgctxt "admin-text"
1128
  msgid ""
1129
  "You can use the %s to override this value on your page. The Custom Field "
@@ -1132,262 +1160,262 @@ msgstr ""
1132
  "You can use the %s to override this value on your page. The Custom Field "
1133
  "name to use is:"
1134
 
1135
- #: config/settings.php:335, config/settings.php:359, config/settings.php:381, config/settings.php:403, config/settings.php:425, config/settings.php:446, config/settings.php:458, config/settings.php:470, config/settings.php:486, config/settings.php:499, config/settings.php:512, config/settings.php:525, config/settings.php:537, views/pages/settings/schema.php:19
1136
  msgctxt "admin-text"
1137
  msgid "Custom Fields metabox"
1138
  msgstr "Custom Fields metabox"
1139
 
1140
- #: config/settings.php:344
1141
  msgctxt "admin-text"
1142
  msgid "Custom Schema Type"
1143
  msgstr "Custom Schema Type"
1144
 
1145
- #: config/settings.php:346
1146
  msgctxt "admin-text"
1147
  msgid "read this"
1148
  msgstr "read this"
1149
 
1150
- #: config/settings.php:353
1151
  msgctxt "admin-text"
1152
  msgid "Default Name"
1153
  msgstr "Default Name"
1154
 
1155
- #: config/settings.php:355
1156
  msgctxt "admin-text"
1157
  msgid "Use the assigned or current page title"
1158
  msgstr "Use the assigned or current page title"
1159
 
1160
- #: config/settings.php:356, config/settings.php:369
1161
  msgctxt "admin-text"
1162
  msgid "Enter a custom title"
1163
  msgstr "Enter a custom title"
1164
 
1165
- #: config/settings.php:368
1166
  msgctxt "admin-text"
1167
  msgid "Custom Name"
1168
  msgstr "Custom Name"
1169
 
1170
- #: config/settings.php:375
1171
  msgctxt "admin-text"
1172
  msgid "Default Description"
1173
  msgstr "Default Description"
1174
 
1175
- #: config/settings.php:377
1176
  msgctxt "admin-text"
1177
  msgid "Use the assigned or current page excerpt"
1178
  msgstr "Use the assigned or current page excerpt"
1179
 
1180
- #: config/settings.php:378, config/settings.php:391
1181
  msgctxt "admin-text"
1182
  msgid "Enter a custom description"
1183
  msgstr "Enter a custom description"
1184
 
1185
- #: config/settings.php:390
1186
  msgctxt "admin-text"
1187
  msgid "Custom Description"
1188
  msgstr "Custom Description"
1189
 
1190
- #: config/settings.php:397
1191
  msgctxt "admin-text"
1192
  msgid "Default URL"
1193
  msgstr "Default URL"
1194
 
1195
- #: config/settings.php:399
1196
  msgctxt "admin-text"
1197
  msgid "Use the assigned or current page URL"
1198
  msgstr "Use the assigned or current page URL"
1199
 
1200
- #: config/settings.php:400, config/settings.php:413
1201
  msgctxt "admin-text"
1202
  msgid "Enter a custom URL"
1203
  msgstr "Enter a custom URL"
1204
 
1205
- #: config/settings.php:412
1206
  msgctxt "admin-text"
1207
  msgid "Custom URL"
1208
  msgstr "Custom URL"
1209
 
1210
- #: config/settings.php:419
1211
  msgctxt "admin-text"
1212
  msgid "Default Image"
1213
  msgstr "Default Image"
1214
 
1215
- #: config/settings.php:421
1216
  msgctxt "admin-text"
1217
  msgid "Use the featured image of the assigned or current page"
1218
  msgstr "Use the featured image of the assigned or current page"
1219
 
1220
- #: config/settings.php:422, config/settings.php:435
1221
  msgctxt "admin-text"
1222
  msgid "Enter a custom image URL"
1223
  msgstr "Enter a custom image URL"
1224
 
1225
- #: config/settings.php:443
1226
  msgctxt "admin-text"
1227
  msgid "Address"
1228
  msgstr "Address"
1229
 
1230
- #: config/settings.php:444
1231
  msgctxt "admin-text"
1232
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
1233
  msgstr "60 29th Street #343, San Francisco, CA 94110, US"
1234
 
1235
- #: config/settings.php:455
1236
  msgctxt "admin-text"
1237
  msgid "Telephone Number"
1238
  msgstr "Telephone Number"
1239
 
1240
- #: config/settings.php:456
1241
  msgctxt "admin-text"
1242
  msgid "+1 (877) 273-3049"
1243
  msgstr "+1 (877) 273-3049"
1244
 
1245
- #: config/settings.php:467
1246
  msgctxt "admin-text"
1247
  msgid "Price Range"
1248
  msgstr "Price Range"
1249
 
1250
- #: config/settings.php:468
1251
  msgctxt "admin-text"
1252
  msgid "$$-$$$"
1253
  msgstr "$$-$$$"
1254
 
1255
- #: config/settings.php:480
1256
  msgctxt "admin-text"
1257
  msgid "Offer Type"
1258
  msgstr "Offer Type"
1259
 
1260
- #: config/settings.php:482
1261
  msgctxt "admin-text"
1262
  msgid "AggregateOffer"
1263
  msgstr "AggregateOffer"
1264
 
1265
- #: config/settings.php:483
1266
  msgctxt "admin-text"
1267
  msgid "Offer"
1268
  msgstr "Offer"
1269
 
1270
- #: config/settings.php:496
1271
  msgctxt "admin-text"
1272
  msgid "Price"
1273
  msgstr "Price"
1274
 
1275
- #: config/settings.php:509
1276
  msgctxt "admin-text"
1277
  msgid "Low Price"
1278
  msgstr "Low Price"
1279
 
1280
- #: config/settings.php:522
1281
  msgctxt "admin-text"
1282
  msgid "High Price"
1283
  msgstr "High Price"
1284
 
1285
- #: config/settings.php:534
1286
  msgctxt "admin-text"
1287
  msgid "Price Currency"
1288
  msgstr "Price Currency"
1289
 
1290
- #: config/settings.php:535
1291
  msgctxt "admin-text"
1292
  msgid "USD"
1293
  msgstr "USD"
1294
 
1295
- #: config/settings.php:543
1296
  msgctxt "admin-text"
1297
  msgid "Required Fields"
1298
  msgstr "Required Fields"
1299
 
1300
- #: config/settings.php:545, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
1301
  msgctxt "admin-text"
1302
  msgid "Rating"
1303
  msgstr "Rating"
1304
 
1305
- #: config/settings.php:546, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
1306
  msgctxt "admin-text"
1307
  msgid "Title"
1308
  msgstr "Title"
1309
 
1310
- #: config/settings.php:547, plugin/Defaults/PostTypeLabelDefaults.php:15
1311
  msgctxt "admin-text"
1312
  msgid "Review"
1313
  msgstr "Review"
1314
 
1315
- #: config/settings.php:548, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
1316
  msgctxt "admin-text"
1317
  msgid "Name"
1318
  msgstr "Name"
1319
 
1320
- #: config/settings.php:549, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
1321
  msgctxt "admin-text"
1322
  msgid "Email"
1323
  msgstr "Email"
1324
 
1325
- #: config/settings.php:550, config/forms/metabox-fields.php:30
1326
  msgctxt "admin-text"
1327
  msgid "Terms"
1328
  msgstr "Terms"
1329
 
1330
- #: config/settings.php:552
1331
  msgctxt "admin-text"
1332
  msgid "Choose which fields should be required in the review form."
1333
  msgstr "Choose which fields should be required in the review form."
1334
 
1335
- #: config/settings.php:558
1336
  msgctxt "admin-text"
1337
  msgid "Limit Reviews"
1338
  msgstr "Limit Reviews"
1339
 
1340
- #: config/settings.php:560
1341
  msgctxt "admin-text"
1342
  msgid "No Limit"
1343
  msgstr "No Limit"
1344
 
1345
- #: config/settings.php:561
1346
  msgctxt "admin-text"
1347
  msgid "By Email Address"
1348
  msgstr "By Email Address"
1349
 
1350
- #: config/settings.php:562
1351
  msgctxt "admin-text"
1352
  msgid "By IP Address"
1353
  msgstr "By IP Address"
1354
 
1355
- #: config/settings.php:563
1356
  msgctxt "admin-text"
1357
  msgid "By Username (will only work for registered users)"
1358
  msgstr "By Username (will only work for registered users)"
1359
 
1360
- #: config/settings.php:565
1361
  msgctxt "admin-text"
1362
  msgid "Limits the number of reviews that can be submitted to one-per-person."
1363
  msgstr "Limits the number of reviews that can be submitted to one-per-person."
1364
 
1365
- #: config/settings.php:573
1366
  msgctxt "admin-text"
1367
  msgid "Restrict Limits To"
1368
  msgstr "Restrict Limits To"
1369
 
1370
- #: config/settings.php:575, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
1371
  msgctxt "admin-text"
1372
  msgid "Assigned Posts"
1373
  msgstr "Assigned Posts"
1374
 
1375
- #: config/settings.php:576
1376
  msgctxt "admin-text"
1377
  msgid "Assigned Terms"
1378
  msgstr "Assigned Terms"
1379
 
1380
- #: config/settings.php:577, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
1381
  msgctxt "admin-text"
1382
  msgid "Assigned Users"
1383
  msgstr "Assigned Users"
1384
 
1385
- #: config/settings.php:580
1386
  msgctxt "admin-text"
1387
  msgid "Select which assignments the review limits should be restricted to."
1388
  msgstr "Select which assignments the review limits should be restricted to."
1389
 
1390
- #: config/settings.php:581
1391
  msgctxt "admin-text"
1392
  msgid ""
1393
  "The review limits use strict assignment, i.e. <code>restrict limits to "
@@ -1396,12 +1424,12 @@ msgstr ""
1396
  "The review limits use strict assignment, i.e. <code>restrict limits to "
1397
  "reviews assigned to this AND this</code>."
1398
 
1399
- #: config/settings.php:590
1400
  msgctxt "admin-text"
1401
  msgid "Email Whitelist"
1402
  msgstr "Email Whitelist"
1403
 
1404
- #: config/settings.php:592
1405
  msgctxt "admin-text"
1406
  msgid ""
1407
  "One Email per line. All emails in the whitelist will be excluded from the "
@@ -1410,12 +1438,12 @@ msgstr ""
1410
  "One Email per line. All emails in the whitelist will be excluded from the "
1411
  "review submission limit."
1412
 
1413
- #: config/settings.php:600
1414
  msgctxt "admin-text"
1415
  msgid "IP Address Whitelist"
1416
  msgstr "IP Address Whitelist"
1417
 
1418
- #: config/settings.php:602
1419
  msgctxt "admin-text"
1420
  msgid ""
1421
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
@@ -1424,12 +1452,12 @@ msgstr ""
1424
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1425
  "from the review submission limit.."
1426
 
1427
- #: config/settings.php:610
1428
  msgctxt "admin-text"
1429
  msgid "Username Whitelist"
1430
  msgstr "Username Whitelist"
1431
 
1432
- #: config/settings.php:612
1433
  msgctxt "admin-text"
1434
  msgid ""
1435
  "One Username per line. All registered users with a Username in the "
@@ -1438,27 +1466,27 @@ msgstr ""
1438
  "One Username per line. All registered users with a Username in the "
1439
  "whitelist will be excluded from the review submission limit."
1440
 
1441
- #: config/settings.php:618
1442
  msgctxt "admin-text"
1443
  msgid "Invisible reCAPTCHA"
1444
  msgstr "Invisible reCAPTCHA"
1445
 
1446
- #: config/settings.php:620
1447
  msgctxt "admin-text"
1448
  msgid "Do not use reCAPTCHA"
1449
  msgstr "Do not use reCAPTCHA"
1450
 
1451
- #: config/settings.php:621
1452
  msgctxt "admin-text"
1453
  msgid "Use reCAPTCHA"
1454
  msgstr "Use reCAPTCHA"
1455
 
1456
- #: config/settings.php:622
1457
  msgctxt "admin-text"
1458
  msgid "Use reCAPTCHA only for guest users"
1459
  msgstr "Use reCAPTCHA only for guest users"
1460
 
1461
- #: config/settings.php:624
1462
  msgctxt "admin-text"
1463
  msgid ""
1464
  "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service "
@@ -1471,47 +1499,47 @@ msgstr ""
1471
  "href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign "
1472
  "up</a> for an API key pair for your site."
1473
 
1474
- #: config/settings.php:632
1475
  msgctxt "admin-text"
1476
  msgid "Site Key"
1477
  msgstr "Site Key"
1478
 
1479
- #: config/settings.php:633
1480
  msgctxt "admin-text"
1481
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1482
  msgstr "Enter the Invisible reCAPTCHA Site Key here"
1483
 
1484
- #: config/settings.php:641
1485
  msgctxt "admin-text"
1486
  msgid "Site Secret"
1487
  msgstr "Site Secret"
1488
 
1489
- #: config/settings.php:642
1490
  msgctxt "admin-text"
1491
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1492
  msgstr "Enter the Invisible reCAPTCHA Site Secret here"
1493
 
1494
- #: config/settings.php:651
1495
  msgctxt "admin-text"
1496
  msgid "Badge Position"
1497
  msgstr "Badge Position"
1498
 
1499
- #: config/settings.php:653
1500
  msgctxt "admin-text"
1501
  msgid "Bottom Left"
1502
  msgstr "Bottom Left"
1503
 
1504
- #: config/settings.php:654
1505
  msgctxt "admin-text"
1506
  msgid "Bottom Right"
1507
  msgstr "Bottom Right"
1508
 
1509
- #: config/settings.php:655
1510
  msgctxt "admin-text"
1511
  msgid "Inline"
1512
  msgstr "Inline"
1513
 
1514
- #: config/settings.php:657
1515
  msgctxt "admin-text"
1516
  msgid ""
1517
  "This option may not work consistently if another plugin is loading "
@@ -1520,12 +1548,12 @@ msgstr ""
1520
  "This option may not work consistently if another plugin is loading "
1521
  "reCAPTCHA on the same page as Site Reviews."
1522
 
1523
- #: config/settings.php:662
1524
  msgctxt "admin-text"
1525
  msgid "Enable Akismet"
1526
  msgstr "Enable Akismet"
1527
 
1528
- #: config/settings.php:663
1529
  msgctxt "admin-text"
1530
  msgid ""
1531
  "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> "
@@ -1538,22 +1566,22 @@ msgstr ""
1538
  "setting to have any affect, you will need to first install and activate the "
1539
  "Akismet plugin and set up a WordPress.com API key."
1540
 
1541
- #: config/settings.php:669
1542
  msgctxt "admin-text"
1543
  msgid "Blacklist"
1544
  msgstr "Blacklist"
1545
 
1546
- #: config/settings.php:671
1547
  msgctxt "admin-text"
1548
  msgid "Use the Site Reviews Blacklist"
1549
  msgstr "Use the Site Reviews Blacklist"
1550
 
1551
- #: config/settings.php:672
1552
  msgctxt "admin-text"
1553
  msgid "Use the WordPress Disallowed Comment Keys"
1554
  msgstr "Use the WordPress Disallowed Comment Keys"
1555
 
1556
- #: config/settings.php:674
1557
  msgctxt "admin-text"
1558
  msgid ""
1559
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
@@ -1562,17 +1590,17 @@ msgstr ""
1562
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1563
  "can be found in the WordPress Discussion Settings page."
1564
 
1565
- #: config/settings.php:675
1566
  msgctxt "admin-text"
1567
  msgid "Disallowed Comment Keys"
1568
  msgstr "Disallowed Comment Keys"
1569
 
1570
- #: config/settings.php:684
1571
  msgctxt "admin-text"
1572
  msgid "Review Blacklist"
1573
  msgstr "Review Blacklist"
1574
 
1575
- #: config/settings.php:686
1576
  msgctxt "admin-text"
1577
  msgid ""
1578
  "One entry or IP address per line. When a review contains any of these "
@@ -1585,22 +1613,22 @@ msgstr ""
1585
  "rejected. It is case-insensitive and will match partial words, so \"press\" "
1586
  "will match \"WordPress\"."
1587
 
1588
- #: config/settings.php:692
1589
  msgctxt "admin-text"
1590
  msgid "Blacklist Action"
1591
  msgstr "Blacklist Action"
1592
 
1593
- #: config/settings.php:694
1594
  msgctxt "admin-text"
1595
  msgid "Require approval"
1596
  msgstr "Require approval"
1597
 
1598
- #: config/settings.php:695
1599
  msgctxt "admin-text"
1600
  msgid "Reject submission"
1601
  msgstr "Reject submission"
1602
 
1603
- #: config/settings.php:697
1604
  msgctxt "admin-text"
1605
  msgid "Choose the action that should be taken when a review is blacklisted."
1606
  msgstr "Choose the action that should be taken when a review is blacklisted."
@@ -1694,12 +1722,12 @@ msgctxt "admin-text"
1694
  msgid "Untitled"
1695
  msgstr "Untitled"
1696
 
1697
- #: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:54, plugin/Controllers/MenuController.php:51, plugin/Integrations/Elementor/ElementorWidget.php:132, views/pages/tools/sync.php:23
1698
  msgctxt "admin-text"
1699
  msgid "Settings"
1700
  msgstr "Settings"
1701
 
1702
- #: plugin/Addons/Controller.php:77, plugin/Controllers/AdminController.php:60, plugin/Controllers/MenuController.php:54
1703
  msgctxt "admin-text"
1704
  msgid "Help"
1705
  msgstr "Help"
@@ -1823,29 +1851,29 @@ msgid_plural "Unapproved <span class=\"count\">(%s)</span>"
1823
  msgstr[0] "Unapproved <span class=\"count\">(%s)</span>"
1824
  msgstr[1] "Unapproved <span class=\"count\">(%s)</span>"
1825
 
1826
- #: plugin/Controllers/AdminController.php:111
1827
  msgctxt "admin-text"
1828
  msgid "%s Review"
1829
  msgid_plural "%s Reviews"
1830
  msgstr[0] "%s Review"
1831
  msgstr[1] "%s Reviews"
1832
 
1833
- #: plugin/Controllers/AdminController.php:192, plugin/Widgets/SiteReviewsWidget.php:113
1834
  msgctxt "admin-text"
1835
  msgid "Recent Reviews"
1836
  msgstr "Recent Reviews"
1837
 
1838
- #: plugin/Controllers/AdminController.php:193, plugin/Widgets/SiteReviewsFormWidget.php:78, plugin/Integrations/Elementor/ElementorFormWidget.php:19
1839
  msgctxt "admin-text"
1840
  msgid "Submit a Review"
1841
  msgstr "Submit a Review"
1842
 
1843
- #: plugin/Controllers/AdminController.php:194, plugin/Widgets/SiteReviewsSummaryWidget.php:81
1844
  msgctxt "admin-text"
1845
  msgid "Summary of Reviews"
1846
  msgstr "Summary of Reviews"
1847
 
1848
- #: plugin/Controllers/AdminController.php:245, plugin/Controllers/AdminController.php:264, plugin/Controllers/AdminController.php:278
1849
  msgctxt "admin-text"
1850
  msgid "Nothing found."
1851
  msgstr "Nothing found."
@@ -2512,32 +2540,32 @@ msgctxt "admin-text"
2512
  msgid "Non-repeating"
2513
  msgstr "Non-repeating"
2514
 
2515
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:95
2516
  msgctxt "admin-text"
2517
  msgid "Hide the rating field"
2518
  msgstr "Hide the rating field"
2519
 
2520
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:96
2521
  msgctxt "admin-text"
2522
  msgid "Hide the title field"
2523
  msgstr "Hide the title field"
2524
 
2525
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:97
2526
  msgctxt "admin-text"
2527
  msgid "Hide the review field"
2528
  msgstr "Hide the review field"
2529
 
2530
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:98
2531
  msgctxt "admin-text"
2532
  msgid "Hide the name field"
2533
  msgstr "Hide the name field"
2534
 
2535
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:99
2536
  msgctxt "admin-text"
2537
  msgid "Hide the email field"
2538
  msgstr "Hide the email field"
2539
 
2540
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:100
2541
  msgctxt "admin-text"
2542
  msgid "Hide the terms field"
2543
  msgstr "Hide the terms field"
@@ -3893,95 +3921,100 @@ msgstr ""
3893
 
3894
  #: views/pages/tools/general/import-reviews.php:25
3895
  msgctxt "admin-text"
 
 
 
 
 
3896
  msgid "The avatar URL of the reviewer"
3897
  msgstr "The avatar URL of the reviewer"
3898
 
3899
- #: views/pages/tools/general/import-reviews.php:26
3900
  msgctxt "admin-text"
3901
  msgid "The review"
3902
  msgstr "The review"
3903
 
3904
- #: views/pages/tools/general/import-reviews.php:26, views/pages/tools/general/import-reviews.php:27, views/pages/tools/general/import-reviews.php:33
3905
  msgctxt "admin-text"
3906
  msgid "required"
3907
  msgstr "required"
3908
 
3909
- #: views/pages/tools/general/import-reviews.php:27
3910
  msgctxt "admin-text"
3911
  msgid "The review date"
3912
  msgstr "The review date"
3913
 
3914
- #: views/pages/tools/general/import-reviews.php:28
3915
  msgctxt "admin-text"
3916
  msgid "The reviewer's email"
3917
  msgstr "The reviewer's email"
3918
 
3919
- #: views/pages/tools/general/import-reviews.php:29
3920
  msgctxt "admin-text"
3921
  msgid "The IP address of the reviewer"
3922
  msgstr "The IP address of the reviewer"
3923
 
3924
- #: views/pages/tools/general/import-reviews.php:30, views/pages/tools/general/import-reviews.php:31, views/pages/tools/general/import-reviews.php:35
3925
  msgctxt "admin-text"
3926
  msgid "TRUE or FALSE"
3927
  msgstr "TRUE or FALSE"
3928
 
3929
- #: views/pages/tools/general/import-reviews.php:32
3930
  msgctxt "admin-text"
3931
  msgid "The reviewer's name"
3932
  msgstr "The reviewer's name"
3933
 
3934
- #: views/pages/tools/general/import-reviews.php:33
3935
  msgctxt "admin-text"
3936
  msgid "A number from 0-%d"
3937
  msgstr "A number from 0-%d"
3938
 
3939
- #: views/pages/tools/general/import-reviews.php:34
3940
  msgctxt "admin-text"
3941
  msgid "The review response"
3942
  msgstr "The review response"
3943
 
3944
- #: views/pages/tools/general/import-reviews.php:36
3945
  msgctxt "admin-text"
3946
  msgid "The title of the review"
3947
  msgstr "The title of the review"
3948
 
3949
- #: views/pages/tools/general/import-reviews.php:38
3950
  msgctxt "admin-text"
3951
  msgid "Entries in the CSV file that do not contain required values will be skipped."
3952
  msgstr "Entries in the CSV file that do not contain required values will be skipped."
3953
 
3954
- #: views/pages/tools/general/import-reviews.php:46
3955
  msgctxt "admin-text"
3956
  msgid "Delimiter"
3957
  msgstr "Delimiter"
3958
 
3959
- #: views/pages/tools/general/import-reviews.php:48
3960
  msgctxt "admin-text"
3961
  msgid "Select the delimiter used in the CSV file"
3962
  msgstr "Select the delimiter used in the CSV file"
3963
 
3964
- #: views/pages/tools/general/import-reviews.php:49
3965
  msgctxt "admin-text"
3966
  msgid "Comma (,)"
3967
  msgstr "Comma (,)"
3968
 
3969
- #: views/pages/tools/general/import-reviews.php:50
3970
  msgctxt "admin-text"
3971
  msgid "Semicolon (;)"
3972
  msgstr "Semicolon (;)"
3973
 
3974
- #: views/pages/tools/general/import-reviews.php:56
3975
  msgctxt "admin-text"
3976
  msgid "Select the date format used in the reviews"
3977
  msgstr "Select the date format used in the reviews"
3978
 
3979
- #: views/pages/tools/general/import-reviews.php:78
3980
  msgctxt "admin-text"
3981
  msgid "Importing reviews, please wait..."
3982
  msgstr "Importing reviews, please wait..."
3983
 
3984
- #: views/pages/tools/general/import-reviews.php:78
3985
  msgctxt "admin-text"
3986
  msgid "Import Reviews"
3987
  msgstr "Import Reviews"
@@ -4292,117 +4325,117 @@ msgctxt "admin-text"
4292
  msgid "The posts assigned to the review of any public post type."
4293
  msgstr "The posts assigned to the review of any public post type."
4294
 
4295
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:131
4296
  msgctxt "admin-text"
4297
  msgid "The terms assigned to the review in the %s taxonomy."
4298
  msgstr "The terms assigned to the review in the %s taxonomy."
4299
 
4300
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:137
4301
  msgctxt "admin-text"
4302
  msgid "The users assigned to the review."
4303
  msgstr "The users assigned to the review."
4304
 
4305
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:143
4306
  msgctxt "admin-text"
4307
  msgid "The ID for the author of the review."
4308
  msgstr "The ID for the author of the review."
4309
 
4310
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:148
4311
  msgctxt "admin-text"
4312
  msgid "The avatar of the person who submitted the review."
4313
  msgstr "The avatar of the person who submitted the review."
4314
 
4315
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:153
4316
  msgctxt "admin-text"
4317
  msgid "The content of the review."
4318
  msgstr "The content of the review."
4319
 
4320
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:162
4321
  msgctxt "admin-text"
4322
  msgid "Custom fields."
4323
  msgstr "Custom fields."
4324
 
4325
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:167
4326
  msgctxt "admin-text"
4327
  msgid "The date the review was published, in the site's timezone."
4328
  msgstr "The date the review was published, in the site's timezone."
4329
 
4330
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:173
4331
  msgctxt "admin-text"
4332
  msgid "The date the review was published, as GMT."
4333
  msgstr "The date the review was published, as GMT."
4334
 
4335
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:179
4336
  msgctxt "admin-text"
4337
  msgid "The email of the person who submitted the review."
4338
  msgstr "The email of the person who submitted the review."
4339
 
4340
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:184
4341
  msgctxt "admin-text"
4342
  msgid "Unique identifier for the review."
4343
  msgstr "Unique identifier for the review."
4344
 
4345
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:190
4346
  msgctxt "admin-text"
4347
  msgid "The IP address of the person who submitted the review."
4348
  msgstr "The IP address of the person who submitted the review."
4349
 
4350
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:196
4351
  msgctxt "admin-text"
4352
  msgid "If the review has an approved status."
4353
  msgstr "If the review has an approved status."
4354
 
4355
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:202
4356
  msgctxt "admin-text"
4357
  msgid "If the review has been modified."
4358
  msgstr "If the review has been modified."
4359
 
4360
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:208
4361
  msgctxt "admin-text"
4362
  msgid "If the review has been pinned."
4363
  msgstr "If the review has been pinned."
4364
 
4365
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:213
4366
  msgctxt "admin-text"
4367
  msgid "The date the review was last modified, in the site's timezone."
4368
  msgstr "The date the review was last modified, in the site's timezone."
4369
 
4370
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:220
4371
  msgctxt "admin-text"
4372
  msgid "The date the review was last modified, as GMT."
4373
  msgstr "The date the review was last modified, as GMT."
4374
 
4375
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:227
4376
  msgctxt "admin-text"
4377
  msgid "The name of the person who submitted the review."
4378
  msgstr "The name of the person who submitted the review."
4379
 
4380
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:232
4381
  msgctxt "admin-text"
4382
  msgid "The rating of the review."
4383
  msgstr "The rating of the review."
4384
 
4385
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:237
4386
  msgctxt "admin-text"
4387
  msgid "The response given to the review."
4388
  msgstr "The response given to the review."
4389
 
4390
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:242
4391
  msgctxt "admin-text"
4392
  msgid "A named status for the review."
4393
  msgstr "A named status for the review."
4394
 
4395
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:248
4396
  msgctxt "admin-text"
4397
  msgid "If the terms were accepted when the review was submitted."
4398
  msgstr "If the terms were accepted when the review was submitted."
4399
 
4400
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:253
4401
  msgctxt "admin-text"
4402
  msgid "The title of the review."
4403
  msgstr "The title of the review."
4404
 
4405
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:258
4406
  msgctxt "admin-text"
4407
  msgid "Type of Review for the object."
4408
  msgstr "Type of Review for the object."
@@ -4491,17 +4524,17 @@ msgctxt "admin-text"
4491
  msgid "Ensure result set excludes reviews authored by specific users."
4492
  msgstr "Ensure result set excludes reviews authored by specific users."
4493
 
4494
- #: config/settings.php:259
4495
  msgctxt "avatar size (admin-text)"
4496
  msgid "pixels"
4497
  msgstr "pixels"
4498
 
4499
- #: config/settings.php:290
4500
  msgctxt "exceprt length (admin-text)"
4501
  msgid "words"
4502
  msgstr "words"
4503
 
4504
- #: config/settings.php:345
4505
  msgctxt "read this (admin-text)"
4506
  msgid ""
4507
  "Google limits the schema types that can potentially trigger review rich "
36
  msgstr[0] "%s star or less"
37
  msgstr[1] "%s stars or less"
38
 
39
+ #: config/settings.php:327, plugin/Modules/Html/ReviewsHtml.php:142
40
  msgid "There are no reviews yet. Be the first one to write one."
41
  msgstr "There are no reviews yet. Be the first one to write one."
42
 
264
  msgid "Terrible"
265
  msgstr "Terrible"
266
 
267
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:160
268
  msgid "logged in"
269
  msgstr "logged in"
270
 
271
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:162
272
  msgid "You must be %s to submit a review."
273
  msgstr "You must be %s to submit a review."
274
 
275
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:176
276
  msgid "register"
277
  msgstr "register"
278
 
279
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:178
280
  msgid "You may also %s for an account."
281
  msgstr "You may also %s for an account."
282
 
625
 
626
  #: config/settings.php:68
627
  msgctxt "admin-text"
628
+ msgid "Custom Login URL"
629
+ msgstr "Custom Login URL"
630
+
631
+ #: config/settings.php:70
632
+ msgctxt "admin-text"
633
+ msgid ""
634
+ "Site Reviews uses the %s function to get the login URL. If you would like "
635
+ "to use a custom login URL, enter it here."
636
+ msgstr ""
637
+ "Site Reviews uses the %s function to get the login URL. If you would like "
638
+ "to use a custom login URL, enter it here."
639
+
640
+ #: config/settings.php:80
641
+ msgctxt "admin-text"
642
  msgid "Show Registration Link"
643
  msgstr "Show Registration Link"
644
 
645
+ #: config/settings.php:81
646
  msgctxt "admin-text"
647
  msgid ""
648
  "Show a link for a new user to register. The %s Membership option must be "
651
  "Show a link for a new user to register. The %s Membership option must be "
652
  "enabled in General Settings for this to work."
653
 
654
+ #: config/settings.php:82
655
  msgctxt "admin-text"
656
  msgid "Anyone can register"
657
  msgstr "Anyone can register"
658
 
659
+ #: config/settings.php:92
660
+ msgctxt "admin-text"
661
+ msgid "Custom Registration URL"
662
+ msgstr "Custom Registration URL"
663
+
664
+ #: config/settings.php:94
665
+ msgctxt "admin-text"
666
+ msgid ""
667
+ "Site Reviews uses the %s function to get the registration URL. If you would "
668
+ "like to use a custom registration URL, enter it here."
669
+ msgstr ""
670
+ "Site Reviews uses the %s function to get the registration URL. If you would "
671
+ "like to use a custom registration URL, enter it here."
672
+
673
+ #: config/settings.php:102
674
  msgctxt "admin-text"
675
  msgid "Multilingual"
676
  msgstr "Multilingual"
677
 
678
+ #: config/settings.php:104
679
  msgctxt "admin-text"
680
  msgid "No Integration"
681
  msgstr "No Integration"
682
 
683
+ #: config/settings.php:105
684
  msgctxt "admin-text"
685
  msgid "Integrate with Polylang"
686
  msgstr "Integrate with Polylang"
687
 
688
+ #: config/settings.php:106
689
  msgctxt "admin-text"
690
  msgid "Integrate with WPML"
691
  msgstr "Integrate with WPML"
692
 
693
+ #: config/settings.php:108
694
  msgctxt "admin-text"
695
  msgid ""
696
  "Integrate with a multilingual plugin to calculate the combined ratings for "
701
  "all languages of a page; and if you are assigning reviews to your pages, "
702
  "display reviews assigned to all languages of that page."
703
 
704
+ #: config/settings.php:113
705
  msgctxt "admin-text"
706
  msgid "Notifications"
707
  msgstr "Notifications"
708
 
709
+ #: config/settings.php:115
710
  msgctxt "admin-text"
711
  msgid "Send to administrator"
712
  msgstr "Send to administrator"
713
 
714
+ #: config/settings.php:116
715
  msgctxt "admin-text"
716
  msgid "Send to author of the page that the review is assigned to"
717
  msgstr "Send to author of the page that the review is assigned to"
718
 
719
+ #: config/settings.php:117
720
  msgctxt "admin-text"
721
  msgid "Send to one or more email addresses"
722
  msgstr "Send to one or more email addresses"
723
 
724
+ #: config/settings.php:118
725
  msgctxt "admin-text"
726
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
727
  msgstr "Send to <a href=\"https://slack.com/\">Slack</a>"
728
 
729
+ #: config/settings.php:120
730
  msgctxt "admin-text"
731
  msgid "Select the notification recipients."
732
  msgstr "Select the notification recipients."
733
 
734
+ #: config/settings.php:128
735
  msgctxt "admin-text"
736
  msgid "Send Emails From"
737
  msgstr "Send Emails From"
738
 
739
+ #: config/settings.php:130
740
  msgctxt "admin-text"
741
  msgid ""
742
  "If emails are not sending, make sure that this email address uses the same "
745
  "If emails are not sending, make sure that this email address uses the same "
746
  "domain as your website."
747
 
748
+ #: config/settings.php:138
749
  msgctxt "admin-text"
750
  msgid "Send Emails To"
751
  msgstr "Send Emails To"
752
 
753
+ #: config/settings.php:139, config/settings.php:140
754
  msgctxt "admin-text"
755
  msgid "Separate multiple emails with a comma"
756
  msgstr "Separate multiple emails with a comma"
757
 
758
+ #: config/settings.php:148
759
  msgctxt "admin-text"
760
  msgid "Slack Webhook URL"
761
  msgstr "Slack Webhook URL"
762
 
763
+ #: config/settings.php:149
764
  msgctxt "admin-text"
765
  msgid ""
766
  "To send notifications to Slack, create a new %s and then paste the provided "
769
  "To send notifications to Slack, create a new %s and then paste the provided "
770
  "Webhook URL in the field above."
771
 
772
+ #: config/settings.php:150
773
  msgctxt "admin-text"
774
  msgid "Incoming WebHook"
775
  msgstr "Incoming WebHook"
776
 
777
+ #: config/settings.php:160
778
  msgctxt "admin-text"
779
  msgid "Notification Template"
780
  msgstr "Notification Template"
781
 
782
+ #: config/settings.php:162
783
  msgctxt "admin-text"
784
  msgid ""
785
  "To restore the default text, save an empty template. If you are sending "
794
  "href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> "
795
  "have been disabled."
796
 
797
+ #: config/settings.php:168, views/pages/tools/general/import-reviews.php:55
798
  msgctxt "admin-text"
799
  msgid "Date Format"
800
  msgstr "Date Format"
801
 
802
+ #: config/settings.php:170
803
  msgctxt "admin-text"
804
  msgid "Use the default date format"
805
  msgstr "Use the default date format"
806
 
807
+ #: config/settings.php:171
808
  msgctxt "admin-text"
809
  msgid "Use a relative date format"
810
  msgstr "Use a relative date format"
811
 
812
+ #: config/settings.php:172
813
  msgctxt "admin-text"
814
  msgid "Use a custom date format"
815
  msgstr "Use a custom date format"
816
 
817
+ #: config/settings.php:174
818
  msgctxt "admin-text"
819
  msgid "The default date format is the one set in your %s."
820
  msgstr "The default date format is the one set in your %s."
821
 
822
+ #: config/settings.php:175
823
  msgctxt "admin-text"
824
  msgid "WordPress settings"
825
  msgstr "WordPress settings"
826
 
827
+ #: config/settings.php:184
828
  msgctxt "admin-text"
829
  msgid "Custom Date Format"
830
  msgstr "Custom Date Format"
831
 
832
+ #: config/settings.php:185
833
  msgctxt "admin-text"
834
  msgid ""
835
  "Enter a custom date format (<a "
836
+ "href=\"https://wordpress.org/support/article/formatting-date-and-time/\""
837
+ ">documentation on date and time formatting</a>)."
838
  msgstr ""
839
  "Enter a custom date format (<a "
840
+ "href=\"https://wordpress.org/support/article/formatting-date-and-time/\""
841
+ ">documentation on date and time formatting</a>)."
842
 
843
+ #: config/settings.php:191
844
  msgctxt "admin-text"
845
  msgid "Name Format"
846
  msgstr "Name Format"
847
 
848
+ #: config/settings.php:193
849
  msgctxt "admin-text"
850
  msgid "Use the name as given"
851
  msgstr "Use the name as given"
852
 
853
+ #: config/settings.php:194
854
  msgctxt "admin-text"
855
  msgid "Use the first name only"
856
  msgstr "Use the first name only"
857
 
858
+ #: config/settings.php:195
859
  msgctxt "admin-text"
860
  msgid "Convert first name to an initial"
861
  msgstr "Convert first name to an initial"
862
 
863
+ #: config/settings.php:196
864
  msgctxt "admin-text"
865
  msgid "Convert last name to an initial"
866
  msgstr "Convert last name to an initial"
867
 
868
+ #: config/settings.php:197
869
  msgctxt "admin-text"
870
  msgid "Convert to all initials"
871
  msgstr "Convert to all initials"
872
 
873
+ #: config/settings.php:199
874
  msgctxt "admin-text"
875
  msgid "Choose how author names are shown in your reviews."
876
  msgstr "Choose how author names are shown in your reviews."
877
 
878
+ #: config/settings.php:208
879
  msgctxt "admin-text"
880
  msgid "Initial Format"
881
  msgstr "Initial Format"
882
 
883
+ #: config/settings.php:210
884
  msgctxt "admin-text"
885
  msgid "Initial with a space"
886
  msgstr "Initial with a space"
887
 
888
+ #: config/settings.php:211
889
  msgctxt "admin-text"
890
  msgid "Initial with a period"
891
  msgstr "Initial with a period"
892
 
893
+ #: config/settings.php:212
894
  msgctxt "admin-text"
895
  msgid "Initial with a period and a space"
896
  msgstr "Initial with a period and a space"
897
 
898
+ #: config/settings.php:214
899
  msgctxt "admin-text"
900
  msgid "Choose how the initial is displayed."
901
  msgstr "Choose how the initial is displayed."
902
 
903
+ #: config/settings.php:221
904
  msgctxt "admin-text"
905
  msgid ""
906
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
909
  "Loose Assignment displays reviews that are assigned to this <code>OR</code> "
910
  "that."
911
 
912
+ #: config/settings.php:222
913
  msgctxt "admin-text"
914
  msgid ""
915
  "Strict Assignment displays reviews that are assigned to this "
918
  "Strict Assignment displays reviews that are assigned to this "
919
  "<code>AND</code> that."
920
 
921
+ #: config/settings.php:224
922
  msgctxt "admin-text"
923
  msgid "Review Assignment"
924
  msgstr "Review Assignment"
925
 
926
+ #: config/settings.php:226
927
  msgctxt "admin-text"
928
  msgid "Loose Assignment (slower database queries)"
929
  msgstr "Loose Assignment (slower database queries)"
930
 
931
+ #: config/settings.php:227
932
  msgctxt "admin-text"
933
  msgid "Strict Assignment (faster database queries)"
934
  msgstr "Strict Assignment (faster database queries)"
935
 
936
+ #: config/settings.php:229
937
  msgctxt "admin-text"
938
  msgid ""
939
  "This setting determines how the assigned options work in the reviews and "
942
  "This setting determines how the assigned options work in the reviews and "
943
  "summary shortcodes and blocks."
944
 
945
+ #: config/settings.php:234
946
  msgctxt "admin-text"
947
  msgid "Enable Assigned Links"
948
  msgstr "Enable Assigned Links"
949
 
950
+ #: config/settings.php:235
951
  msgctxt "admin-text"
952
  msgid "This will display a link to the assigned posts of a review."
953
  msgstr "This will display a link to the assigned posts of a review."
954
 
955
+ #: config/settings.php:240
956
  msgctxt "admin-text"
957
  msgid "Enable Avatars"
958
  msgstr "Enable Avatars"
959
 
960
+ #: config/settings.php:241
961
  msgctxt "admin-text"
962
  msgid ""
963
  "The avatars are generated from the email address of the reviewer using <a "
966
  "The avatars are generated from the email address of the reviewer using <a "
967
  "href=\"https://gravatar.com\">Gravatar</a>."
968
 
969
+ #: config/settings.php:250
970
  msgctxt "admin-text"
971
  msgid "Fallback Avatar"
972
  msgstr "Fallback Avatar"
973
 
974
+ #: config/settings.php:252, config/settings.php:459
975
  msgctxt "admin-text"
976
  msgid "Custom Image URL"
977
  msgstr "Custom Image URL"
978
 
979
+ #: config/settings.php:253
980
  msgctxt "admin-text"
981
  msgid "Identicon (geometric patterns)"
982
  msgstr "Identicon (geometric patterns)"
983
 
984
+ #: config/settings.php:254
985
  msgctxt "admin-text"
986
  msgid "Initials (initials of reviewer's name)"
987
  msgstr "Initials (initials of reviewer's name)"
988
 
989
+ #: config/settings.php:255
990
  msgctxt "admin-text"
991
  msgid "Monster (monsters with generated faces)"
992
  msgstr "Monster (monsters with generated faces)"
993
 
994
+ #: config/settings.php:256
995
  msgctxt "admin-text"
996
  msgid "Mystery (silhouetted outline of a person)"
997
  msgstr "Mystery (silhouetted outline of a person)"
998
 
999
+ #: config/settings.php:257
1000
  msgctxt "admin-text"
1001
  msgid "Pixel Avatars (locally generated)"
1002
  msgstr "Pixel Avatars (locally generated)"
1003
 
1004
+ #: config/settings.php:258
1005
  msgctxt "admin-text"
1006
  msgid "Retro (8-bit arcade-style pixelated faces)"
1007
  msgstr "Retro (8-bit arcade-style pixelated faces)"
1008
 
1009
+ #: config/settings.php:259
1010
  msgctxt "admin-text"
1011
  msgid "Robohash (robots with generated faces)"
1012
  msgstr "Robohash (robots with generated faces)"
1013
 
1014
+ #: config/settings.php:260
1015
  msgctxt "admin-text"
1016
  msgid "Wavatar (faces with generated features)"
1017
  msgstr "Wavatar (faces with generated features)"
1018
 
1019
+ #: config/settings.php:262
1020
  msgctxt "admin-text"
1021
  msgid "This image is displayed when there is no avatar."
1022
  msgstr "This image is displayed when there is no avatar."
1023
 
1024
+ #: config/settings.php:270
1025
  msgctxt "admin-text"
1026
  msgid "Fallback Avatar URL"
1027
  msgstr "Fallback Avatar URL"
1028
 
1029
+ #: config/settings.php:271
1030
  msgctxt "admin-text"
1031
  msgid "Enter a custom image URL to use as the fallback avatar."
1032
  msgstr "Enter a custom image URL to use as the fallback avatar."
1033
 
1034
+ #: config/settings.php:279
1035
  msgctxt "admin-text"
1036
  msgid "Regenerate Avatars"
1037
  msgstr "Regenerate Avatars"
1038
 
1039
+ #: config/settings.php:280
1040
  msgctxt "admin-text"
1041
  msgid "This will regenerate the avatar whenever a local review is shown."
1042
  msgstr "This will regenerate the avatar whenever a local review is shown."
1043
 
1044
+ #: config/settings.php:289
1045
  msgctxt "admin-text"
1046
  msgid "Avatar Size"
1047
  msgstr "Avatar Size"
1048
 
1049
+ #: config/settings.php:291
1050
  msgctxt "admin-text"
1051
  msgid "Set the height/width of the avatar in pixels."
1052
  msgstr "Set the height/width of the avatar in pixels."
1053
 
1054
+ #: config/settings.php:296
1055
  msgctxt "admin-text"
1056
  msgid "Enable Excerpts"
1057
  msgstr "Enable Excerpts"
1058
 
1059
+ #: config/settings.php:297
1060
  msgctxt "admin-text"
1061
  msgid "Display an excerpt instead of the full review."
1062
  msgstr "Display an excerpt instead of the full review."
1063
 
1064
+ #: config/settings.php:306
1065
  msgctxt "admin-text"
1066
  msgid "Excerpt Action"
1067
  msgstr "Excerpt Action"
1068
 
1069
+ #: config/settings.php:308
1070
  msgctxt "admin-text"
1071
  msgid "Collapse/Expand the review"
1072
  msgstr "Collapse/Expand the review"
1073
 
1074
+ #: config/settings.php:309
1075
  msgctxt "admin-text"
1076
  msgid "Display the review in a modal"
1077
  msgstr "Display the review in a modal"
1078
 
1079
+ #: config/settings.php:320
1080
  msgctxt "admin-text"
1081
  msgid "Excerpt Length"
1082
  msgstr "Excerpt Length"
1083
 
1084
+ #: config/settings.php:321
1085
  msgctxt "admin-text"
1086
  msgid "Set the excerpt word length."
1087
  msgstr "Set the excerpt word length."
1088
 
1089
+ #: config/settings.php:326
1090
  msgctxt "admin-text"
1091
  msgid "The default text is: %s"
1092
  msgstr "The default text is: %s"
1093
 
1094
+ #: config/settings.php:329
1095
  msgctxt "admin-text"
1096
  msgid "Enable Fallback Text"
1097
  msgstr "Enable Fallback Text"
1098
 
1099
+ #: config/settings.php:330
1100
  msgctxt "admin-text"
1101
  msgid ""
1102
  "Display the fallback text when there are no reviews to display. This can be "
1107
  "changed on the %s page. You may also override this by using the "
1108
  "\"fallback\" option on the shortcode."
1109
 
1110
+ #: config/settings.php:331
1111
  msgctxt "admin-text"
1112
  msgid "Translations"
1113
  msgstr "Translations"
1114
 
1115
+ #: config/settings.php:338
1116
  msgctxt "admin-text"
1117
  msgid ""
1118
  "If you would like to keep the pagination links but prevent search engines "
1121
  "If you would like to keep the pagination links but prevent search engines "
1122
  "from indexing them, add the following lines to your %s file: %s"
1123
 
1124
+ #: config/settings.php:344
1125
  msgctxt "admin-text"
1126
  msgid "Enable Paginated URLs"
1127
  msgstr "Enable Paginated URLs"
1128
 
1129
+ #: config/settings.php:345
1130
  msgctxt "admin-text"
1131
  msgid "Paginated URLs include the %s URL parameter."
1132
  msgstr "Paginated URLs include the %s URL parameter."
1133
 
1134
+ #: config/settings.php:353
1135
  msgctxt "admin-text"
1136
  msgid "Default Schema Type"
1137
  msgstr "Default Schema Type"
1138
 
1139
+ #: config/settings.php:355
1140
  msgctxt "admin-text"
1141
  msgid "Local Business"
1142
  msgstr "Local Business"
1143
 
1144
+ #: config/settings.php:356
1145
  msgctxt "admin-text"
1146
  msgid "Product"
1147
  msgstr "Product"
1148
 
1149
+ #: config/settings.php:357
1150
  msgctxt "admin-text"
1151
  msgid "Custom"
1152
  msgstr "Custom"
1153
 
1154
+ #: config/settings.php:359, config/settings.php:383, config/settings.php:405, config/settings.php:427, config/settings.php:449, config/settings.php:470, config/settings.php:482, config/settings.php:494, config/settings.php:510, config/settings.php:523, config/settings.php:536, config/settings.php:549, config/settings.php:561
1155
  msgctxt "admin-text"
1156
  msgid ""
1157
  "You can use the %s to override this value on your page. The Custom Field "
1160
  "You can use the %s to override this value on your page. The Custom Field "
1161
  "name to use is:"
1162
 
1163
+ #: config/settings.php:360, config/settings.php:384, config/settings.php:406, config/settings.php:428, config/settings.php:450, config/settings.php:471, config/settings.php:483, config/settings.php:495, config/settings.php:511, config/settings.php:524, config/settings.php:537, config/settings.php:550, config/settings.php:562, views/pages/settings/schema.php:19
1164
  msgctxt "admin-text"
1165
  msgid "Custom Fields metabox"
1166
  msgstr "Custom Fields metabox"
1167
 
1168
+ #: config/settings.php:369
1169
  msgctxt "admin-text"
1170
  msgid "Custom Schema Type"
1171
  msgstr "Custom Schema Type"
1172
 
1173
+ #: config/settings.php:371
1174
  msgctxt "admin-text"
1175
  msgid "read this"
1176
  msgstr "read this"
1177
 
1178
+ #: config/settings.php:378
1179
  msgctxt "admin-text"
1180
  msgid "Default Name"
1181
  msgstr "Default Name"
1182
 
1183
+ #: config/settings.php:380
1184
  msgctxt "admin-text"
1185
  msgid "Use the assigned or current page title"
1186
  msgstr "Use the assigned or current page title"
1187
 
1188
+ #: config/settings.php:381, config/settings.php:394
1189
  msgctxt "admin-text"
1190
  msgid "Enter a custom title"
1191
  msgstr "Enter a custom title"
1192
 
1193
+ #: config/settings.php:393
1194
  msgctxt "admin-text"
1195
  msgid "Custom Name"
1196
  msgstr "Custom Name"
1197
 
1198
+ #: config/settings.php:400
1199
  msgctxt "admin-text"
1200
  msgid "Default Description"
1201
  msgstr "Default Description"
1202
 
1203
+ #: config/settings.php:402
1204
  msgctxt "admin-text"
1205
  msgid "Use the assigned or current page excerpt"
1206
  msgstr "Use the assigned or current page excerpt"
1207
 
1208
+ #: config/settings.php:403, config/settings.php:416
1209
  msgctxt "admin-text"
1210
  msgid "Enter a custom description"
1211
  msgstr "Enter a custom description"
1212
 
1213
+ #: config/settings.php:415
1214
  msgctxt "admin-text"
1215
  msgid "Custom Description"
1216
  msgstr "Custom Description"
1217
 
1218
+ #: config/settings.php:422
1219
  msgctxt "admin-text"
1220
  msgid "Default URL"
1221
  msgstr "Default URL"
1222
 
1223
+ #: config/settings.php:424
1224
  msgctxt "admin-text"
1225
  msgid "Use the assigned or current page URL"
1226
  msgstr "Use the assigned or current page URL"
1227
 
1228
+ #: config/settings.php:425, config/settings.php:438
1229
  msgctxt "admin-text"
1230
  msgid "Enter a custom URL"
1231
  msgstr "Enter a custom URL"
1232
 
1233
+ #: config/settings.php:437
1234
  msgctxt "admin-text"
1235
  msgid "Custom URL"
1236
  msgstr "Custom URL"
1237
 
1238
+ #: config/settings.php:444
1239
  msgctxt "admin-text"
1240
  msgid "Default Image"
1241
  msgstr "Default Image"
1242
 
1243
+ #: config/settings.php:446
1244
  msgctxt "admin-text"
1245
  msgid "Use the featured image of the assigned or current page"
1246
  msgstr "Use the featured image of the assigned or current page"
1247
 
1248
+ #: config/settings.php:447, config/settings.php:460
1249
  msgctxt "admin-text"
1250
  msgid "Enter a custom image URL"
1251
  msgstr "Enter a custom image URL"
1252
 
1253
+ #: config/settings.php:468
1254
  msgctxt "admin-text"
1255
  msgid "Address"
1256
  msgstr "Address"
1257
 
1258
+ #: config/settings.php:469
1259
  msgctxt "admin-text"
1260
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
1261
  msgstr "60 29th Street #343, San Francisco, CA 94110, US"
1262
 
1263
+ #: config/settings.php:480
1264
  msgctxt "admin-text"
1265
  msgid "Telephone Number"
1266
  msgstr "Telephone Number"
1267
 
1268
+ #: config/settings.php:481
1269
  msgctxt "admin-text"
1270
  msgid "+1 (877) 273-3049"
1271
  msgstr "+1 (877) 273-3049"
1272
 
1273
+ #: config/settings.php:492
1274
  msgctxt "admin-text"
1275
  msgid "Price Range"
1276
  msgstr "Price Range"
1277
 
1278
+ #: config/settings.php:493
1279
  msgctxt "admin-text"
1280
  msgid "$$-$$$"
1281
  msgstr "$$-$$$"
1282
 
1283
+ #: config/settings.php:505
1284
  msgctxt "admin-text"
1285
  msgid "Offer Type"
1286
  msgstr "Offer Type"
1287
 
1288
+ #: config/settings.php:507
1289
  msgctxt "admin-text"
1290
  msgid "AggregateOffer"
1291
  msgstr "AggregateOffer"
1292
 
1293
+ #: config/settings.php:508
1294
  msgctxt "admin-text"
1295
  msgid "Offer"
1296
  msgstr "Offer"
1297
 
1298
+ #: config/settings.php:521
1299
  msgctxt "admin-text"
1300
  msgid "Price"
1301
  msgstr "Price"
1302
 
1303
+ #: config/settings.php:534
1304
  msgctxt "admin-text"
1305
  msgid "Low Price"
1306
  msgstr "Low Price"
1307
 
1308
+ #: config/settings.php:547
1309
  msgctxt "admin-text"
1310
  msgid "High Price"
1311
  msgstr "High Price"
1312
 
1313
+ #: config/settings.php:559
1314
  msgctxt "admin-text"
1315
  msgid "Price Currency"
1316
  msgstr "Price Currency"
1317
 
1318
+ #: config/settings.php:560
1319
  msgctxt "admin-text"
1320
  msgid "USD"
1321
  msgstr "USD"
1322
 
1323
+ #: config/settings.php:568
1324
  msgctxt "admin-text"
1325
  msgid "Required Fields"
1326
  msgstr "Required Fields"
1327
 
1328
+ #: config/settings.php:570, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
1329
  msgctxt "admin-text"
1330
  msgid "Rating"
1331
  msgstr "Rating"
1332
 
1333
+ #: config/settings.php:571, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
1334
  msgctxt "admin-text"
1335
  msgid "Title"
1336
  msgstr "Title"
1337
 
1338
+ #: config/settings.php:572, plugin/Defaults/PostTypeLabelDefaults.php:15
1339
  msgctxt "admin-text"
1340
  msgid "Review"
1341
  msgstr "Review"
1342
 
1343
+ #: config/settings.php:573, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
1344
  msgctxt "admin-text"
1345
  msgid "Name"
1346
  msgstr "Name"
1347
 
1348
+ #: config/settings.php:574, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
1349
  msgctxt "admin-text"
1350
  msgid "Email"
1351
  msgstr "Email"
1352
 
1353
+ #: config/settings.php:575, config/forms/metabox-fields.php:30
1354
  msgctxt "admin-text"
1355
  msgid "Terms"
1356
  msgstr "Terms"
1357
 
1358
+ #: config/settings.php:577
1359
  msgctxt "admin-text"
1360
  msgid "Choose which fields should be required in the review form."
1361
  msgstr "Choose which fields should be required in the review form."
1362
 
1363
+ #: config/settings.php:583
1364
  msgctxt "admin-text"
1365
  msgid "Limit Reviews"
1366
  msgstr "Limit Reviews"
1367
 
1368
+ #: config/settings.php:585
1369
  msgctxt "admin-text"
1370
  msgid "No Limit"
1371
  msgstr "No Limit"
1372
 
1373
+ #: config/settings.php:586
1374
  msgctxt "admin-text"
1375
  msgid "By Email Address"
1376
  msgstr "By Email Address"
1377
 
1378
+ #: config/settings.php:587
1379
  msgctxt "admin-text"
1380
  msgid "By IP Address"
1381
  msgstr "By IP Address"
1382
 
1383
+ #: config/settings.php:588
1384
  msgctxt "admin-text"
1385
  msgid "By Username (will only work for registered users)"
1386
  msgstr "By Username (will only work for registered users)"
1387
 
1388
+ #: config/settings.php:590
1389
  msgctxt "admin-text"
1390
  msgid "Limits the number of reviews that can be submitted to one-per-person."
1391
  msgstr "Limits the number of reviews that can be submitted to one-per-person."
1392
 
1393
+ #: config/settings.php:598
1394
  msgctxt "admin-text"
1395
  msgid "Restrict Limits To"
1396
  msgstr "Restrict Limits To"
1397
 
1398
+ #: config/settings.php:600, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
1399
  msgctxt "admin-text"
1400
  msgid "Assigned Posts"
1401
  msgstr "Assigned Posts"
1402
 
1403
+ #: config/settings.php:601
1404
  msgctxt "admin-text"
1405
  msgid "Assigned Terms"
1406
  msgstr "Assigned Terms"
1407
 
1408
+ #: config/settings.php:602, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
1409
  msgctxt "admin-text"
1410
  msgid "Assigned Users"
1411
  msgstr "Assigned Users"
1412
 
1413
+ #: config/settings.php:605
1414
  msgctxt "admin-text"
1415
  msgid "Select which assignments the review limits should be restricted to."
1416
  msgstr "Select which assignments the review limits should be restricted to."
1417
 
1418
+ #: config/settings.php:606
1419
  msgctxt "admin-text"
1420
  msgid ""
1421
  "The review limits use strict assignment, i.e. <code>restrict limits to "
1424
  "The review limits use strict assignment, i.e. <code>restrict limits to "
1425
  "reviews assigned to this AND this</code>."
1426
 
1427
+ #: config/settings.php:615
1428
  msgctxt "admin-text"
1429
  msgid "Email Whitelist"
1430
  msgstr "Email Whitelist"
1431
 
1432
+ #: config/settings.php:617
1433
  msgctxt "admin-text"
1434
  msgid ""
1435
  "One Email per line. All emails in the whitelist will be excluded from the "
1438
  "One Email per line. All emails in the whitelist will be excluded from the "
1439
  "review submission limit."
1440
 
1441
+ #: config/settings.php:625
1442
  msgctxt "admin-text"
1443
  msgid "IP Address Whitelist"
1444
  msgstr "IP Address Whitelist"
1445
 
1446
+ #: config/settings.php:627
1447
  msgctxt "admin-text"
1448
  msgid ""
1449
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1452
  "One IP Address per line. All IP Addresses in the whitelist will be excluded "
1453
  "from the review submission limit.."
1454
 
1455
+ #: config/settings.php:635
1456
  msgctxt "admin-text"
1457
  msgid "Username Whitelist"
1458
  msgstr "Username Whitelist"
1459
 
1460
+ #: config/settings.php:637
1461
  msgctxt "admin-text"
1462
  msgid ""
1463
  "One Username per line. All registered users with a Username in the "
1466
  "One Username per line. All registered users with a Username in the "
1467
  "whitelist will be excluded from the review submission limit."
1468
 
1469
+ #: config/settings.php:643
1470
  msgctxt "admin-text"
1471
  msgid "Invisible reCAPTCHA"
1472
  msgstr "Invisible reCAPTCHA"
1473
 
1474
+ #: config/settings.php:645
1475
  msgctxt "admin-text"
1476
  msgid "Do not use reCAPTCHA"
1477
  msgstr "Do not use reCAPTCHA"
1478
 
1479
+ #: config/settings.php:646
1480
  msgctxt "admin-text"
1481
  msgid "Use reCAPTCHA"
1482
  msgstr "Use reCAPTCHA"
1483
 
1484
+ #: config/settings.php:647
1485
  msgctxt "admin-text"
1486
  msgid "Use reCAPTCHA only for guest users"
1487
  msgstr "Use reCAPTCHA only for guest users"
1488
 
1489
+ #: config/settings.php:649
1490
  msgctxt "admin-text"
1491
  msgid ""
1492
  "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service "
1499
  "href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign "
1500
  "up</a> for an API key pair for your site."
1501
 
1502
+ #: config/settings.php:657
1503
  msgctxt "admin-text"
1504
  msgid "Site Key"
1505
  msgstr "Site Key"
1506
 
1507
+ #: config/settings.php:658
1508
  msgctxt "admin-text"
1509
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1510
  msgstr "Enter the Invisible reCAPTCHA Site Key here"
1511
 
1512
+ #: config/settings.php:666
1513
  msgctxt "admin-text"
1514
  msgid "Site Secret"
1515
  msgstr "Site Secret"
1516
 
1517
+ #: config/settings.php:667
1518
  msgctxt "admin-text"
1519
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1520
  msgstr "Enter the Invisible reCAPTCHA Site Secret here"
1521
 
1522
+ #: config/settings.php:676
1523
  msgctxt "admin-text"
1524
  msgid "Badge Position"
1525
  msgstr "Badge Position"
1526
 
1527
+ #: config/settings.php:678
1528
  msgctxt "admin-text"
1529
  msgid "Bottom Left"
1530
  msgstr "Bottom Left"
1531
 
1532
+ #: config/settings.php:679
1533
  msgctxt "admin-text"
1534
  msgid "Bottom Right"
1535
  msgstr "Bottom Right"
1536
 
1537
+ #: config/settings.php:680
1538
  msgctxt "admin-text"
1539
  msgid "Inline"
1540
  msgstr "Inline"
1541
 
1542
+ #: config/settings.php:682
1543
  msgctxt "admin-text"
1544
  msgid ""
1545
  "This option may not work consistently if another plugin is loading "
1548
  "This option may not work consistently if another plugin is loading "
1549
  "reCAPTCHA on the same page as Site Reviews."
1550
 
1551
+ #: config/settings.php:687
1552
  msgctxt "admin-text"
1553
  msgid "Enable Akismet"
1554
  msgstr "Enable Akismet"
1555
 
1556
+ #: config/settings.php:688
1557
  msgctxt "admin-text"
1558
  msgid ""
1559
  "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> "
1566
  "setting to have any affect, you will need to first install and activate the "
1567
  "Akismet plugin and set up a WordPress.com API key."
1568
 
1569
+ #: config/settings.php:694
1570
  msgctxt "admin-text"
1571
  msgid "Blacklist"
1572
  msgstr "Blacklist"
1573
 
1574
+ #: config/settings.php:696
1575
  msgctxt "admin-text"
1576
  msgid "Use the Site Reviews Blacklist"
1577
  msgstr "Use the Site Reviews Blacklist"
1578
 
1579
+ #: config/settings.php:697
1580
  msgctxt "admin-text"
1581
  msgid "Use the WordPress Disallowed Comment Keys"
1582
  msgstr "Use the WordPress Disallowed Comment Keys"
1583
 
1584
+ #: config/settings.php:699
1585
  msgctxt "admin-text"
1586
  msgid ""
1587
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1590
  "Choose which Blacklist you would prefer to use for reviews. The %s option "
1591
  "can be found in the WordPress Discussion Settings page."
1592
 
1593
+ #: config/settings.php:700
1594
  msgctxt "admin-text"
1595
  msgid "Disallowed Comment Keys"
1596
  msgstr "Disallowed Comment Keys"
1597
 
1598
+ #: config/settings.php:709
1599
  msgctxt "admin-text"
1600
  msgid "Review Blacklist"
1601
  msgstr "Review Blacklist"
1602
 
1603
+ #: config/settings.php:711
1604
  msgctxt "admin-text"
1605
  msgid ""
1606
  "One entry or IP address per line. When a review contains any of these "
1613
  "rejected. It is case-insensitive and will match partial words, so \"press\" "
1614
  "will match \"WordPress\"."
1615
 
1616
+ #: config/settings.php:717
1617
  msgctxt "admin-text"
1618
  msgid "Blacklist Action"
1619
  msgstr "Blacklist Action"
1620
 
1621
+ #: config/settings.php:719
1622
  msgctxt "admin-text"
1623
  msgid "Require approval"
1624
  msgstr "Require approval"
1625
 
1626
+ #: config/settings.php:720
1627
  msgctxt "admin-text"
1628
  msgid "Reject submission"
1629
  msgstr "Reject submission"
1630
 
1631
+ #: config/settings.php:722
1632
  msgctxt "admin-text"
1633
  msgid "Choose the action that should be taken when a review is blacklisted."
1634
  msgstr "Choose the action that should be taken when a review is blacklisted."
1722
  msgid "Untitled"
1723
  msgstr "Untitled"
1724
 
1725
+ #: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:45, plugin/Controllers/MenuController.php:51, plugin/Integrations/Elementor/ElementorWidget.php:132, views/pages/tools/sync.php:23
1726
  msgctxt "admin-text"
1727
  msgid "Settings"
1728
  msgstr "Settings"
1729
 
1730
+ #: plugin/Addons/Controller.php:77, plugin/Controllers/AdminController.php:51, plugin/Controllers/MenuController.php:54
1731
  msgctxt "admin-text"
1732
  msgid "Help"
1733
  msgstr "Help"
1851
  msgstr[0] "Unapproved <span class=\"count\">(%s)</span>"
1852
  msgstr[1] "Unapproved <span class=\"count\">(%s)</span>"
1853
 
1854
+ #: plugin/Controllers/AdminController.php:102
1855
  msgctxt "admin-text"
1856
  msgid "%s Review"
1857
  msgid_plural "%s Reviews"
1858
  msgstr[0] "%s Review"
1859
  msgstr[1] "%s Reviews"
1860
 
1861
+ #: plugin/Controllers/AdminController.php:183, plugin/Widgets/SiteReviewsWidget.php:113
1862
  msgctxt "admin-text"
1863
  msgid "Recent Reviews"
1864
  msgstr "Recent Reviews"
1865
 
1866
+ #: plugin/Controllers/AdminController.php:184, plugin/Widgets/SiteReviewsFormWidget.php:78, plugin/Integrations/Elementor/ElementorFormWidget.php:19
1867
  msgctxt "admin-text"
1868
  msgid "Submit a Review"
1869
  msgstr "Submit a Review"
1870
 
1871
+ #: plugin/Controllers/AdminController.php:185, plugin/Widgets/SiteReviewsSummaryWidget.php:81
1872
  msgctxt "admin-text"
1873
  msgid "Summary of Reviews"
1874
  msgstr "Summary of Reviews"
1875
 
1876
+ #: plugin/Controllers/AdminController.php:236, plugin/Controllers/AdminController.php:255, plugin/Controllers/AdminController.php:269
1877
  msgctxt "admin-text"
1878
  msgid "Nothing found."
1879
  msgstr "Nothing found."
2540
  msgid "Non-repeating"
2541
  msgstr "Non-repeating"
2542
 
2543
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:129
2544
  msgctxt "admin-text"
2545
  msgid "Hide the rating field"
2546
  msgstr "Hide the rating field"
2547
 
2548
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:130
2549
  msgctxt "admin-text"
2550
  msgid "Hide the title field"
2551
  msgstr "Hide the title field"
2552
 
2553
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:131
2554
  msgctxt "admin-text"
2555
  msgid "Hide the review field"
2556
  msgstr "Hide the review field"
2557
 
2558
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:132
2559
  msgctxt "admin-text"
2560
  msgid "Hide the name field"
2561
  msgstr "Hide the name field"
2562
 
2563
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:133
2564
  msgctxt "admin-text"
2565
  msgid "Hide the email field"
2566
  msgstr "Hide the email field"
2567
 
2568
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:134
2569
  msgctxt "admin-text"
2570
  msgid "Hide the terms field"
2571
  msgstr "Hide the terms field"
3921
 
3922
  #: views/pages/tools/general/import-reviews.php:25
3923
  msgctxt "admin-text"
3924
+ msgid "The User ID of the reviewer"
3925
+ msgstr "The User ID of the reviewer"
3926
+
3927
+ #: views/pages/tools/general/import-reviews.php:26
3928
+ msgctxt "admin-text"
3929
  msgid "The avatar URL of the reviewer"
3930
  msgstr "The avatar URL of the reviewer"
3931
 
3932
+ #: views/pages/tools/general/import-reviews.php:27
3933
  msgctxt "admin-text"
3934
  msgid "The review"
3935
  msgstr "The review"
3936
 
3937
+ #: views/pages/tools/general/import-reviews.php:27, views/pages/tools/general/import-reviews.php:28, views/pages/tools/general/import-reviews.php:34
3938
  msgctxt "admin-text"
3939
  msgid "required"
3940
  msgstr "required"
3941
 
3942
+ #: views/pages/tools/general/import-reviews.php:28
3943
  msgctxt "admin-text"
3944
  msgid "The review date"
3945
  msgstr "The review date"
3946
 
3947
+ #: views/pages/tools/general/import-reviews.php:29
3948
  msgctxt "admin-text"
3949
  msgid "The reviewer's email"
3950
  msgstr "The reviewer's email"
3951
 
3952
+ #: views/pages/tools/general/import-reviews.php:30
3953
  msgctxt "admin-text"
3954
  msgid "The IP address of the reviewer"
3955
  msgstr "The IP address of the reviewer"
3956
 
3957
+ #: views/pages/tools/general/import-reviews.php:31, views/pages/tools/general/import-reviews.php:32, views/pages/tools/general/import-reviews.php:36
3958
  msgctxt "admin-text"
3959
  msgid "TRUE or FALSE"
3960
  msgstr "TRUE or FALSE"
3961
 
3962
+ #: views/pages/tools/general/import-reviews.php:33
3963
  msgctxt "admin-text"
3964
  msgid "The reviewer's name"
3965
  msgstr "The reviewer's name"
3966
 
3967
+ #: views/pages/tools/general/import-reviews.php:34
3968
  msgctxt "admin-text"
3969
  msgid "A number from 0-%d"
3970
  msgstr "A number from 0-%d"
3971
 
3972
+ #: views/pages/tools/general/import-reviews.php:35
3973
  msgctxt "admin-text"
3974
  msgid "The review response"
3975
  msgstr "The review response"
3976
 
3977
+ #: views/pages/tools/general/import-reviews.php:37
3978
  msgctxt "admin-text"
3979
  msgid "The title of the review"
3980
  msgstr "The title of the review"
3981
 
3982
+ #: views/pages/tools/general/import-reviews.php:39
3983
  msgctxt "admin-text"
3984
  msgid "Entries in the CSV file that do not contain required values will be skipped."
3985
  msgstr "Entries in the CSV file that do not contain required values will be skipped."
3986
 
3987
+ #: views/pages/tools/general/import-reviews.php:47
3988
  msgctxt "admin-text"
3989
  msgid "Delimiter"
3990
  msgstr "Delimiter"
3991
 
3992
+ #: views/pages/tools/general/import-reviews.php:49
3993
  msgctxt "admin-text"
3994
  msgid "Select the delimiter used in the CSV file"
3995
  msgstr "Select the delimiter used in the CSV file"
3996
 
3997
+ #: views/pages/tools/general/import-reviews.php:50
3998
  msgctxt "admin-text"
3999
  msgid "Comma (,)"
4000
  msgstr "Comma (,)"
4001
 
4002
+ #: views/pages/tools/general/import-reviews.php:51
4003
  msgctxt "admin-text"
4004
  msgid "Semicolon (;)"
4005
  msgstr "Semicolon (;)"
4006
 
4007
+ #: views/pages/tools/general/import-reviews.php:57
4008
  msgctxt "admin-text"
4009
  msgid "Select the date format used in the reviews"
4010
  msgstr "Select the date format used in the reviews"
4011
 
4012
+ #: views/pages/tools/general/import-reviews.php:79
4013
  msgctxt "admin-text"
4014
  msgid "Importing reviews, please wait..."
4015
  msgstr "Importing reviews, please wait..."
4016
 
4017
+ #: views/pages/tools/general/import-reviews.php:79
4018
  msgctxt "admin-text"
4019
  msgid "Import Reviews"
4020
  msgstr "Import Reviews"
4325
  msgid "The posts assigned to the review of any public post type."
4326
  msgstr "The posts assigned to the review of any public post type."
4327
 
4328
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:133
4329
  msgctxt "admin-text"
4330
  msgid "The terms assigned to the review in the %s taxonomy."
4331
  msgstr "The terms assigned to the review in the %s taxonomy."
4332
 
4333
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:141
4334
  msgctxt "admin-text"
4335
  msgid "The users assigned to the review."
4336
  msgstr "The users assigned to the review."
4337
 
4338
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:149
4339
  msgctxt "admin-text"
4340
  msgid "The ID for the author of the review."
4341
  msgstr "The ID for the author of the review."
4342
 
4343
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:154
4344
  msgctxt "admin-text"
4345
  msgid "The avatar of the person who submitted the review."
4346
  msgstr "The avatar of the person who submitted the review."
4347
 
4348
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:159
4349
  msgctxt "admin-text"
4350
  msgid "The content of the review."
4351
  msgstr "The content of the review."
4352
 
4353
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:168
4354
  msgctxt "admin-text"
4355
  msgid "Custom fields."
4356
  msgstr "Custom fields."
4357
 
4358
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:173
4359
  msgctxt "admin-text"
4360
  msgid "The date the review was published, in the site's timezone."
4361
  msgstr "The date the review was published, in the site's timezone."
4362
 
4363
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:179
4364
  msgctxt "admin-text"
4365
  msgid "The date the review was published, as GMT."
4366
  msgstr "The date the review was published, as GMT."
4367
 
4368
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:185
4369
  msgctxt "admin-text"
4370
  msgid "The email of the person who submitted the review."
4371
  msgstr "The email of the person who submitted the review."
4372
 
4373
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:190
4374
  msgctxt "admin-text"
4375
  msgid "Unique identifier for the review."
4376
  msgstr "Unique identifier for the review."
4377
 
4378
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:196
4379
  msgctxt "admin-text"
4380
  msgid "The IP address of the person who submitted the review."
4381
  msgstr "The IP address of the person who submitted the review."
4382
 
4383
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:202
4384
  msgctxt "admin-text"
4385
  msgid "If the review has an approved status."
4386
  msgstr "If the review has an approved status."
4387
 
4388
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:208
4389
  msgctxt "admin-text"
4390
  msgid "If the review has been modified."
4391
  msgstr "If the review has been modified."
4392
 
4393
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:214
4394
  msgctxt "admin-text"
4395
  msgid "If the review has been pinned."
4396
  msgstr "If the review has been pinned."
4397
 
4398
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:219
4399
  msgctxt "admin-text"
4400
  msgid "The date the review was last modified, in the site's timezone."
4401
  msgstr "The date the review was last modified, in the site's timezone."
4402
 
4403
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:226
4404
  msgctxt "admin-text"
4405
  msgid "The date the review was last modified, as GMT."
4406
  msgstr "The date the review was last modified, as GMT."
4407
 
4408
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:233
4409
  msgctxt "admin-text"
4410
  msgid "The name of the person who submitted the review."
4411
  msgstr "The name of the person who submitted the review."
4412
 
4413
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:238
4414
  msgctxt "admin-text"
4415
  msgid "The rating of the review."
4416
  msgstr "The rating of the review."
4417
 
4418
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:243
4419
  msgctxt "admin-text"
4420
  msgid "The response given to the review."
4421
  msgstr "The response given to the review."
4422
 
4423
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:248
4424
  msgctxt "admin-text"
4425
  msgid "A named status for the review."
4426
  msgstr "A named status for the review."
4427
 
4428
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:254
4429
  msgctxt "admin-text"
4430
  msgid "If the terms were accepted when the review was submitted."
4431
  msgstr "If the terms were accepted when the review was submitted."
4432
 
4433
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:259
4434
  msgctxt "admin-text"
4435
  msgid "The title of the review."
4436
  msgstr "The title of the review."
4437
 
4438
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:264
4439
  msgctxt "admin-text"
4440
  msgid "Type of Review for the object."
4441
  msgstr "Type of Review for the object."
4524
  msgid "Ensure result set excludes reviews authored by specific users."
4525
  msgstr "Ensure result set excludes reviews authored by specific users."
4526
 
4527
+ #: config/settings.php:284
4528
  msgctxt "avatar size (admin-text)"
4529
  msgid "pixels"
4530
  msgstr "pixels"
4531
 
4532
+ #: config/settings.php:315
4533
  msgctxt "exceprt length (admin-text)"
4534
  msgid "words"
4535
  msgstr "words"
4536
 
4537
+ #: config/settings.php:370
4538
  msgctxt "read this (admin-text)"
4539
  msgid ""
4540
  "Google limits the schema types that can potentially trigger review rich "
languages/site-reviews.pot CHANGED
@@ -266,889 +266,909 @@ msgstr ""
266
 
267
  #: config/settings.php:68
268
  msgctxt "admin-text"
 
 
 
 
 
 
 
 
 
 
269
  msgid "Show Registration Link"
270
  msgstr ""
271
 
272
- #: config/settings.php:69
273
  msgctxt "admin-text"
274
  msgid "Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work."
275
  msgstr ""
276
 
277
- #: config/settings.php:70
278
  msgctxt "admin-text"
279
  msgid "Anyone can register"
280
  msgstr ""
281
 
282
- #: config/settings.php:77
 
 
 
 
 
 
 
 
 
 
283
  msgctxt "admin-text"
284
  msgid "Multilingual"
285
  msgstr ""
286
 
287
- #: config/settings.php:79
288
  msgctxt "admin-text"
289
  msgid "No Integration"
290
  msgstr ""
291
 
292
- #: config/settings.php:80
293
  msgctxt "admin-text"
294
  msgid "Integrate with Polylang"
295
  msgstr ""
296
 
297
- #: config/settings.php:81
298
  msgctxt "admin-text"
299
  msgid "Integrate with WPML"
300
  msgstr ""
301
 
302
- #: config/settings.php:83
303
  msgctxt "admin-text"
304
  msgid "Integrate with a multilingual plugin to calculate the combined ratings for all languages of a page; and if you are assigning reviews to your pages, display reviews assigned to all languages of that page."
305
  msgstr ""
306
 
307
- #: config/settings.php:88
308
  msgctxt "admin-text"
309
  msgid "Notifications"
310
  msgstr ""
311
 
312
- #: config/settings.php:90
313
  msgctxt "admin-text"
314
  msgid "Send to administrator"
315
  msgstr ""
316
 
317
- #: config/settings.php:91
318
  msgctxt "admin-text"
319
  msgid "Send to author of the page that the review is assigned to"
320
  msgstr ""
321
 
322
- #: config/settings.php:92
323
  msgctxt "admin-text"
324
  msgid "Send to one or more email addresses"
325
  msgstr ""
326
 
327
- #: config/settings.php:93
328
  msgctxt "admin-text"
329
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
330
  msgstr ""
331
 
332
- #: config/settings.php:95
333
  msgctxt "admin-text"
334
  msgid "Select the notification recipients."
335
  msgstr ""
336
 
337
- #: config/settings.php:103
338
  msgctxt "admin-text"
339
  msgid "Send Emails From"
340
  msgstr ""
341
 
342
- #: config/settings.php:105
343
  msgctxt "admin-text"
344
  msgid "If emails are not sending, make sure that this email address uses the same domain as your website."
345
  msgstr ""
346
 
347
- #: config/settings.php:113
348
  msgctxt "admin-text"
349
  msgid "Send Emails To"
350
  msgstr ""
351
 
352
- #: config/settings.php:114, config/settings.php:115
353
  msgctxt "admin-text"
354
  msgid "Separate multiple emails with a comma"
355
  msgstr ""
356
 
357
- #: config/settings.php:123
358
  msgctxt "admin-text"
359
  msgid "Slack Webhook URL"
360
  msgstr ""
361
 
362
- #: config/settings.php:124
363
  msgctxt "admin-text"
364
  msgid "To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above."
365
  msgstr ""
366
 
367
- #: config/settings.php:125
368
  msgctxt "admin-text"
369
  msgid "Incoming WebHook"
370
  msgstr ""
371
 
372
- #: config/settings.php:135
373
  msgctxt "admin-text"
374
  msgid "Notification Template"
375
  msgstr ""
376
 
377
- #: config/settings.php:137
378
  msgctxt "admin-text"
379
  msgid "To restore the default text, save an empty template. If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> have been disabled."
380
  msgstr ""
381
 
382
- #: config/settings.php:143, views/pages/tools/general/import-reviews.php:54
383
  msgctxt "admin-text"
384
  msgid "Date Format"
385
  msgstr ""
386
 
387
- #: config/settings.php:145
388
  msgctxt "admin-text"
389
  msgid "Use the default date format"
390
  msgstr ""
391
 
392
- #: config/settings.php:146
393
  msgctxt "admin-text"
394
  msgid "Use a relative date format"
395
  msgstr ""
396
 
397
- #: config/settings.php:147
398
  msgctxt "admin-text"
399
  msgid "Use a custom date format"
400
  msgstr ""
401
 
402
- #: config/settings.php:149
403
  msgctxt "admin-text"
404
  msgid "The default date format is the one set in your %s."
405
  msgstr ""
406
 
407
- #: config/settings.php:150
408
  msgctxt "admin-text"
409
  msgid "WordPress settings"
410
  msgstr ""
411
 
412
- #: config/settings.php:159
413
  msgctxt "admin-text"
414
  msgid "Custom Date Format"
415
  msgstr ""
416
 
417
- #: config/settings.php:160
418
  msgctxt "admin-text"
419
- msgid "Enter a custom date format (<a href=\"https://codex.wordpress.org/Formatting_Date_and_Time\">documentation on date and time formatting</a>)."
420
  msgstr ""
421
 
422
- #: config/settings.php:166
423
  msgctxt "admin-text"
424
  msgid "Name Format"
425
  msgstr ""
426
 
427
- #: config/settings.php:168
428
  msgctxt "admin-text"
429
  msgid "Use the name as given"
430
  msgstr ""
431
 
432
- #: config/settings.php:169
433
  msgctxt "admin-text"
434
  msgid "Use the first name only"
435
  msgstr ""
436
 
437
- #: config/settings.php:170
438
  msgctxt "admin-text"
439
  msgid "Convert first name to an initial"
440
  msgstr ""
441
 
442
- #: config/settings.php:171
443
  msgctxt "admin-text"
444
  msgid "Convert last name to an initial"
445
  msgstr ""
446
 
447
- #: config/settings.php:172
448
  msgctxt "admin-text"
449
  msgid "Convert to all initials"
450
  msgstr ""
451
 
452
- #: config/settings.php:174
453
  msgctxt "admin-text"
454
  msgid "Choose how author names are shown in your reviews."
455
  msgstr ""
456
 
457
- #: config/settings.php:183
458
  msgctxt "admin-text"
459
  msgid "Initial Format"
460
  msgstr ""
461
 
462
- #: config/settings.php:185
463
  msgctxt "admin-text"
464
  msgid "Initial with a space"
465
  msgstr ""
466
 
467
- #: config/settings.php:186
468
  msgctxt "admin-text"
469
  msgid "Initial with a period"
470
  msgstr ""
471
 
472
- #: config/settings.php:187
473
  msgctxt "admin-text"
474
  msgid "Initial with a period and a space"
475
  msgstr ""
476
 
477
- #: config/settings.php:189
478
  msgctxt "admin-text"
479
  msgid "Choose how the initial is displayed."
480
  msgstr ""
481
 
482
- #: config/settings.php:196
483
  msgctxt "admin-text"
484
  msgid "Loose Assignment displays reviews that are assigned to this <code>OR</code> that."
485
  msgstr ""
486
 
487
- #: config/settings.php:197
488
  msgctxt "admin-text"
489
  msgid "Strict Assignment displays reviews that are assigned to this <code>AND</code> that."
490
  msgstr ""
491
 
492
- #: config/settings.php:199
493
  msgctxt "admin-text"
494
  msgid "Review Assignment"
495
  msgstr ""
496
 
497
- #: config/settings.php:201
498
  msgctxt "admin-text"
499
  msgid "Loose Assignment (slower database queries)"
500
  msgstr ""
501
 
502
- #: config/settings.php:202
503
  msgctxt "admin-text"
504
  msgid "Strict Assignment (faster database queries)"
505
  msgstr ""
506
 
507
- #: config/settings.php:204
508
  msgctxt "admin-text"
509
  msgid "This setting determines how the assigned options work in the reviews and summary shortcodes and blocks."
510
  msgstr ""
511
 
512
- #: config/settings.php:209
513
  msgctxt "admin-text"
514
  msgid "Enable Assigned Links"
515
  msgstr ""
516
 
517
- #: config/settings.php:210
518
  msgctxt "admin-text"
519
  msgid "This will display a link to the assigned posts of a review."
520
  msgstr ""
521
 
522
- #: config/settings.php:215
523
  msgctxt "admin-text"
524
  msgid "Enable Avatars"
525
  msgstr ""
526
 
527
- #: config/settings.php:216
528
  msgctxt "admin-text"
529
  msgid "The avatars are generated from the email address of the reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
530
  msgstr ""
531
 
532
- #: config/settings.php:225
533
  msgctxt "admin-text"
534
  msgid "Fallback Avatar"
535
  msgstr ""
536
 
537
- #: config/settings.php:227, config/settings.php:434
538
  msgctxt "admin-text"
539
  msgid "Custom Image URL"
540
  msgstr ""
541
 
542
- #: config/settings.php:228
543
  msgctxt "admin-text"
544
  msgid "Identicon (geometric patterns)"
545
  msgstr ""
546
 
547
- #: config/settings.php:229
548
  msgctxt "admin-text"
549
  msgid "Initials (initials of reviewer's name)"
550
  msgstr ""
551
 
552
- #: config/settings.php:230
553
  msgctxt "admin-text"
554
  msgid "Monster (monsters with generated faces)"
555
  msgstr ""
556
 
557
- #: config/settings.php:231
558
  msgctxt "admin-text"
559
  msgid "Mystery (silhouetted outline of a person)"
560
  msgstr ""
561
 
562
- #: config/settings.php:232
563
  msgctxt "admin-text"
564
  msgid "Pixel Avatars (locally generated)"
565
  msgstr ""
566
 
567
- #: config/settings.php:233
568
  msgctxt "admin-text"
569
  msgid "Retro (8-bit arcade-style pixelated faces)"
570
  msgstr ""
571
 
572
- #: config/settings.php:234
573
  msgctxt "admin-text"
574
  msgid "Robohash (robots with generated faces)"
575
  msgstr ""
576
 
577
- #: config/settings.php:235
578
  msgctxt "admin-text"
579
  msgid "Wavatar (faces with generated features)"
580
  msgstr ""
581
 
582
- #: config/settings.php:237
583
  msgctxt "admin-text"
584
  msgid "This image is displayed when there is no avatar."
585
  msgstr ""
586
 
587
- #: config/settings.php:245
588
  msgctxt "admin-text"
589
  msgid "Fallback Avatar URL"
590
  msgstr ""
591
 
592
- #: config/settings.php:246
593
  msgctxt "admin-text"
594
  msgid "Enter a custom image URL to use as the fallback avatar."
595
  msgstr ""
596
 
597
- #: config/settings.php:254
598
  msgctxt "admin-text"
599
  msgid "Regenerate Avatars"
600
  msgstr ""
601
 
602
- #: config/settings.php:255
603
  msgctxt "admin-text"
604
  msgid "This will regenerate the avatar whenever a local review is shown."
605
  msgstr ""
606
 
607
- #: config/settings.php:259
608
  msgctxt "avatar size (admin-text)"
609
  msgid "pixels"
610
  msgstr ""
611
 
612
- #: config/settings.php:264
613
  msgctxt "admin-text"
614
  msgid "Avatar Size"
615
  msgstr ""
616
 
617
- #: config/settings.php:266
618
  msgctxt "admin-text"
619
  msgid "Set the height/width of the avatar in pixels."
620
  msgstr ""
621
 
622
- #: config/settings.php:271
623
  msgctxt "admin-text"
624
  msgid "Enable Excerpts"
625
  msgstr ""
626
 
627
- #: config/settings.php:272
628
  msgctxt "admin-text"
629
  msgid "Display an excerpt instead of the full review."
630
  msgstr ""
631
 
632
- #: config/settings.php:281
633
  msgctxt "admin-text"
634
  msgid "Excerpt Action"
635
  msgstr ""
636
 
637
- #: config/settings.php:283
638
  msgctxt "admin-text"
639
  msgid "Collapse/Expand the review"
640
  msgstr ""
641
 
642
- #: config/settings.php:284
643
  msgctxt "admin-text"
644
  msgid "Display the review in a modal"
645
  msgstr ""
646
 
647
- #: config/settings.php:290
648
  msgctxt "exceprt length (admin-text)"
649
  msgid "words"
650
  msgstr ""
651
 
652
- #: config/settings.php:295
653
  msgctxt "admin-text"
654
  msgid "Excerpt Length"
655
  msgstr ""
656
 
657
- #: config/settings.php:296
658
  msgctxt "admin-text"
659
  msgid "Set the excerpt word length."
660
  msgstr ""
661
 
662
- #: config/settings.php:301
663
  msgctxt "admin-text"
664
  msgid "The default text is: %s"
665
  msgstr ""
666
 
667
- #: config/settings.php:302, plugin/Modules/Html/ReviewsHtml.php:142
668
  msgid "There are no reviews yet. Be the first one to write one."
669
  msgstr ""
670
 
671
- #: config/settings.php:304
672
  msgctxt "admin-text"
673
  msgid "Enable Fallback Text"
674
  msgstr ""
675
 
676
- #: config/settings.php:305
677
  msgctxt "admin-text"
678
  msgid "Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the \"fallback\" option on the shortcode."
679
  msgstr ""
680
 
681
- #: config/settings.php:306
682
  msgctxt "admin-text"
683
  msgid "Translations"
684
  msgstr ""
685
 
686
- #: config/settings.php:313
687
  msgctxt "admin-text"
688
  msgid "If you would like to keep the pagination links but prevent search engines from indexing them, add the following lines to your %s file: %s"
689
  msgstr ""
690
 
691
- #: config/settings.php:319
692
  msgctxt "admin-text"
693
  msgid "Enable Paginated URLs"
694
  msgstr ""
695
 
696
- #: config/settings.php:320
697
  msgctxt "admin-text"
698
  msgid "Paginated URLs include the %s URL parameter."
699
  msgstr ""
700
 
701
- #: config/settings.php:328
702
  msgctxt "admin-text"
703
  msgid "Default Schema Type"
704
  msgstr ""
705
 
706
- #: config/settings.php:330
707
  msgctxt "admin-text"
708
  msgid "Local Business"
709
  msgstr ""
710
 
711
- #: config/settings.php:331
712
  msgctxt "admin-text"
713
  msgid "Product"
714
  msgstr ""
715
 
716
- #: config/settings.php:332
717
  msgctxt "admin-text"
718
  msgid "Custom"
719
  msgstr ""
720
 
721
- #: config/settings.php:334, config/settings.php:358, config/settings.php:380, config/settings.php:402, config/settings.php:424, config/settings.php:445, config/settings.php:457, config/settings.php:469, config/settings.php:485, config/settings.php:498, config/settings.php:511, config/settings.php:524, config/settings.php:536
722
  msgctxt "admin-text"
723
  msgid "You can use the %s to override this value on your page. The Custom Field name to use is:"
724
  msgstr ""
725
 
726
- #: config/settings.php:335, config/settings.php:359, config/settings.php:381, config/settings.php:403, config/settings.php:425, config/settings.php:446, config/settings.php:458, config/settings.php:470, config/settings.php:486, config/settings.php:499, config/settings.php:512, config/settings.php:525, config/settings.php:537, views/pages/settings/schema.php:19
727
  msgctxt "admin-text"
728
  msgid "Custom Fields metabox"
729
  msgstr ""
730
 
731
- #: config/settings.php:344
732
  msgctxt "admin-text"
733
  msgid "Custom Schema Type"
734
  msgstr ""
735
 
736
- #: config/settings.php:345
737
  msgctxt "read this (admin-text)"
738
  msgid "Google limits the schema types that can potentially trigger review rich results in search. To learn which schema types can be used, please %s."
739
  msgstr ""
740
 
741
- #: config/settings.php:346
742
  msgctxt "admin-text"
743
  msgid "read this"
744
  msgstr ""
745
 
746
- #: config/settings.php:353
747
  msgctxt "admin-text"
748
  msgid "Default Name"
749
  msgstr ""
750
 
751
- #: config/settings.php:355
752
  msgctxt "admin-text"
753
  msgid "Use the assigned or current page title"
754
  msgstr ""
755
 
756
- #: config/settings.php:356, config/settings.php:369
757
  msgctxt "admin-text"
758
  msgid "Enter a custom title"
759
  msgstr ""
760
 
761
- #: config/settings.php:368
762
  msgctxt "admin-text"
763
  msgid "Custom Name"
764
  msgstr ""
765
 
766
- #: config/settings.php:375
767
  msgctxt "admin-text"
768
  msgid "Default Description"
769
  msgstr ""
770
 
771
- #: config/settings.php:377
772
  msgctxt "admin-text"
773
  msgid "Use the assigned or current page excerpt"
774
  msgstr ""
775
 
776
- #: config/settings.php:378, config/settings.php:391
777
  msgctxt "admin-text"
778
  msgid "Enter a custom description"
779
  msgstr ""
780
 
781
- #: config/settings.php:390
782
  msgctxt "admin-text"
783
  msgid "Custom Description"
784
  msgstr ""
785
 
786
- #: config/settings.php:397
787
  msgctxt "admin-text"
788
  msgid "Default URL"
789
  msgstr ""
790
 
791
- #: config/settings.php:399
792
  msgctxt "admin-text"
793
  msgid "Use the assigned or current page URL"
794
  msgstr ""
795
 
796
- #: config/settings.php:400, config/settings.php:413
797
  msgctxt "admin-text"
798
  msgid "Enter a custom URL"
799
  msgstr ""
800
 
801
- #: config/settings.php:412
802
  msgctxt "admin-text"
803
  msgid "Custom URL"
804
  msgstr ""
805
 
806
- #: config/settings.php:419
807
  msgctxt "admin-text"
808
  msgid "Default Image"
809
  msgstr ""
810
 
811
- #: config/settings.php:421
812
  msgctxt "admin-text"
813
  msgid "Use the featured image of the assigned or current page"
814
  msgstr ""
815
 
816
- #: config/settings.php:422, config/settings.php:435
817
  msgctxt "admin-text"
818
  msgid "Enter a custom image URL"
819
  msgstr ""
820
 
821
- #: config/settings.php:443
822
  msgctxt "admin-text"
823
  msgid "Address"
824
  msgstr ""
825
 
826
- #: config/settings.php:444
827
  msgctxt "admin-text"
828
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
829
  msgstr ""
830
 
831
- #: config/settings.php:455
832
  msgctxt "admin-text"
833
  msgid "Telephone Number"
834
  msgstr ""
835
 
836
- #: config/settings.php:456
837
  msgctxt "admin-text"
838
  msgid "+1 (877) 273-3049"
839
  msgstr ""
840
 
841
- #: config/settings.php:467
842
  msgctxt "admin-text"
843
  msgid "Price Range"
844
  msgstr ""
845
 
846
- #: config/settings.php:468
847
  msgctxt "admin-text"
848
  msgid "$$-$$$"
849
  msgstr ""
850
 
851
- #: config/settings.php:480
852
  msgctxt "admin-text"
853
  msgid "Offer Type"
854
  msgstr ""
855
 
856
- #: config/settings.php:482
857
  msgctxt "admin-text"
858
  msgid "AggregateOffer"
859
  msgstr ""
860
 
861
- #: config/settings.php:483
862
  msgctxt "admin-text"
863
  msgid "Offer"
864
  msgstr ""
865
 
866
- #: config/settings.php:496
867
  msgctxt "admin-text"
868
  msgid "Price"
869
  msgstr ""
870
 
871
- #: config/settings.php:509
872
  msgctxt "admin-text"
873
  msgid "Low Price"
874
  msgstr ""
875
 
876
- #: config/settings.php:522
877
  msgctxt "admin-text"
878
  msgid "High Price"
879
  msgstr ""
880
 
881
- #: config/settings.php:534
882
  msgctxt "admin-text"
883
  msgid "Price Currency"
884
  msgstr ""
885
 
886
- #: config/settings.php:535
887
  msgctxt "admin-text"
888
  msgid "USD"
889
  msgstr ""
890
 
891
- #: config/settings.php:543
892
  msgctxt "admin-text"
893
  msgid "Required Fields"
894
  msgstr ""
895
 
896
- #: config/settings.php:545, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
897
  msgctxt "admin-text"
898
  msgid "Rating"
899
  msgstr ""
900
 
901
- #: config/settings.php:546, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
902
  msgctxt "admin-text"
903
  msgid "Title"
904
  msgstr ""
905
 
906
- #: config/settings.php:547, plugin/Defaults/PostTypeLabelDefaults.php:15
907
  msgctxt "admin-text"
908
  msgid "Review"
909
  msgstr ""
910
 
911
- #: config/settings.php:548, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
912
  msgctxt "admin-text"
913
  msgid "Name"
914
  msgstr ""
915
 
916
- #: config/settings.php:549, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
917
  msgctxt "admin-text"
918
  msgid "Email"
919
  msgstr ""
920
 
921
- #: config/settings.php:550, config/forms/metabox-fields.php:30
922
  msgctxt "admin-text"
923
  msgid "Terms"
924
  msgstr ""
925
 
926
- #: config/settings.php:552
927
  msgctxt "admin-text"
928
  msgid "Choose which fields should be required in the review form."
929
  msgstr ""
930
 
931
- #: config/settings.php:558
932
  msgctxt "admin-text"
933
  msgid "Limit Reviews"
934
  msgstr ""
935
 
936
- #: config/settings.php:560
937
  msgctxt "admin-text"
938
  msgid "No Limit"
939
  msgstr ""
940
 
941
- #: config/settings.php:561
942
  msgctxt "admin-text"
943
  msgid "By Email Address"
944
  msgstr ""
945
 
946
- #: config/settings.php:562
947
  msgctxt "admin-text"
948
  msgid "By IP Address"
949
  msgstr ""
950
 
951
- #: config/settings.php:563
952
  msgctxt "admin-text"
953
  msgid "By Username (will only work for registered users)"
954
  msgstr ""
955
 
956
- #: config/settings.php:565
957
  msgctxt "admin-text"
958
  msgid "Limits the number of reviews that can be submitted to one-per-person."
959
  msgstr ""
960
 
961
- #: config/settings.php:573
962
  msgctxt "admin-text"
963
  msgid "Restrict Limits To"
964
  msgstr ""
965
 
966
- #: config/settings.php:575, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
967
  msgctxt "admin-text"
968
  msgid "Assigned Posts"
969
  msgstr ""
970
 
971
- #: config/settings.php:576
972
  msgctxt "admin-text"
973
  msgid "Assigned Terms"
974
  msgstr ""
975
 
976
- #: config/settings.php:577, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
977
  msgctxt "admin-text"
978
  msgid "Assigned Users"
979
  msgstr ""
980
 
981
- #: config/settings.php:580
982
  msgctxt "admin-text"
983
  msgid "Select which assignments the review limits should be restricted to."
984
  msgstr ""
985
 
986
- #: config/settings.php:581
987
  msgctxt "admin-text"
988
  msgid "The review limits use strict assignment, i.e. <code>restrict limits to reviews assigned to this AND this</code>."
989
  msgstr ""
990
 
991
- #: config/settings.php:590
992
  msgctxt "admin-text"
993
  msgid "Email Whitelist"
994
  msgstr ""
995
 
996
- #: config/settings.php:592
997
  msgctxt "admin-text"
998
  msgid "One Email per line. All emails in the whitelist will be excluded from the review submission limit."
999
  msgstr ""
1000
 
1001
- #: config/settings.php:600
1002
  msgctxt "admin-text"
1003
  msgid "IP Address Whitelist"
1004
  msgstr ""
1005
 
1006
- #: config/settings.php:602
1007
  msgctxt "admin-text"
1008
  msgid "One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit.."
1009
  msgstr ""
1010
 
1011
- #: config/settings.php:610
1012
  msgctxt "admin-text"
1013
  msgid "Username Whitelist"
1014
  msgstr ""
1015
 
1016
- #: config/settings.php:612
1017
  msgctxt "admin-text"
1018
  msgid "One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit."
1019
  msgstr ""
1020
 
1021
- #: config/settings.php:618
1022
  msgctxt "admin-text"
1023
  msgid "Invisible reCAPTCHA"
1024
  msgstr ""
1025
 
1026
- #: config/settings.php:620
1027
  msgctxt "admin-text"
1028
  msgid "Do not use reCAPTCHA"
1029
  msgstr ""
1030
 
1031
- #: config/settings.php:621
1032
  msgctxt "admin-text"
1033
  msgid "Use reCAPTCHA"
1034
  msgstr ""
1035
 
1036
- #: config/settings.php:622
1037
  msgctxt "admin-text"
1038
  msgid "Use reCAPTCHA only for guest users"
1039
  msgstr ""
1040
 
1041
- #: config/settings.php:624
1042
  msgctxt "admin-text"
1043
  msgid "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service from Google. To use it, you will need to <a href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign up</a> for an API key pair for your site."
1044
  msgstr ""
1045
 
1046
- #: config/settings.php:632
1047
  msgctxt "admin-text"
1048
  msgid "Site Key"
1049
  msgstr ""
1050
 
1051
- #: config/settings.php:633
1052
  msgctxt "admin-text"
1053
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1054
  msgstr ""
1055
 
1056
- #: config/settings.php:641
1057
  msgctxt "admin-text"
1058
  msgid "Site Secret"
1059
  msgstr ""
1060
 
1061
- #: config/settings.php:642
1062
  msgctxt "admin-text"
1063
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1064
  msgstr ""
1065
 
1066
- #: config/settings.php:651
1067
  msgctxt "admin-text"
1068
  msgid "Badge Position"
1069
  msgstr ""
1070
 
1071
- #: config/settings.php:653
1072
  msgctxt "admin-text"
1073
  msgid "Bottom Left"
1074
  msgstr ""
1075
 
1076
- #: config/settings.php:654
1077
  msgctxt "admin-text"
1078
  msgid "Bottom Right"
1079
  msgstr ""
1080
 
1081
- #: config/settings.php:655
1082
  msgctxt "admin-text"
1083
  msgid "Inline"
1084
  msgstr ""
1085
 
1086
- #: config/settings.php:657
1087
  msgctxt "admin-text"
1088
  msgid "This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews."
1089
  msgstr ""
1090
 
1091
- #: config/settings.php:662
1092
  msgctxt "admin-text"
1093
  msgid "Enable Akismet"
1094
  msgstr ""
1095
 
1096
- #: config/settings.php:663
1097
  msgctxt "admin-text"
1098
  msgid "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key."
1099
  msgstr ""
1100
 
1101
- #: config/settings.php:669
1102
  msgctxt "admin-text"
1103
  msgid "Blacklist"
1104
  msgstr ""
1105
 
1106
- #: config/settings.php:671
1107
  msgctxt "admin-text"
1108
  msgid "Use the Site Reviews Blacklist"
1109
  msgstr ""
1110
 
1111
- #: config/settings.php:672
1112
  msgctxt "admin-text"
1113
  msgid "Use the WordPress Disallowed Comment Keys"
1114
  msgstr ""
1115
 
1116
- #: config/settings.php:674
1117
  msgctxt "admin-text"
1118
  msgid "Choose which Blacklist you would prefer to use for reviews. The %s option can be found in the WordPress Discussion Settings page."
1119
  msgstr ""
1120
 
1121
- #: config/settings.php:675
1122
  msgctxt "admin-text"
1123
  msgid "Disallowed Comment Keys"
1124
  msgstr ""
1125
 
1126
- #: config/settings.php:684
1127
  msgctxt "admin-text"
1128
  msgid "Review Blacklist"
1129
  msgstr ""
1130
 
1131
- #: config/settings.php:686
1132
  msgctxt "admin-text"
1133
  msgid "One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so \"press\" will match \"WordPress\"."
1134
  msgstr ""
1135
 
1136
- #: config/settings.php:692
1137
  msgctxt "admin-text"
1138
  msgid "Blacklist Action"
1139
  msgstr ""
1140
 
1141
- #: config/settings.php:694
1142
  msgctxt "admin-text"
1143
  msgid "Require approval"
1144
  msgstr ""
1145
 
1146
- #: config/settings.php:695
1147
  msgctxt "admin-text"
1148
  msgid "Reject submission"
1149
  msgstr ""
1150
 
1151
- #: config/settings.php:697
1152
  msgctxt "admin-text"
1153
  msgid "Choose the action that should be taken when a review is blacklisted."
1154
  msgstr ""
@@ -1282,12 +1302,12 @@ msgctxt "admin-text"
1282
  msgid "Untitled"
1283
  msgstr ""
1284
 
1285
- #: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:54, plugin/Controllers/MenuController.php:51, plugin/Integrations/Elementor/ElementorWidget.php:132, views/pages/tools/sync.php:23
1286
  msgctxt "admin-text"
1287
  msgid "Settings"
1288
  msgstr ""
1289
 
1290
- #: plugin/Addons/Controller.php:77, plugin/Controllers/AdminController.php:60, plugin/Controllers/MenuController.php:54
1291
  msgctxt "admin-text"
1292
  msgid "Help"
1293
  msgstr ""
@@ -1417,29 +1437,29 @@ msgid_plural "Unapproved <span class=\"count\">(%s)</span>"
1417
  msgstr[0] ""
1418
  msgstr[1] ""
1419
 
1420
- #: plugin/Controllers/AdminController.php:111
1421
  msgctxt "admin-text"
1422
  msgid "%s Review"
1423
  msgid_plural "%s Reviews"
1424
  msgstr[0] ""
1425
  msgstr[1] ""
1426
 
1427
- #: plugin/Controllers/AdminController.php:192, plugin/Widgets/SiteReviewsWidget.php:113
1428
  msgctxt "admin-text"
1429
  msgid "Recent Reviews"
1430
  msgstr ""
1431
 
1432
- #: plugin/Controllers/AdminController.php:193, plugin/Widgets/SiteReviewsFormWidget.php:78, plugin/Integrations/Elementor/ElementorFormWidget.php:19
1433
  msgctxt "admin-text"
1434
  msgid "Submit a Review"
1435
  msgstr ""
1436
 
1437
- #: plugin/Controllers/AdminController.php:194, plugin/Widgets/SiteReviewsSummaryWidget.php:81
1438
  msgctxt "admin-text"
1439
  msgid "Summary of Reviews"
1440
  msgstr ""
1441
 
1442
- #: plugin/Controllers/AdminController.php:245, plugin/Controllers/AdminController.php:264, plugin/Controllers/AdminController.php:278
1443
  msgctxt "admin-text"
1444
  msgid "Nothing found."
1445
  msgstr ""
@@ -2469,49 +2489,49 @@ msgstr ""
2469
  msgid "Terrible"
2470
  msgstr ""
2471
 
2472
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:95
2473
  msgctxt "admin-text"
2474
  msgid "Hide the rating field"
2475
  msgstr ""
2476
 
2477
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:96
2478
  msgctxt "admin-text"
2479
  msgid "Hide the title field"
2480
  msgstr ""
2481
 
2482
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:97
2483
  msgctxt "admin-text"
2484
  msgid "Hide the review field"
2485
  msgstr ""
2486
 
2487
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:98
2488
  msgctxt "admin-text"
2489
  msgid "Hide the name field"
2490
  msgstr ""
2491
 
2492
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:99
2493
  msgctxt "admin-text"
2494
  msgid "Hide the email field"
2495
  msgstr ""
2496
 
2497
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:100
2498
  msgctxt "admin-text"
2499
  msgid "Hide the terms field"
2500
  msgstr ""
2501
 
2502
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:123
2503
  msgid "logged in"
2504
  msgstr ""
2505
 
2506
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:125
2507
  msgid "You must be %s to submit a review."
2508
  msgstr ""
2509
 
2510
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:136
2511
  msgid "register"
2512
  msgstr ""
2513
 
2514
- #: plugin/Shortcodes/SiteReviewsFormShortcode.php:138
2515
  msgid "You may also %s for an account."
2516
  msgstr ""
2517
 
@@ -3832,95 +3852,100 @@ msgstr ""
3832
 
3833
  #: views/pages/tools/general/import-reviews.php:25
3834
  msgctxt "admin-text"
3835
- msgid "The avatar URL of the reviewer"
3836
  msgstr ""
3837
 
3838
  #: views/pages/tools/general/import-reviews.php:26
3839
  msgctxt "admin-text"
 
 
 
 
 
3840
  msgid "The review"
3841
  msgstr ""
3842
 
3843
- #: views/pages/tools/general/import-reviews.php:26, views/pages/tools/general/import-reviews.php:27, views/pages/tools/general/import-reviews.php:33
3844
  msgctxt "admin-text"
3845
  msgid "required"
3846
  msgstr ""
3847
 
3848
- #: views/pages/tools/general/import-reviews.php:27
3849
  msgctxt "admin-text"
3850
  msgid "The review date"
3851
  msgstr ""
3852
 
3853
- #: views/pages/tools/general/import-reviews.php:28
3854
  msgctxt "admin-text"
3855
  msgid "The reviewer's email"
3856
  msgstr ""
3857
 
3858
- #: views/pages/tools/general/import-reviews.php:29
3859
  msgctxt "admin-text"
3860
  msgid "The IP address of the reviewer"
3861
  msgstr ""
3862
 
3863
- #: views/pages/tools/general/import-reviews.php:30, views/pages/tools/general/import-reviews.php:31, views/pages/tools/general/import-reviews.php:35
3864
  msgctxt "admin-text"
3865
  msgid "TRUE or FALSE"
3866
  msgstr ""
3867
 
3868
- #: views/pages/tools/general/import-reviews.php:32
3869
  msgctxt "admin-text"
3870
  msgid "The reviewer's name"
3871
  msgstr ""
3872
 
3873
- #: views/pages/tools/general/import-reviews.php:33
3874
  msgctxt "admin-text"
3875
  msgid "A number from 0-%d"
3876
  msgstr ""
3877
 
3878
- #: views/pages/tools/general/import-reviews.php:34
3879
  msgctxt "admin-text"
3880
  msgid "The review response"
3881
  msgstr ""
3882
 
3883
- #: views/pages/tools/general/import-reviews.php:36
3884
  msgctxt "admin-text"
3885
  msgid "The title of the review"
3886
  msgstr ""
3887
 
3888
- #: views/pages/tools/general/import-reviews.php:38
3889
  msgctxt "admin-text"
3890
  msgid "Entries in the CSV file that do not contain required values will be skipped."
3891
  msgstr ""
3892
 
3893
- #: views/pages/tools/general/import-reviews.php:46
3894
  msgctxt "admin-text"
3895
  msgid "Delimiter"
3896
  msgstr ""
3897
 
3898
- #: views/pages/tools/general/import-reviews.php:48
3899
  msgctxt "admin-text"
3900
  msgid "Select the delimiter used in the CSV file"
3901
  msgstr ""
3902
 
3903
- #: views/pages/tools/general/import-reviews.php:49
3904
  msgctxt "admin-text"
3905
  msgid "Comma (,)"
3906
  msgstr ""
3907
 
3908
- #: views/pages/tools/general/import-reviews.php:50
3909
  msgctxt "admin-text"
3910
  msgid "Semicolon (;)"
3911
  msgstr ""
3912
 
3913
- #: views/pages/tools/general/import-reviews.php:56
3914
  msgctxt "admin-text"
3915
  msgid "Select the date format used in the reviews"
3916
  msgstr ""
3917
 
3918
- #: views/pages/tools/general/import-reviews.php:78
3919
  msgctxt "admin-text"
3920
  msgid "Importing reviews, please wait..."
3921
  msgstr ""
3922
 
3923
- #: views/pages/tools/general/import-reviews.php:78
3924
  msgctxt "admin-text"
3925
  msgid "Import Reviews"
3926
  msgstr ""
@@ -4145,117 +4170,117 @@ msgctxt "admin-text"
4145
  msgid "The posts assigned to the review of any public post type."
4146
  msgstr ""
4147
 
4148
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:131
4149
  msgctxt "admin-text"
4150
  msgid "The terms assigned to the review in the %s taxonomy."
4151
  msgstr ""
4152
 
4153
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:137
4154
  msgctxt "admin-text"
4155
  msgid "The users assigned to the review."
4156
  msgstr ""
4157
 
4158
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:143
4159
  msgctxt "admin-text"
4160
  msgid "The ID for the author of the review."
4161
  msgstr ""
4162
 
4163
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:148
4164
  msgctxt "admin-text"
4165
  msgid "The avatar of the person who submitted the review."
4166
  msgstr ""
4167
 
4168
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:153
4169
  msgctxt "admin-text"
4170
  msgid "The content of the review."
4171
  msgstr ""
4172
 
4173
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:162
4174
  msgctxt "admin-text"
4175
  msgid "Custom fields."
4176
  msgstr ""
4177
 
4178
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:167
4179
  msgctxt "admin-text"
4180
  msgid "The date the review was published, in the site's timezone."
4181
  msgstr ""
4182
 
4183
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:173
4184
  msgctxt "admin-text"
4185
  msgid "The date the review was published, as GMT."
4186
  msgstr ""
4187
 
4188
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:179
4189
  msgctxt "admin-text"
4190
  msgid "The email of the person who submitted the review."
4191
  msgstr ""
4192
 
4193
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:184
4194
  msgctxt "admin-text"
4195
  msgid "Unique identifier for the review."
4196
  msgstr ""
4197
 
4198
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:190
4199
  msgctxt "admin-text"
4200
  msgid "The IP address of the person who submitted the review."
4201
  msgstr ""
4202
 
4203
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:196
4204
  msgctxt "admin-text"
4205
  msgid "If the review has an approved status."
4206
  msgstr ""
4207
 
4208
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:202
4209
  msgctxt "admin-text"
4210
  msgid "If the review has been modified."
4211
  msgstr ""
4212
 
4213
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:208
4214
  msgctxt "admin-text"
4215
  msgid "If the review has been pinned."
4216
  msgstr ""
4217
 
4218
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:213
4219
  msgctxt "admin-text"
4220
  msgid "The date the review was last modified, in the site's timezone."
4221
  msgstr ""
4222
 
4223
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:220
4224
  msgctxt "admin-text"
4225
  msgid "The date the review was last modified, as GMT."
4226
  msgstr ""
4227
 
4228
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:227
4229
  msgctxt "admin-text"
4230
  msgid "The name of the person who submitted the review."
4231
  msgstr ""
4232
 
4233
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:232
4234
  msgctxt "admin-text"
4235
  msgid "The rating of the review."
4236
  msgstr ""
4237
 
4238
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:237
4239
  msgctxt "admin-text"
4240
  msgid "The response given to the review."
4241
  msgstr ""
4242
 
4243
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:242
4244
  msgctxt "admin-text"
4245
  msgid "A named status for the review."
4246
  msgstr ""
4247
 
4248
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:248
4249
  msgctxt "admin-text"
4250
  msgid "If the terms were accepted when the review was submitted."
4251
  msgstr ""
4252
 
4253
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:253
4254
  msgctxt "admin-text"
4255
  msgid "The title of the review."
4256
  msgstr ""
4257
 
4258
- #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:258
4259
  msgctxt "admin-text"
4260
  msgid "Type of Review for the object."
4261
  msgstr ""
266
 
267
  #: config/settings.php:68
268
  msgctxt "admin-text"
269
+ msgid "Custom Login URL"
270
+ msgstr ""
271
+
272
+ #: config/settings.php:70
273
+ msgctxt "admin-text"
274
+ msgid "Site Reviews uses the %s function to get the login URL. If you would like to use a custom login URL, enter it here."
275
+ msgstr ""
276
+
277
+ #: config/settings.php:80
278
+ msgctxt "admin-text"
279
  msgid "Show Registration Link"
280
  msgstr ""
281
 
282
+ #: config/settings.php:81
283
  msgctxt "admin-text"
284
  msgid "Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work."
285
  msgstr ""
286
 
287
+ #: config/settings.php:82
288
  msgctxt "admin-text"
289
  msgid "Anyone can register"
290
  msgstr ""
291
 
292
+ #: config/settings.php:92
293
+ msgctxt "admin-text"
294
+ msgid "Custom Registration URL"
295
+ msgstr ""
296
+
297
+ #: config/settings.php:94
298
+ msgctxt "admin-text"
299
+ msgid "Site Reviews uses the %s function to get the registration URL. If you would like to use a custom registration URL, enter it here."
300
+ msgstr ""
301
+
302
+ #: config/settings.php:102
303
  msgctxt "admin-text"
304
  msgid "Multilingual"
305
  msgstr ""
306
 
307
+ #: config/settings.php:104
308
  msgctxt "admin-text"
309
  msgid "No Integration"
310
  msgstr ""
311
 
312
+ #: config/settings.php:105
313
  msgctxt "admin-text"
314
  msgid "Integrate with Polylang"
315
  msgstr ""
316
 
317
+ #: config/settings.php:106
318
  msgctxt "admin-text"
319
  msgid "Integrate with WPML"
320
  msgstr ""
321
 
322
+ #: config/settings.php:108
323
  msgctxt "admin-text"
324
  msgid "Integrate with a multilingual plugin to calculate the combined ratings for all languages of a page; and if you are assigning reviews to your pages, display reviews assigned to all languages of that page."
325
  msgstr ""
326
 
327
+ #: config/settings.php:113
328
  msgctxt "admin-text"
329
  msgid "Notifications"
330
  msgstr ""
331
 
332
+ #: config/settings.php:115
333
  msgctxt "admin-text"
334
  msgid "Send to administrator"
335
  msgstr ""
336
 
337
+ #: config/settings.php:116
338
  msgctxt "admin-text"
339
  msgid "Send to author of the page that the review is assigned to"
340
  msgstr ""
341
 
342
+ #: config/settings.php:117
343
  msgctxt "admin-text"
344
  msgid "Send to one or more email addresses"
345
  msgstr ""
346
 
347
+ #: config/settings.php:118
348
  msgctxt "admin-text"
349
  msgid "Send to <a href=\"https://slack.com/\">Slack</a>"
350
  msgstr ""
351
 
352
+ #: config/settings.php:120
353
  msgctxt "admin-text"
354
  msgid "Select the notification recipients."
355
  msgstr ""
356
 
357
+ #: config/settings.php:128
358
  msgctxt "admin-text"
359
  msgid "Send Emails From"
360
  msgstr ""
361
 
362
+ #: config/settings.php:130
363
  msgctxt "admin-text"
364
  msgid "If emails are not sending, make sure that this email address uses the same domain as your website."
365
  msgstr ""
366
 
367
+ #: config/settings.php:138
368
  msgctxt "admin-text"
369
  msgid "Send Emails To"
370
  msgstr ""
371
 
372
+ #: config/settings.php:139, config/settings.php:140
373
  msgctxt "admin-text"
374
  msgid "Separate multiple emails with a comma"
375
  msgstr ""
376
 
377
+ #: config/settings.php:148
378
  msgctxt "admin-text"
379
  msgid "Slack Webhook URL"
380
  msgstr ""
381
 
382
+ #: config/settings.php:149
383
  msgctxt "admin-text"
384
  msgid "To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above."
385
  msgstr ""
386
 
387
+ #: config/settings.php:150
388
  msgctxt "admin-text"
389
  msgid "Incoming WebHook"
390
  msgstr ""
391
 
392
+ #: config/settings.php:160
393
  msgctxt "admin-text"
394
  msgid "Notification Template"
395
  msgstr ""
396
 
397
+ #: config/settings.php:162
398
  msgctxt "admin-text"
399
  msgid "To restore the default text, save an empty template. If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href=\"https://api.slack.com/docs/attachments\">Message Attachments</a> have been disabled."
400
  msgstr ""
401
 
402
+ #: config/settings.php:168, views/pages/tools/general/import-reviews.php:55
403
  msgctxt "admin-text"
404
  msgid "Date Format"
405
  msgstr ""
406
 
407
+ #: config/settings.php:170
408
  msgctxt "admin-text"
409
  msgid "Use the default date format"
410
  msgstr ""
411
 
412
+ #: config/settings.php:171
413
  msgctxt "admin-text"
414
  msgid "Use a relative date format"
415
  msgstr ""
416
 
417
+ #: config/settings.php:172
418
  msgctxt "admin-text"
419
  msgid "Use a custom date format"
420
  msgstr ""
421
 
422
+ #: config/settings.php:174
423
  msgctxt "admin-text"
424
  msgid "The default date format is the one set in your %s."
425
  msgstr ""
426
 
427
+ #: config/settings.php:175
428
  msgctxt "admin-text"
429
  msgid "WordPress settings"
430
  msgstr ""
431
 
432
+ #: config/settings.php:184
433
  msgctxt "admin-text"
434
  msgid "Custom Date Format"
435
  msgstr ""
436
 
437
+ #: config/settings.php:185
438
  msgctxt "admin-text"
439
+ msgid "Enter a custom date format (<a href=\"https://wordpress.org/support/article/formatting-date-and-time/\">documentation on date and time formatting</a>)."
440
  msgstr ""
441
 
442
+ #: config/settings.php:191
443
  msgctxt "admin-text"
444
  msgid "Name Format"
445
  msgstr ""
446
 
447
+ #: config/settings.php:193
448
  msgctxt "admin-text"
449
  msgid "Use the name as given"
450
  msgstr ""
451
 
452
+ #: config/settings.php:194
453
  msgctxt "admin-text"
454
  msgid "Use the first name only"
455
  msgstr ""
456
 
457
+ #: config/settings.php:195
458
  msgctxt "admin-text"
459
  msgid "Convert first name to an initial"
460
  msgstr ""
461
 
462
+ #: config/settings.php:196
463
  msgctxt "admin-text"
464
  msgid "Convert last name to an initial"
465
  msgstr ""
466
 
467
+ #: config/settings.php:197
468
  msgctxt "admin-text"
469
  msgid "Convert to all initials"
470
  msgstr ""
471
 
472
+ #: config/settings.php:199
473
  msgctxt "admin-text"
474
  msgid "Choose how author names are shown in your reviews."
475
  msgstr ""
476
 
477
+ #: config/settings.php:208
478
  msgctxt "admin-text"
479
  msgid "Initial Format"
480
  msgstr ""
481
 
482
+ #: config/settings.php:210
483
  msgctxt "admin-text"
484
  msgid "Initial with a space"
485
  msgstr ""
486
 
487
+ #: config/settings.php:211
488
  msgctxt "admin-text"
489
  msgid "Initial with a period"
490
  msgstr ""
491
 
492
+ #: config/settings.php:212
493
  msgctxt "admin-text"
494
  msgid "Initial with a period and a space"
495
  msgstr ""
496
 
497
+ #: config/settings.php:214
498
  msgctxt "admin-text"
499
  msgid "Choose how the initial is displayed."
500
  msgstr ""
501
 
502
+ #: config/settings.php:221
503
  msgctxt "admin-text"
504
  msgid "Loose Assignment displays reviews that are assigned to this <code>OR</code> that."
505
  msgstr ""
506
 
507
+ #: config/settings.php:222
508
  msgctxt "admin-text"
509
  msgid "Strict Assignment displays reviews that are assigned to this <code>AND</code> that."
510
  msgstr ""
511
 
512
+ #: config/settings.php:224
513
  msgctxt "admin-text"
514
  msgid "Review Assignment"
515
  msgstr ""
516
 
517
+ #: config/settings.php:226
518
  msgctxt "admin-text"
519
  msgid "Loose Assignment (slower database queries)"
520
  msgstr ""
521
 
522
+ #: config/settings.php:227
523
  msgctxt "admin-text"
524
  msgid "Strict Assignment (faster database queries)"
525
  msgstr ""
526
 
527
+ #: config/settings.php:229
528
  msgctxt "admin-text"
529
  msgid "This setting determines how the assigned options work in the reviews and summary shortcodes and blocks."
530
  msgstr ""
531
 
532
+ #: config/settings.php:234
533
  msgctxt "admin-text"
534
  msgid "Enable Assigned Links"
535
  msgstr ""
536
 
537
+ #: config/settings.php:235
538
  msgctxt "admin-text"
539
  msgid "This will display a link to the assigned posts of a review."
540
  msgstr ""
541
 
542
+ #: config/settings.php:240
543
  msgctxt "admin-text"
544
  msgid "Enable Avatars"
545
  msgstr ""
546
 
547
+ #: config/settings.php:241
548
  msgctxt "admin-text"
549
  msgid "The avatars are generated from the email address of the reviewer using <a href=\"https://gravatar.com\">Gravatar</a>."
550
  msgstr ""
551
 
552
+ #: config/settings.php:250
553
  msgctxt "admin-text"
554
  msgid "Fallback Avatar"
555
  msgstr ""
556
 
557
+ #: config/settings.php:252, config/settings.php:459
558
  msgctxt "admin-text"
559
  msgid "Custom Image URL"
560
  msgstr ""
561
 
562
+ #: config/settings.php:253
563
  msgctxt "admin-text"
564
  msgid "Identicon (geometric patterns)"
565
  msgstr ""
566
 
567
+ #: config/settings.php:254
568
  msgctxt "admin-text"
569
  msgid "Initials (initials of reviewer's name)"
570
  msgstr ""
571
 
572
+ #: config/settings.php:255
573
  msgctxt "admin-text"
574
  msgid "Monster (monsters with generated faces)"
575
  msgstr ""
576
 
577
+ #: config/settings.php:256
578
  msgctxt "admin-text"
579
  msgid "Mystery (silhouetted outline of a person)"
580
  msgstr ""
581
 
582
+ #: config/settings.php:257
583
  msgctxt "admin-text"
584
  msgid "Pixel Avatars (locally generated)"
585
  msgstr ""
586
 
587
+ #: config/settings.php:258
588
  msgctxt "admin-text"
589
  msgid "Retro (8-bit arcade-style pixelated faces)"
590
  msgstr ""
591
 
592
+ #: config/settings.php:259
593
  msgctxt "admin-text"
594
  msgid "Robohash (robots with generated faces)"
595
  msgstr ""
596
 
597
+ #: config/settings.php:260
598
  msgctxt "admin-text"
599
  msgid "Wavatar (faces with generated features)"
600
  msgstr ""
601
 
602
+ #: config/settings.php:262
603
  msgctxt "admin-text"
604
  msgid "This image is displayed when there is no avatar."
605
  msgstr ""
606
 
607
+ #: config/settings.php:270
608
  msgctxt "admin-text"
609
  msgid "Fallback Avatar URL"
610
  msgstr ""
611
 
612
+ #: config/settings.php:271
613
  msgctxt "admin-text"
614
  msgid "Enter a custom image URL to use as the fallback avatar."
615
  msgstr ""
616
 
617
+ #: config/settings.php:279
618
  msgctxt "admin-text"
619
  msgid "Regenerate Avatars"
620
  msgstr ""
621
 
622
+ #: config/settings.php:280
623
  msgctxt "admin-text"
624
  msgid "This will regenerate the avatar whenever a local review is shown."
625
  msgstr ""
626
 
627
+ #: config/settings.php:284
628
  msgctxt "avatar size (admin-text)"
629
  msgid "pixels"
630
  msgstr ""
631
 
632
+ #: config/settings.php:289
633
  msgctxt "admin-text"
634
  msgid "Avatar Size"
635
  msgstr ""
636
 
637
+ #: config/settings.php:291
638
  msgctxt "admin-text"
639
  msgid "Set the height/width of the avatar in pixels."
640
  msgstr ""
641
 
642
+ #: config/settings.php:296
643
  msgctxt "admin-text"
644
  msgid "Enable Excerpts"
645
  msgstr ""
646
 
647
+ #: config/settings.php:297
648
  msgctxt "admin-text"
649
  msgid "Display an excerpt instead of the full review."
650
  msgstr ""
651
 
652
+ #: config/settings.php:306
653
  msgctxt "admin-text"
654
  msgid "Excerpt Action"
655
  msgstr ""
656
 
657
+ #: config/settings.php:308
658
  msgctxt "admin-text"
659
  msgid "Collapse/Expand the review"
660
  msgstr ""
661
 
662
+ #: config/settings.php:309
663
  msgctxt "admin-text"
664
  msgid "Display the review in a modal"
665
  msgstr ""
666
 
667
+ #: config/settings.php:315
668
  msgctxt "exceprt length (admin-text)"
669
  msgid "words"
670
  msgstr ""
671
 
672
+ #: config/settings.php:320
673
  msgctxt "admin-text"
674
  msgid "Excerpt Length"
675
  msgstr ""
676
 
677
+ #: config/settings.php:321
678
  msgctxt "admin-text"
679
  msgid "Set the excerpt word length."
680
  msgstr ""
681
 
682
+ #: config/settings.php:326
683
  msgctxt "admin-text"
684
  msgid "The default text is: %s"
685
  msgstr ""
686
 
687
+ #: config/settings.php:327, plugin/Modules/Html/ReviewsHtml.php:142
688
  msgid "There are no reviews yet. Be the first one to write one."
689
  msgstr ""
690
 
691
+ #: config/settings.php:329
692
  msgctxt "admin-text"
693
  msgid "Enable Fallback Text"
694
  msgstr ""
695
 
696
+ #: config/settings.php:330
697
  msgctxt "admin-text"
698
  msgid "Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the \"fallback\" option on the shortcode."
699
  msgstr ""
700
 
701
+ #: config/settings.php:331
702
  msgctxt "admin-text"
703
  msgid "Translations"
704
  msgstr ""
705
 
706
+ #: config/settings.php:338
707
  msgctxt "admin-text"
708
  msgid "If you would like to keep the pagination links but prevent search engines from indexing them, add the following lines to your %s file: %s"
709
  msgstr ""
710
 
711
+ #: config/settings.php:344
712
  msgctxt "admin-text"
713
  msgid "Enable Paginated URLs"
714
  msgstr ""
715
 
716
+ #: config/settings.php:345
717
  msgctxt "admin-text"
718
  msgid "Paginated URLs include the %s URL parameter."
719
  msgstr ""
720
 
721
+ #: config/settings.php:353
722
  msgctxt "admin-text"
723
  msgid "Default Schema Type"
724
  msgstr ""
725
 
726
+ #: config/settings.php:355
727
  msgctxt "admin-text"
728
  msgid "Local Business"
729
  msgstr ""
730
 
731
+ #: config/settings.php:356
732
  msgctxt "admin-text"
733
  msgid "Product"
734
  msgstr ""
735
 
736
+ #: config/settings.php:357
737
  msgctxt "admin-text"
738
  msgid "Custom"
739
  msgstr ""
740
 
741
+ #: config/settings.php:359, config/settings.php:383, config/settings.php:405, config/settings.php:427, config/settings.php:449, config/settings.php:470, config/settings.php:482, config/settings.php:494, config/settings.php:510, config/settings.php:523, config/settings.php:536, config/settings.php:549, config/settings.php:561
742
  msgctxt "admin-text"
743
  msgid "You can use the %s to override this value on your page. The Custom Field name to use is:"
744
  msgstr ""
745
 
746
+ #: config/settings.php:360, config/settings.php:384, config/settings.php:406, config/settings.php:428, config/settings.php:450, config/settings.php:471, config/settings.php:483, config/settings.php:495, config/settings.php:511, config/settings.php:524, config/settings.php:537, config/settings.php:550, config/settings.php:562, views/pages/settings/schema.php:19
747
  msgctxt "admin-text"
748
  msgid "Custom Fields metabox"
749
  msgstr ""
750
 
751
+ #: config/settings.php:369
752
  msgctxt "admin-text"
753
  msgid "Custom Schema Type"
754
  msgstr ""
755
 
756
+ #: config/settings.php:370
757
  msgctxt "read this (admin-text)"
758
  msgid "Google limits the schema types that can potentially trigger review rich results in search. To learn which schema types can be used, please %s."
759
  msgstr ""
760
 
761
+ #: config/settings.php:371
762
  msgctxt "admin-text"
763
  msgid "read this"
764
  msgstr ""
765
 
766
+ #: config/settings.php:378
767
  msgctxt "admin-text"
768
  msgid "Default Name"
769
  msgstr ""
770
 
771
+ #: config/settings.php:380
772
  msgctxt "admin-text"
773
  msgid "Use the assigned or current page title"
774
  msgstr ""
775
 
776
+ #: config/settings.php:381, config/settings.php:394
777
  msgctxt "admin-text"
778
  msgid "Enter a custom title"
779
  msgstr ""
780
 
781
+ #: config/settings.php:393
782
  msgctxt "admin-text"
783
  msgid "Custom Name"
784
  msgstr ""
785
 
786
+ #: config/settings.php:400
787
  msgctxt "admin-text"
788
  msgid "Default Description"
789
  msgstr ""
790
 
791
+ #: config/settings.php:402
792
  msgctxt "admin-text"
793
  msgid "Use the assigned or current page excerpt"
794
  msgstr ""
795
 
796
+ #: config/settings.php:403, config/settings.php:416
797
  msgctxt "admin-text"
798
  msgid "Enter a custom description"
799
  msgstr ""
800
 
801
+ #: config/settings.php:415
802
  msgctxt "admin-text"
803
  msgid "Custom Description"
804
  msgstr ""
805
 
806
+ #: config/settings.php:422
807
  msgctxt "admin-text"
808
  msgid "Default URL"
809
  msgstr ""
810
 
811
+ #: config/settings.php:424
812
  msgctxt "admin-text"
813
  msgid "Use the assigned or current page URL"
814
  msgstr ""
815
 
816
+ #: config/settings.php:425, config/settings.php:438
817
  msgctxt "admin-text"
818
  msgid "Enter a custom URL"
819
  msgstr ""
820
 
821
+ #: config/settings.php:437
822
  msgctxt "admin-text"
823
  msgid "Custom URL"
824
  msgstr ""
825
 
826
+ #: config/settings.php:444
827
  msgctxt "admin-text"
828
  msgid "Default Image"
829
  msgstr ""
830
 
831
+ #: config/settings.php:446
832
  msgctxt "admin-text"
833
  msgid "Use the featured image of the assigned or current page"
834
  msgstr ""
835
 
836
+ #: config/settings.php:447, config/settings.php:460
837
  msgctxt "admin-text"
838
  msgid "Enter a custom image URL"
839
  msgstr ""
840
 
841
+ #: config/settings.php:468
842
  msgctxt "admin-text"
843
  msgid "Address"
844
  msgstr ""
845
 
846
+ #: config/settings.php:469
847
  msgctxt "admin-text"
848
  msgid "60 29th Street #343, San Francisco, CA 94110, US"
849
  msgstr ""
850
 
851
+ #: config/settings.php:480
852
  msgctxt "admin-text"
853
  msgid "Telephone Number"
854
  msgstr ""
855
 
856
+ #: config/settings.php:481
857
  msgctxt "admin-text"
858
  msgid "+1 (877) 273-3049"
859
  msgstr ""
860
 
861
+ #: config/settings.php:492
862
  msgctxt "admin-text"
863
  msgid "Price Range"
864
  msgstr ""
865
 
866
+ #: config/settings.php:493
867
  msgctxt "admin-text"
868
  msgid "$$-$$$"
869
  msgstr ""
870
 
871
+ #: config/settings.php:505
872
  msgctxt "admin-text"
873
  msgid "Offer Type"
874
  msgstr ""
875
 
876
+ #: config/settings.php:507
877
  msgctxt "admin-text"
878
  msgid "AggregateOffer"
879
  msgstr ""
880
 
881
+ #: config/settings.php:508
882
  msgctxt "admin-text"
883
  msgid "Offer"
884
  msgstr ""
885
 
886
+ #: config/settings.php:521
887
  msgctxt "admin-text"
888
  msgid "Price"
889
  msgstr ""
890
 
891
+ #: config/settings.php:534
892
  msgctxt "admin-text"
893
  msgid "Low Price"
894
  msgstr ""
895
 
896
+ #: config/settings.php:547
897
  msgctxt "admin-text"
898
  msgid "High Price"
899
  msgstr ""
900
 
901
+ #: config/settings.php:559
902
  msgctxt "admin-text"
903
  msgid "Price Currency"
904
  msgstr ""
905
 
906
+ #: config/settings.php:560
907
  msgctxt "admin-text"
908
  msgid "USD"
909
  msgstr ""
910
 
911
+ #: config/settings.php:568
912
  msgctxt "admin-text"
913
  msgid "Required Fields"
914
  msgstr ""
915
 
916
+ #: config/settings.php:570, config/forms/metabox-fields.php:5, plugin/Defaults/PostTypeColumnDefaults.php:25, plugin/Defaults/RevisionFieldsDefaults.php:16, plugin/Tinymce/SiteReviewsTinymce.php:30
917
  msgctxt "admin-text"
918
  msgid "Rating"
919
  msgstr ""
920
 
921
+ #: config/settings.php:571, plugin/Tinymce/SiteReviewsFormTinymce.php:16, plugin/Tinymce/SiteReviewsSummaryTinymce.php:17, plugin/Tinymce/SiteReviewsTinymce.php:17, plugin/Widgets/SiteReviewsFormWidget.php:20, plugin/Widgets/SiteReviewsSummaryWidget.php:20, plugin/Widgets/SiteReviewsWidget.php:20
922
  msgctxt "admin-text"
923
  msgid "Title"
924
  msgstr ""
925
 
926
+ #: config/settings.php:572, plugin/Defaults/PostTypeLabelDefaults.php:15
927
  msgctxt "admin-text"
928
  msgid "Review"
929
  msgstr ""
930
 
931
+ #: config/settings.php:573, config/forms/metabox-fields.php:14, plugin/Controllers/PrivacyController.php:130, plugin/Defaults/PostTypeColumnDefaults.php:20, plugin/Defaults/RevisionFieldsDefaults.php:18
932
  msgctxt "admin-text"
933
  msgid "Name"
934
  msgstr ""
935
 
936
+ #: config/settings.php:574, config/forms/metabox-fields.php:18, plugin/Controllers/PrivacyController.php:131, plugin/Defaults/PostTypeColumnDefaults.php:21, plugin/Defaults/RevisionFieldsDefaults.php:19
937
  msgctxt "admin-text"
938
  msgid "Email"
939
  msgstr ""
940
 
941
+ #: config/settings.php:575, config/forms/metabox-fields.php:30
942
  msgctxt "admin-text"
943
  msgid "Terms"
944
  msgstr ""
945
 
946
+ #: config/settings.php:577
947
  msgctxt "admin-text"
948
  msgid "Choose which fields should be required in the review form."
949
  msgstr ""
950
 
951
+ #: config/settings.php:583
952
  msgctxt "admin-text"
953
  msgid "Limit Reviews"
954
  msgstr ""
955
 
956
+ #: config/settings.php:585
957
  msgctxt "admin-text"
958
  msgid "No Limit"
959
  msgstr ""
960
 
961
+ #: config/settings.php:586
962
  msgctxt "admin-text"
963
  msgid "By Email Address"
964
  msgstr ""
965
 
966
+ #: config/settings.php:587
967
  msgctxt "admin-text"
968
  msgid "By IP Address"
969
  msgstr ""
970
 
971
+ #: config/settings.php:588
972
  msgctxt "admin-text"
973
  msgid "By Username (will only work for registered users)"
974
  msgstr ""
975
 
976
+ #: config/settings.php:590
977
  msgctxt "admin-text"
978
  msgid "Limits the number of reviews that can be submitted to one-per-person."
979
  msgstr ""
980
 
981
+ #: config/settings.php:598
982
  msgctxt "admin-text"
983
  msgid "Restrict Limits To"
984
  msgstr ""
985
 
986
+ #: config/settings.php:600, plugin/Controllers/MetaboxController.php:38, plugin/Tinymce/SiteReviewsSummaryTinymce.php:25, plugin/Tinymce/SiteReviewsTinymce.php:56, views/partials/screen/inline-edit.php:102
987
  msgctxt "admin-text"
988
  msgid "Assigned Posts"
989
  msgstr ""
990
 
991
+ #: config/settings.php:601
992
  msgctxt "admin-text"
993
  msgid "Assigned Terms"
994
  msgstr ""
995
 
996
+ #: config/settings.php:602, plugin/Controllers/MetaboxController.php:39, plugin/Defaults/PostTypeColumnDefaults.php:19, views/partials/screen/inline-edit.php:113
997
  msgctxt "admin-text"
998
  msgid "Assigned Users"
999
  msgstr ""
1000
 
1001
+ #: config/settings.php:605
1002
  msgctxt "admin-text"
1003
  msgid "Select which assignments the review limits should be restricted to."
1004
  msgstr ""
1005
 
1006
+ #: config/settings.php:606
1007
  msgctxt "admin-text"
1008
  msgid "The review limits use strict assignment, i.e. <code>restrict limits to reviews assigned to this AND this</code>."
1009
  msgstr ""
1010
 
1011
+ #: config/settings.php:615
1012
  msgctxt "admin-text"
1013
  msgid "Email Whitelist"
1014
  msgstr ""
1015
 
1016
+ #: config/settings.php:617
1017
  msgctxt "admin-text"
1018
  msgid "One Email per line. All emails in the whitelist will be excluded from the review submission limit."
1019
  msgstr ""
1020
 
1021
+ #: config/settings.php:625
1022
  msgctxt "admin-text"
1023
  msgid "IP Address Whitelist"
1024
  msgstr ""
1025
 
1026
+ #: config/settings.php:627
1027
  msgctxt "admin-text"
1028
  msgid "One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit.."
1029
  msgstr ""
1030
 
1031
+ #: config/settings.php:635
1032
  msgctxt "admin-text"
1033
  msgid "Username Whitelist"
1034
  msgstr ""
1035
 
1036
+ #: config/settings.php:637
1037
  msgctxt "admin-text"
1038
  msgid "One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit."
1039
  msgstr ""
1040
 
1041
+ #: config/settings.php:643
1042
  msgctxt "admin-text"
1043
  msgid "Invisible reCAPTCHA"
1044
  msgstr ""
1045
 
1046
+ #: config/settings.php:645
1047
  msgctxt "admin-text"
1048
  msgid "Do not use reCAPTCHA"
1049
  msgstr ""
1050
 
1051
+ #: config/settings.php:646
1052
  msgctxt "admin-text"
1053
  msgid "Use reCAPTCHA"
1054
  msgstr ""
1055
 
1056
+ #: config/settings.php:647
1057
  msgctxt "admin-text"
1058
  msgid "Use reCAPTCHA only for guest users"
1059
  msgstr ""
1060
 
1061
+ #: config/settings.php:649
1062
  msgctxt "admin-text"
1063
  msgid "The Invisible reCAPTCHA badge (reCAPTCHA v2) is a free anti-spam service from Google. To use it, you will need to <a href=\"https://www.google.com/recaptcha/admin\" target=\"_blank\">sign up</a> for an API key pair for your site."
1064
  msgstr ""
1065
 
1066
+ #: config/settings.php:657
1067
  msgctxt "admin-text"
1068
  msgid "Site Key"
1069
  msgstr ""
1070
 
1071
+ #: config/settings.php:658
1072
  msgctxt "admin-text"
1073
  msgid "Enter the Invisible reCAPTCHA Site Key here"
1074
  msgstr ""
1075
 
1076
+ #: config/settings.php:666
1077
  msgctxt "admin-text"
1078
  msgid "Site Secret"
1079
  msgstr ""
1080
 
1081
+ #: config/settings.php:667
1082
  msgctxt "admin-text"
1083
  msgid "Enter the Invisible reCAPTCHA Site Secret here"
1084
  msgstr ""
1085
 
1086
+ #: config/settings.php:676
1087
  msgctxt "admin-text"
1088
  msgid "Badge Position"
1089
  msgstr ""
1090
 
1091
+ #: config/settings.php:678
1092
  msgctxt "admin-text"
1093
  msgid "Bottom Left"
1094
  msgstr ""
1095
 
1096
+ #: config/settings.php:679
1097
  msgctxt "admin-text"
1098
  msgid "Bottom Right"
1099
  msgstr ""
1100
 
1101
+ #: config/settings.php:680
1102
  msgctxt "admin-text"
1103
  msgid "Inline"
1104
  msgstr ""
1105
 
1106
+ #: config/settings.php:682
1107
  msgctxt "admin-text"
1108
  msgid "This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews."
1109
  msgstr ""
1110
 
1111
+ #: config/settings.php:687
1112
  msgctxt "admin-text"
1113
  msgid "Enable Akismet"
1114
  msgstr ""
1115
 
1116
+ #: config/settings.php:688
1117
  msgctxt "admin-text"
1118
  msgid "The <a href=\"https://akismet.com\" target=\"_blank\">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key."
1119
  msgstr ""
1120
 
1121
+ #: config/settings.php:694
1122
  msgctxt "admin-text"
1123
  msgid "Blacklist"
1124
  msgstr ""
1125
 
1126
+ #: config/settings.php:696
1127
  msgctxt "admin-text"
1128
  msgid "Use the Site Reviews Blacklist"
1129
  msgstr ""
1130
 
1131
+ #: config/settings.php:697
1132
  msgctxt "admin-text"
1133
  msgid "Use the WordPress Disallowed Comment Keys"
1134
  msgstr ""
1135
 
1136
+ #: config/settings.php:699
1137
  msgctxt "admin-text"
1138
  msgid "Choose which Blacklist you would prefer to use for reviews. The %s option can be found in the WordPress Discussion Settings page."
1139
  msgstr ""
1140
 
1141
+ #: config/settings.php:700
1142
  msgctxt "admin-text"
1143
  msgid "Disallowed Comment Keys"
1144
  msgstr ""
1145
 
1146
+ #: config/settings.php:709
1147
  msgctxt "admin-text"
1148
  msgid "Review Blacklist"
1149
  msgstr ""
1150
 
1151
+ #: config/settings.php:711
1152
  msgctxt "admin-text"
1153
  msgid "One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so \"press\" will match \"WordPress\"."
1154
  msgstr ""
1155
 
1156
+ #: config/settings.php:717
1157
  msgctxt "admin-text"
1158
  msgid "Blacklist Action"
1159
  msgstr ""
1160
 
1161
+ #: config/settings.php:719
1162
  msgctxt "admin-text"
1163
  msgid "Require approval"
1164
  msgstr ""
1165
 
1166
+ #: config/settings.php:720
1167
  msgctxt "admin-text"
1168
  msgid "Reject submission"
1169
  msgstr ""
1170
 
1171
+ #: config/settings.php:722
1172
  msgctxt "admin-text"
1173
  msgid "Choose the action that should be taken when a review is blacklisted."
1174
  msgstr ""
1302
  msgid "Untitled"
1303
  msgstr ""
1304
 
1305
+ #: plugin/Addons/Controller.php:70, plugin/Controllers/AdminController.php:45, plugin/Controllers/MenuController.php:51, plugin/Integrations/Elementor/ElementorWidget.php:132, views/pages/tools/sync.php:23
1306
  msgctxt "admin-text"
1307
  msgid "Settings"
1308
  msgstr ""
1309
 
1310
+ #: plugin/Addons/Controller.php:77, plugin/Controllers/AdminController.php:51, plugin/Controllers/MenuController.php:54
1311
  msgctxt "admin-text"
1312
  msgid "Help"
1313
  msgstr ""
1437
  msgstr[0] ""
1438
  msgstr[1] ""
1439
 
1440
+ #: plugin/Controllers/AdminController.php:102
1441
  msgctxt "admin-text"
1442
  msgid "%s Review"
1443
  msgid_plural "%s Reviews"
1444
  msgstr[0] ""
1445
  msgstr[1] ""
1446
 
1447
+ #: plugin/Controllers/AdminController.php:183, plugin/Widgets/SiteReviewsWidget.php:113
1448
  msgctxt "admin-text"
1449
  msgid "Recent Reviews"
1450
  msgstr ""
1451
 
1452
+ #: plugin/Controllers/AdminController.php:184, plugin/Widgets/SiteReviewsFormWidget.php:78, plugin/Integrations/Elementor/ElementorFormWidget.php:19
1453
  msgctxt "admin-text"
1454
  msgid "Submit a Review"
1455
  msgstr ""
1456
 
1457
+ #: plugin/Controllers/AdminController.php:185, plugin/Widgets/SiteReviewsSummaryWidget.php:81
1458
  msgctxt "admin-text"
1459
  msgid "Summary of Reviews"
1460
  msgstr ""
1461
 
1462
+ #: plugin/Controllers/AdminController.php:236, plugin/Controllers/AdminController.php:255, plugin/Controllers/AdminController.php:269
1463
  msgctxt "admin-text"
1464
  msgid "Nothing found."
1465
  msgstr ""
2489
  msgid "Terrible"
2490
  msgstr ""
2491
 
2492
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:129
2493
  msgctxt "admin-text"
2494
  msgid "Hide the rating field"
2495
  msgstr ""
2496
 
2497
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:130
2498
  msgctxt "admin-text"
2499
  msgid "Hide the title field"
2500
  msgstr ""
2501
 
2502
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:131
2503
  msgctxt "admin-text"
2504
  msgid "Hide the review field"
2505
  msgstr ""
2506
 
2507
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:132
2508
  msgctxt "admin-text"
2509
  msgid "Hide the name field"
2510
  msgstr ""
2511
 
2512
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:133
2513
  msgctxt "admin-text"
2514
  msgid "Hide the email field"
2515
  msgstr ""
2516
 
2517
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:134
2518
  msgctxt "admin-text"
2519
  msgid "Hide the terms field"
2520
  msgstr ""
2521
 
2522
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:160
2523
  msgid "logged in"
2524
  msgstr ""
2525
 
2526
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:162
2527
  msgid "You must be %s to submit a review."
2528
  msgstr ""
2529
 
2530
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:176
2531
  msgid "register"
2532
  msgstr ""
2533
 
2534
+ #: plugin/Shortcodes/SiteReviewsFormShortcode.php:178
2535
  msgid "You may also %s for an account."
2536
  msgstr ""
2537
 
3852
 
3853
  #: views/pages/tools/general/import-reviews.php:25
3854
  msgctxt "admin-text"
3855
+ msgid "The User ID of the reviewer"
3856
  msgstr ""
3857
 
3858
  #: views/pages/tools/general/import-reviews.php:26
3859
  msgctxt "admin-text"
3860
+ msgid "The avatar URL of the reviewer"
3861
+ msgstr ""
3862
+
3863
+ #: views/pages/tools/general/import-reviews.php:27
3864
+ msgctxt "admin-text"
3865
  msgid "The review"
3866
  msgstr ""
3867
 
3868
+ #: views/pages/tools/general/import-reviews.php:27, views/pages/tools/general/import-reviews.php:28, views/pages/tools/general/import-reviews.php:34
3869
  msgctxt "admin-text"
3870
  msgid "required"
3871
  msgstr ""
3872
 
3873
+ #: views/pages/tools/general/import-reviews.php:28
3874
  msgctxt "admin-text"
3875
  msgid "The review date"
3876
  msgstr ""
3877
 
3878
+ #: views/pages/tools/general/import-reviews.php:29
3879
  msgctxt "admin-text"
3880
  msgid "The reviewer's email"
3881
  msgstr ""
3882
 
3883
+ #: views/pages/tools/general/import-reviews.php:30
3884
  msgctxt "admin-text"
3885
  msgid "The IP address of the reviewer"
3886
  msgstr ""
3887
 
3888
+ #: views/pages/tools/general/import-reviews.php:31, views/pages/tools/general/import-reviews.php:32, views/pages/tools/general/import-reviews.php:36
3889
  msgctxt "admin-text"
3890
  msgid "TRUE or FALSE"
3891
  msgstr ""
3892
 
3893
+ #: views/pages/tools/general/import-reviews.php:33
3894
  msgctxt "admin-text"
3895
  msgid "The reviewer's name"
3896
  msgstr ""
3897
 
3898
+ #: views/pages/tools/general/import-reviews.php:34
3899
  msgctxt "admin-text"
3900
  msgid "A number from 0-%d"
3901
  msgstr ""
3902
 
3903
+ #: views/pages/tools/general/import-reviews.php:35
3904
  msgctxt "admin-text"
3905
  msgid "The review response"
3906
  msgstr ""
3907
 
3908
+ #: views/pages/tools/general/import-reviews.php:37
3909
  msgctxt "admin-text"
3910
  msgid "The title of the review"
3911
  msgstr ""
3912
 
3913
+ #: views/pages/tools/general/import-reviews.php:39
3914
  msgctxt "admin-text"
3915
  msgid "Entries in the CSV file that do not contain required values will be skipped."
3916
  msgstr ""
3917
 
3918
+ #: views/pages/tools/general/import-reviews.php:47
3919
  msgctxt "admin-text"
3920
  msgid "Delimiter"
3921
  msgstr ""
3922
 
3923
+ #: views/pages/tools/general/import-reviews.php:49
3924
  msgctxt "admin-text"
3925
  msgid "Select the delimiter used in the CSV file"
3926
  msgstr ""
3927
 
3928
+ #: views/pages/tools/general/import-reviews.php:50
3929
  msgctxt "admin-text"
3930
  msgid "Comma (,)"
3931
  msgstr ""
3932
 
3933
+ #: views/pages/tools/general/import-reviews.php:51
3934
  msgctxt "admin-text"
3935
  msgid "Semicolon (;)"
3936
  msgstr ""
3937
 
3938
+ #: views/pages/tools/general/import-reviews.php:57
3939
  msgctxt "admin-text"
3940
  msgid "Select the date format used in the reviews"
3941
  msgstr ""
3942
 
3943
+ #: views/pages/tools/general/import-reviews.php:79
3944
  msgctxt "admin-text"
3945
  msgid "Importing reviews, please wait..."
3946
  msgstr ""
3947
 
3948
+ #: views/pages/tools/general/import-reviews.php:79
3949
  msgctxt "admin-text"
3950
  msgid "Import Reviews"
3951
  msgstr ""
4170
  msgid "The posts assigned to the review of any public post type."
4171
  msgstr ""
4172
 
4173
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:133
4174
  msgctxt "admin-text"
4175
  msgid "The terms assigned to the review in the %s taxonomy."
4176
  msgstr ""
4177
 
4178
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:141
4179
  msgctxt "admin-text"
4180
  msgid "The users assigned to the review."
4181
  msgstr ""
4182
 
4183
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:149
4184
  msgctxt "admin-text"
4185
  msgid "The ID for the author of the review."
4186
  msgstr ""
4187
 
4188
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:154
4189
  msgctxt "admin-text"
4190
  msgid "The avatar of the person who submitted the review."
4191
  msgstr ""
4192
 
4193
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:159
4194
  msgctxt "admin-text"
4195
  msgid "The content of the review."
4196
  msgstr ""
4197
 
4198
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:168
4199
  msgctxt "admin-text"
4200
  msgid "Custom fields."
4201
  msgstr ""
4202
 
4203
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:173
4204
  msgctxt "admin-text"
4205
  msgid "The date the review was published, in the site's timezone."
4206
  msgstr ""
4207
 
4208
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:179
4209
  msgctxt "admin-text"
4210
  msgid "The date the review was published, as GMT."
4211
  msgstr ""
4212
 
4213
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:185
4214
  msgctxt "admin-text"
4215
  msgid "The email of the person who submitted the review."
4216
  msgstr ""
4217
 
4218
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:190
4219
  msgctxt "admin-text"
4220
  msgid "Unique identifier for the review."
4221
  msgstr ""
4222
 
4223
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:196
4224
  msgctxt "admin-text"
4225
  msgid "The IP address of the person who submitted the review."
4226
  msgstr ""
4227
 
4228
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:202
4229
  msgctxt "admin-text"
4230
  msgid "If the review has an approved status."
4231
  msgstr ""
4232
 
4233
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:208
4234
  msgctxt "admin-text"
4235
  msgid "If the review has been modified."
4236
  msgstr ""
4237
 
4238
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:214
4239
  msgctxt "admin-text"
4240
  msgid "If the review has been pinned."
4241
  msgstr ""
4242
 
4243
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:219
4244
  msgctxt "admin-text"
4245
  msgid "The date the review was last modified, in the site's timezone."
4246
  msgstr ""
4247
 
4248
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:226
4249
  msgctxt "admin-text"
4250
  msgid "The date the review was last modified, as GMT."
4251
  msgstr ""
4252
 
4253
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:233
4254
  msgctxt "admin-text"
4255
  msgid "The name of the person who submitted the review."
4256
  msgstr ""
4257
 
4258
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:238
4259
  msgctxt "admin-text"
4260
  msgid "The rating of the review."
4261
  msgstr ""
4262
 
4263
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:243
4264
  msgctxt "admin-text"
4265
  msgid "The response given to the review."
4266
  msgstr ""
4267
 
4268
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:248
4269
  msgctxt "admin-text"
4270
  msgid "A named status for the review."
4271
  msgstr ""
4272
 
4273
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:254
4274
  msgctxt "admin-text"
4275
  msgid "If the terms were accepted when the review was submitted."
4276
  msgstr ""
4277
 
4278
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:259
4279
  msgctxt "admin-text"
4280
  msgid "The title of the review."
4281
  msgstr ""
4282
 
4283
+ #: plugin/Controllers/Api/Version1/Schema/ReviewSchema.php:264
4284
  msgctxt "admin-text"
4285
  msgid "Type of Review for the object."
4286
  msgstr ""
plugin/Commands/CreateReview.php CHANGED
@@ -20,6 +20,7 @@ class CreateReview implements Contract
20
  public $assigned_posts;
21
  public $assigned_terms;
22
  public $assigned_users;
 
23
  public $avatar;
24
  public $blacklisted;
25
  public $content;
@@ -55,8 +56,11 @@ class CreateReview implements Contract
55
  }
56
  glsr()->action('review/request', $request);
57
  $this->request = $request;
58
- $this->review = new Review($this->toArray(), false); // don't init the dummy review!
59
  $this->sanitize(); // this goes last
 
 
 
 
60
  }
61
 
62
  /**
@@ -146,14 +150,10 @@ class CreateReview implements Contract
146
  */
147
  protected function avatar()
148
  {
149
- if (!empty($this->avatar)) {
150
- return $this->avatar;
151
  }
152
- if (empty($this->email)) {
153
- // This is a dummy review as it hasn't been created yet.
154
- $this->review->set('author_id', get_current_user_id());
155
- }
156
- return glsr(Avatar::class)->generate($this->review);
157
  }
158
 
159
  /**
@@ -205,9 +205,6 @@ class CreateReview implements Contract
205
  if (!empty($this->date)) {
206
  $this->date_gmt = get_gmt_from_date($this->date); // set the GMT date
207
  }
208
- $this->custom = $this->custom();
209
- $this->type = $this->type();
210
- $this->avatar = $this->avatar(); // do this last
211
  }
212
 
213
  /**
20
  public $assigned_posts;
21
  public $assigned_terms;
22
  public $assigned_users;
23
+ public $author_id;
24
  public $avatar;
25
  public $blacklisted;
26
  public $content;
56
  }
57
  glsr()->action('review/request', $request);
58
  $this->request = $request;
 
59
  $this->sanitize(); // this goes last
60
+ $this->review = new Review($this->toArray(), false); // don't init the dummy review!
61
+ $this->custom = $this->custom();
62
+ $this->type = $this->type();
63
+ $this->avatar = $this->avatar(); // do this last
64
  }
65
 
66
  /**
150
  */
151
  protected function avatar()
152
  {
153
+ if (empty($this->avatar)) {
154
+ return glsr(Avatar::class)->generate($this->review);
155
  }
156
+ return $this->avatar;
 
 
 
 
157
  }
158
 
159
  /**
205
  if (!empty($this->date)) {
206
  $this->date_gmt = get_gmt_from_date($this->date); // set the GMT date
207
  }
 
 
 
208
  }
209
 
210
  /**
plugin/Commands/EnqueuePublicAssets.php CHANGED
@@ -97,6 +97,7 @@ class EnqueuePublicAssets implements Contract
97
  glsr(Style::class)->validation
98
  ),
99
  'validationstrings' => glsr(ValidationStringsDefaults::class)->defaults(),
 
100
  ];
101
  $variables = glsr()->filterArray('enqueue/public/localize', $variables);
102
  return $this->buildInlineScript($variables);
97
  glsr(Style::class)->validation
98
  ),
99
  'validationstrings' => glsr(ValidationStringsDefaults::class)->defaults(),
100
+ 'version' => glsr()->version,
101
  ];
102
  $variables = glsr()->filterArray('enqueue/public/localize', $variables);
103
  return $this->buildInlineScript($variables);
plugin/Commands/ExportRatings.php CHANGED
@@ -7,6 +7,7 @@ use GeminiLabs\SiteReviews\Contracts\CommandContract as Contract;
7
  use GeminiLabs\SiteReviews\Database;
8
  use GeminiLabs\SiteReviews\Database\Query;
9
  use GeminiLabs\SiteReviews\Helpers\Str;
 
10
 
11
  class ExportRatings implements Contract
12
  {
@@ -46,8 +47,8 @@ class ExportRatings implements Contract
46
  */
47
  protected function cleanup()
48
  {
49
- $tenMinutes = 10 * MINUTE_IN_SECONDS;
50
- wp_schedule_single_event(time() + $tenMinutes, glsr()->id.'/export/cleanup');
51
  }
52
 
53
  /**
@@ -70,7 +71,7 @@ class ExportRatings implements Contract
70
  'meta_key',
71
  'meta_value',
72
  ]);
73
- $page++;
74
  }
75
  }
76
 
7
  use GeminiLabs\SiteReviews\Database;
8
  use GeminiLabs\SiteReviews\Database\Query;
9
  use GeminiLabs\SiteReviews\Helpers\Str;
10
+ use GeminiLabs\SiteReviews\Modules\Queue;
11
 
12
  class ExportRatings implements Contract
13
  {
47
  */
48
  protected function cleanup()
49
  {
50
+ $timestamp = time() + (10 * MINUTE_IN_SECONDS);
51
+ glsr(Queue::class)->once($timestamp, 'queue/export/cleanup');
52
  }
53
 
54
  /**
71
  'meta_key',
72
  'meta_value',
73
  ]);
74
+ ++$page;
75
  }
76
  }
77
 
plugin/Controllers/AdminController.php CHANGED
@@ -24,15 +24,6 @@ use GeminiLabs\SiteReviews\Role;
24
 
25
  class AdminController extends Controller
26
  {
27
- /**
28
- * @return void
29
- * @action site-reviews/export/cleanup
30
- */
31
- public function cleanupAfterExport()
32
- {
33
- glsr(Database::class)->deleteMeta(glsr()->export_key);
34
- }
35
-
36
  /**
37
  * @return void
38
  * @action admin_enqueue_scripts
24
 
25
  class AdminController extends Controller
26
  {
 
 
 
 
 
 
 
 
 
27
  /**
28
  * @return void
29
  * @action admin_enqueue_scripts
plugin/Controllers/Api/Version1/Schema/ReviewSchema.php CHANGED
@@ -123,19 +123,25 @@ class ReviewSchema
123
  'assigned_posts' => [
124
  'context' => ['edit', 'view'],
125
  'description' => _x('The posts assigned to the review of any public post type.', 'admin-text', 'site-reviews'),
126
- 'items' => ['type' => 'integer'],
 
 
127
  'type' => 'array',
128
  ],
129
  'assigned_terms' => [
130
  'context' => ['edit', 'view'],
131
  'description' => sprintf(_x('The terms assigned to the review in the %s taxonomy.', 'admin-text', 'site-reviews'), glsr()->taxonomy),
132
- 'items' => ['type' => 'integer'],
 
 
133
  'type' => 'array',
134
  ],
135
  'assigned_users' => [
136
  'context' => ['edit', 'view'],
137
  'description' => _x('The users assigned to the review.', 'admin-text', 'site-reviews'),
138
- 'items' => ['type' => 'integer'],
 
 
139
  'type' => 'array',
140
  ],
141
  'author' => [
123
  'assigned_posts' => [
124
  'context' => ['edit', 'view'],
125
  'description' => _x('The posts assigned to the review of any public post type.', 'admin-text', 'site-reviews'),
126
+ 'items' => [
127
+ 'type' => ['integer', 'string'],
128
+ ],
129
  'type' => 'array',
130
  ],
131
  'assigned_terms' => [
132
  'context' => ['edit', 'view'],
133
  'description' => sprintf(_x('The terms assigned to the review in the %s taxonomy.', 'admin-text', 'site-reviews'), glsr()->taxonomy),
134
+ 'items' => [
135
+ 'type' => ['integer', 'string'],
136
+ ],
137
  'type' => 'array',
138
  ],
139
  'assigned_users' => [
140
  'context' => ['edit', 'view'],
141
  'description' => _x('The users assigned to the review.', 'admin-text', 'site-reviews'),
142
+ 'items' => [
143
+ 'type' => ['integer', 'string'],
144
+ ],
145
  'type' => 'array',
146
  ],
147
  'author' => [
plugin/Controllers/QueueController.php CHANGED
@@ -2,12 +2,22 @@
2
 
3
  namespace GeminiLabs\SiteReviews\Controllers;
4
 
 
5
  use GeminiLabs\SiteReviews\Database\CountManager;
6
  use GeminiLabs\SiteReviews\Modules\Migrate;
7
  use GeminiLabs\SiteReviews\Modules\Notification;
8
 
9
  class QueueController extends Controller
10
  {
 
 
 
 
 
 
 
 
 
11
  /**
12
  * @return void
13
  * @action site-reviews/queue/recalculate-meta
2
 
3
  namespace GeminiLabs\SiteReviews\Controllers;
4
 
5
+ use GeminiLabs\SiteReviews\Database;
6
  use GeminiLabs\SiteReviews\Database\CountManager;
7
  use GeminiLabs\SiteReviews\Modules\Migrate;
8
  use GeminiLabs\SiteReviews\Modules\Notification;
9
 
10
  class QueueController extends Controller
11
  {
12
+ /**
13
+ * @return void
14
+ * @action site-reviews/queue/export/cleanup
15
+ */
16
+ public function cleanupAfterExport()
17
+ {
18
+ glsr(Database::class)->deleteMeta(glsr()->export_key);
19
+ }
20
+
21
  /**
22
  * @return void
23
  * @action site-reviews/queue/recalculate-meta
plugin/Controllers/ReviewController.php CHANGED
@@ -60,13 +60,13 @@ class ReviewController extends Controller
60
 
61
  /**
62
  * @param array $data
63
- * @param array $postArr
64
  * @return array
65
  * @filter wp_insert_post_data
66
  */
67
- public function filterReviewPostData($data, $postArr)
68
  {
69
- if (empty($postArr['ID']) || glsr()->post_type !== glsr_get($postArr, 'post_type')) {
70
  return $data;
71
  }
72
  if (empty(filter_input(INPUT_POST, 'post_author'))) {
60
 
61
  /**
62
  * @param array $data
63
+ * @param array $postArray
64
  * @return array
65
  * @filter wp_insert_post_data
66
  */
67
+ public function filterReviewPostData($data, $postArray)
68
  {
69
+ if (empty($postArray['ID']) || empty($postArray['action']) || glsr()->post_type !== glsr_get($postArray, 'post_type')) {
70
  return $data;
71
  }
72
  if (empty(filter_input(INPUT_POST, 'post_author'))) {
plugin/Database/ReviewManager.php CHANGED
@@ -115,6 +115,7 @@ class ReviewManager
115
  'comment_status' => 'closed',
116
  'meta_input' => ['_submitted' => $command->request->toArray()], // save the original submitted request in metadata
117
  'ping_status' => 'closed',
 
118
  'post_content' => $values->content,
119
  'post_date' => $values->date,
120
  'post_date_gmt' => $values->date_gmt,
115
  'comment_status' => 'closed',
116
  'meta_input' => ['_submitted' => $command->request->toArray()], // save the original submitted request in metadata
117
  'ping_status' => 'closed',
118
+ 'post_author' => $values->author_id,
119
  'post_content' => $values->content,
120
  'post_date' => $values->date,
121
  'post_date_gmt' => $values->date_gmt,
plugin/Defaults/CreateReviewDefaults.php CHANGED
@@ -26,6 +26,7 @@ class CreateReviewDefaults extends Defaults
26
  'assigned_posts' => 'post-ids',
27
  'assigned_terms' => 'term-ids',
28
  'assigned_users' => 'user-ids',
 
29
  'avatar' => 'url',
30
  'content' => 'text-multiline',
31
  'custom' => 'array',
@@ -56,6 +57,7 @@ class CreateReviewDefaults extends Defaults
56
  'assigned_posts' => [],
57
  'assigned_terms' => [],
58
  'assigned_users' => [],
 
59
  'avatar' => '',
60
  'content' => '',
61
  'custom' => [],
26
  'assigned_posts' => 'post-ids',
27
  'assigned_terms' => 'term-ids',
28
  'assigned_users' => 'user-ids',
29
+ 'author_id' => 'user-id',
30
  'avatar' => 'url',
31
  'content' => 'text-multiline',
32
  'custom' => 'array',
57
  'assigned_posts' => [],
58
  'assigned_terms' => [],
59
  'assigned_users' => [],
60
+ 'author_id' => 0,
61
  'avatar' => '',
62
  'content' => '',
63
  'custom' => [],
plugin/Defaults/ReviewDefaults.php CHANGED
@@ -39,6 +39,7 @@ class ReviewDefaults extends Defaults
39
  'assigned_terms' => 'array-int',
40
  'assigned_users' => 'array-int',
41
  'author' => 'text',
 
42
  'avatar' => 'url',
43
  'content' => 'text-multiline',
44
  'date' => 'date',
39
  'assigned_terms' => 'array-int',
40
  'assigned_users' => 'array-int',
41
  'author' => 'text',
42
+ 'author_id' => 'int',
43
  'avatar' => 'url',
44
  'content' => 'text-multiline',
45
  'date' => 'date',
plugin/Hooks.php CHANGED
@@ -86,7 +86,6 @@ class Hooks implements HooksContract
86
  add_action('load-edit.php', [$this, 'translateAdminEditPage']);
87
  add_action('load-post.php', [$this, 'translateAdminPostPage']);
88
  add_action('plugins_loaded', [$this, 'translatePlugin']);
89
- add_action('site-reviews/export/cleanup', [$this->admin, 'cleanupAfterExport']);
90
  add_action('admin_enqueue_scripts', [$this->admin, 'enqueueAssets']);
91
  add_action('admin_head', [$this->admin, 'printInlineStyle']);
92
  add_action('admin_init', [$this->admin, 'registerTinymcePopups']);
@@ -141,6 +140,7 @@ class Hooks implements HooksContract
141
  add_action('site-reviews/route/public/submit-review', [$this->public, 'submitReview']);
142
  add_action('site-reviews/route/ajax/submit-review', [$this->public, 'submitReviewAjax']);
143
  add_action('admin_init', [$this->privacy, 'privacyPolicyContent']);
 
144
  add_action('site-reviews/queue/recalculate-meta', [$this->queue, 'recalculateAssignmentMeta']);
145
  add_action('site-reviews/queue/migration', [$this->queue, 'runMigration']);
146
  add_action('site-reviews/queue/notification', [$this->queue, 'sendNotification']);
86
  add_action('load-edit.php', [$this, 'translateAdminEditPage']);
87
  add_action('load-post.php', [$this, 'translateAdminPostPage']);
88
  add_action('plugins_loaded', [$this, 'translatePlugin']);
 
89
  add_action('admin_enqueue_scripts', [$this->admin, 'enqueueAssets']);
90
  add_action('admin_head', [$this->admin, 'printInlineStyle']);
91
  add_action('admin_init', [$this->admin, 'registerTinymcePopups']);
140
  add_action('site-reviews/route/public/submit-review', [$this->public, 'submitReview']);
141
  add_action('site-reviews/route/ajax/submit-review', [$this->public, 'submitReviewAjax']);
142
  add_action('admin_init', [$this->privacy, 'privacyPolicyContent']);
143
+ add_action('site-reviews/queue/export/cleanup', [$this->queue, 'cleanupAfterExport']);
144
  add_action('site-reviews/queue/recalculate-meta', [$this->queue, 'recalculateAssignmentMeta']);
145
  add_action('site-reviews/queue/migration', [$this->queue, 'runMigration']);
146
  add_action('site-reviews/queue/notification', [$this->queue, 'sendNotification']);
plugin/Migrations/Migrate_5_19_0.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GeminiLabs\SiteReviews\Migrations;
4
+
5
+ use GeminiLabs\SiteReviews\Database\OptionManager;
6
+
7
+ class Migrate_5_19_0
8
+ {
9
+ /**
10
+ * @return bool
11
+ */
12
+ public function run()
13
+ {
14
+ return $this->migrateSettings();
15
+ }
16
+
17
+ /**
18
+ * @return bool
19
+ */
20
+ protected function migrateSettings()
21
+ {
22
+ $optionKeys = [
23
+ 'settings.general.require.login_register' => 'settings.general.require.register',
24
+ ];
25
+ foreach ($optionKeys as $oldKey => $newKey) {
26
+ $oldValue = glsr(OptionManager::class)->get($oldKey);
27
+ $newValue = glsr(OptionManager::class)->get($newKey);
28
+ if ($oldValue && empty($newValue)) {
29
+ glsr(OptionManager::class)->set($newKey, $oldValue);
30
+ }
31
+ glsr(OptionManager::class)->delete($oldKey);
32
+ }
33
+ return true;
34
+ }
35
+ }
plugin/Modules/Sanitizer.php CHANGED
@@ -193,33 +193,22 @@ class Sanitizer
193
 
194
  /**
195
  * @param mixed $value
196
- * @return int[]
197
  */
198
- public function sanitizeTermIds($value)
199
  {
200
- $termIds = Cast::toArray($value);
201
- $termIds = array_map('\GeminiLabs\SiteReviews\Helper::getTermTaxonomyId', $termIds);
202
- return Arr::uniqueInt($termIds);
203
  }
204
 
205
  /**
206
  * @param mixed $value
207
  * @return int[]
208
  */
209
- public function sanitizeUserIds($value)
210
- {
211
- $userIds = Cast::toArray($value);
212
- $userIds = array_map('\GeminiLabs\SiteReviews\Helper::getUserId', $userIds);
213
- return Arr::uniqueInt($userIds);
214
- }
215
-
216
- /**
217
- * @param mixed $value
218
- * @return string
219
- */
220
- public function sanitizeSlug($value)
221
  {
222
- return sanitize_title($this->sanitizeText($value));
 
 
223
  }
224
 
225
  /**
@@ -297,6 +286,33 @@ class Sanitizer
297
  return $value;
298
  }
299
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  /**
301
  * @param mixed $value
302
  * @return string
193
 
194
  /**
195
  * @param mixed $value
196
+ * @return string
197
  */
198
+ public function sanitizeSlug($value)
199
  {
200
+ return sanitize_title($this->sanitizeText($value));
 
 
201
  }
202
 
203
  /**
204
  * @param mixed $value
205
  * @return int[]
206
  */
207
+ public function sanitizeTermIds($value)
 
 
 
 
 
 
 
 
 
 
 
208
  {
209
+ $termIds = Cast::toArray($value);
210
+ $termIds = array_map('\GeminiLabs\SiteReviews\Helper::getTermTaxonomyId', $termIds);
211
+ return Arr::uniqueInt($termIds);
212
  }
213
 
214
  /**
286
  return $value;
287
  }
288
 
289
+ /**
290
+ * @param mixed $value
291
+ * @return int
292
+ */
293
+ public function sanitizeUserId($value)
294
+ {
295
+ $user = get_user_by('ID', Cast::toInt($value));
296
+ if (false !== $user) {
297
+ return (int) $user->ID;
298
+ }
299
+ if (glsr()->retrieveAs('bool', 'import', false)) {
300
+ return 0;
301
+ }
302
+ return get_current_user_id();
303
+ }
304
+
305
+ /**
306
+ * @param mixed $value
307
+ * @return int[]
308
+ */
309
+ public function sanitizeUserIds($value)
310
+ {
311
+ $userIds = Cast::toArray($value);
312
+ $userIds = array_map('\GeminiLabs\SiteReviews\Helper::getUserId', $userIds);
313
+ return Arr::uniqueInt($userIds);
314
+ }
315
+
316
  /**
317
  * @param mixed $value
318
  * @return string
plugin/Shortcodes/SiteReviewsFormShortcode.php CHANGED
@@ -44,6 +44,40 @@ class SiteReviewsFormShortcode extends Shortcode
44
  ]);
45
  }
46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  /**
48
  * @return false|string
49
  */
@@ -118,8 +152,11 @@ class SiteReviewsFormShortcode extends Shortcode
118
  */
119
  protected function loginText()
120
  {
 
 
 
121
  $loginLink = glsr(Builder::class)->a([
122
- 'href' => wp_login_url(strval(get_permalink())),
123
  'text' => __('logged in', 'site-reviews'),
124
  ]);
125
  return sprintf(__('You must be %s to submit a review.', 'site-reviews'), $loginLink);
@@ -131,8 +168,11 @@ class SiteReviewsFormShortcode extends Shortcode
131
  protected function registerText()
132
  {
133
  if (get_option('users_can_register') && glsr_get_option('general.require.login', false, 'bool')) {
 
 
 
134
  $registerLink = glsr(Builder::class)->a([
135
- 'href' => wp_registration_url(),
136
  'text' => __('register', 'site-reviews'),
137
  ]);
138
  return sprintf(__('You may also %s for an account.', 'site-reviews'), $registerLink);
44
  ]);
45
  }
46
 
47
+ /**
48
+ * @param string $url
49
+ * @param string $redirect
50
+ * @param bool $forceReauth
51
+ * @return string
52
+ * @filter login_url
53
+ */
54
+ public function filterLoginUrl($url, $redirect, $forceReauth)
55
+ {
56
+ if ($loginUrl = glsr_get_option('general.require.login_url')) {
57
+ if (!empty($redirect)) {
58
+ $loginUrl = add_query_arg('redirect_to', urlencode($redirect), $loginUrl);
59
+ }
60
+ if ($forceReauth) {
61
+ $loginUrl = add_query_arg('reauth', '1', $loginUrl);
62
+ }
63
+ return $loginUrl;
64
+ }
65
+ return $url;
66
+ }
67
+
68
+ /**
69
+ * @param string $url
70
+ * @return string
71
+ * @filter register_url
72
+ */
73
+ public function filterRegisterUrl($url)
74
+ {
75
+ if ($registerUrl = glsr_get_option('general.require.register_url')) {
76
+ return $registerUrl;
77
+ }
78
+ return $url;
79
+ }
80
+
81
  /**
82
  * @return false|string
83
  */
152
  */
153
  protected function loginText()
154
  {
155
+ add_filter('login_url', [$this, 'filterLoginUrl'], 20, 3);
156
+ $loginUrl = wp_login_url(strval(get_permalink()));
157
+ remove_filter('login_url', [$this, 'filterLoginUrl'], 20);
158
  $loginLink = glsr(Builder::class)->a([
159
+ 'href' => $loginUrl,
160
  'text' => __('logged in', 'site-reviews'),
161
  ]);
162
  return sprintf(__('You must be %s to submit a review.', 'site-reviews'), $loginLink);
168
  protected function registerText()
169
  {
170
  if (get_option('users_can_register') && glsr_get_option('general.require.login', false, 'bool')) {
171
+ add_filter('register_url', [$this, 'filterRegisterUrl'], 20, 3);
172
+ $registerUrl = wp_registration_url();
173
+ remove_filter('register_url', [$this, 'filterRegisterUrl'], 20);
174
  $registerLink = glsr(Builder::class)->a([
175
+ 'href' => $registerUrl,
176
  'text' => __('register', 'site-reviews'),
177
  ]);
178
  return sprintf(__('You may also %s for an account.', 'site-reviews'), $registerLink);
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: reviews, ratings, testimonials, woocommerce, product reviews, business rev
5
  Tested up to: 5.8
6
  Requires at least: 5.5
7
  Requires PHP: 5.6
8
- Stable tag: 5.18.1
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -140,6 +140,16 @@ All documentation can be found in the "Help" page of the plugin. If your questio
140
 
141
  ## Changelog
142
 
 
 
 
 
 
 
 
 
 
 
143
  = 5.18.1 (2021-12-19) =
144
 
145
  - Added "author_id" as an accepted value in the "assigned_users" shortcode option
5
  Tested up to: 5.8
6
  Requires at least: 5.5
7
  Requires PHP: 5.6
8
+ Stable tag: 5.19.0
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
 
140
 
141
  ## Changelog
142
 
143
+ = 5.19.0 (2021-12-30) =
144
+
145
+ - Added `author_id` column to "Import Third Party Reviews" tool
146
+ - Added settings to customise the login and register URLs
147
+ - Fixed API usage when creating reviews using string values for the assigned_posts (i.e. post_type:slug), assigned_terms (i.e. slug), and assigned_users (i.e. username) parameters
148
+ - Fixed approve/unapprove actions on the All Reviews page which was removing the post_author ID of reviews
149
+ - Fixed importing reviews with unknown authors
150
+ - Fixed the "hide" option when using AJAX pagination
151
+ - Fixed the loading indicator (spinner) on the submit button of the review form
152
+
153
  = 5.18.1 (2021-12-19) =
154
 
155
  - Added "author_id" as an accepted value in the "assigned_users" shortcode option
site-reviews.php CHANGED
@@ -7,7 +7,7 @@
7
  * Plugin Name: Site Reviews
8
  * Plugin URI: https://wordpress.org/plugins/site-reviews
9
  * Description: Receive and display reviews on your website
10
- * Version: 5.18.1
11
  * Author: Paul Ryley
12
  * Author URI: https://geminilabs.io
13
  * License: GPL2
7
  * Plugin Name: Site Reviews
8
  * Plugin URI: https://wordpress.org/plugins/site-reviews
9
  * Description: Receive and display reviews on your website
10
+ * Version: 5.19.0
11
  * Author: Paul Ryley
12
  * Author URI: https://geminilabs.io
13
  * License: GPL2
templates/form/submit-button.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php defined('ABSPATH') || die; ?>
2
 
3
  <div data-field="submit-button">
4
- <button type="submit" class="glsr-button button btn btn-primary">
5
  <span class="glsr-button-loading"></span>
6
- <span class="glsr-button-text" data-text="{{ text }}">{{ text }}</span>
7
  </button>
8
  </div>
1
  <?php defined('ABSPATH') || die; ?>
2
 
3
  <div data-field="submit-button">
4
+ <button type="submit" class="glsr-button button btn btn-primary" data-loading="{{ text }}" aria-busy="false">
5
  <span class="glsr-button-loading"></span>
6
+ <span class="glsr-button-text">{{ text }}</span>
7
  </button>
8
  </div>
views/pages/tools/general/import-reviews.php CHANGED
@@ -22,6 +22,7 @@
22
  <code>assigned_posts</code> <?= _x('The Posts that the review is assigned to (separate multiple IDs with a comma)', 'admin-text', 'site-reviews'); ?><br>
23
  <code>assigned_terms</code> <?= _x('The Categories that the review is assigned to (separate multiple IDs with a comma)', 'admin-text', 'site-reviews'); ?><br>
24
  <code>assigned_users</code> <?= _x('The Users that the review is assigned to (separate multiple IDs with a comma)', 'admin-text', 'site-reviews'); ?><br>
 
25
  <code>avatar</code> <?= _x('The avatar URL of the reviewer', 'admin-text', 'site-reviews'); ?><br>
26
  <code>content</code> <?= sprintf('%s (<span class="required">%s</span>)', _x('The review', 'admin-text', 'site-reviews'), _x('required', 'admin-text', 'site-reviews')); ?><br>
27
  <code>date</code> <?= sprintf('%s (<span class="required">%s</span>)', _x('The review date', 'admin-text', 'site-reviews'), _x('required', 'admin-text', 'site-reviews')); ?><br>
22
  <code>assigned_posts</code> <?= _x('The Posts that the review is assigned to (separate multiple IDs with a comma)', 'admin-text', 'site-reviews'); ?><br>
23
  <code>assigned_terms</code> <?= _x('The Categories that the review is assigned to (separate multiple IDs with a comma)', 'admin-text', 'site-reviews'); ?><br>
24
  <code>assigned_users</code> <?= _x('The Users that the review is assigned to (separate multiple IDs with a comma)', 'admin-text', 'site-reviews'); ?><br>
25
+ <code>author_id</code> <?= _x('The User ID of the reviewer', 'admin-text', 'site-reviews'); ?><br>
26
  <code>avatar</code> <?= _x('The avatar URL of the reviewer', 'admin-text', 'site-reviews'); ?><br>
27
  <code>content</code> <?= sprintf('%s (<span class="required">%s</span>)', _x('The review', 'admin-text', 'site-reviews'), _x('required', 'admin-text', 'site-reviews')); ?><br>
28
  <code>date</code> <?= sprintf('%s (<span class="required">%s</span>)', _x('The review date', 'admin-text', 'site-reviews'), _x('required', 'admin-text', 'site-reviews')); ?><br>
views/pages/welcome/whatsnew.php CHANGED
@@ -4,6 +4,7 @@
4
  <div class="is-fullwidth">
5
  <div class="glsr-flex-row">
6
  <div class="glsr-column">
 
7
  <?php include trailingslashit(__DIR__).'whatsnew/v518.php'; ?>
8
  <?php include trailingslashit(__DIR__).'whatsnew/v517.php'; ?>
9
  <?php include trailingslashit(__DIR__).'whatsnew/v516.php'; ?>
4
  <div class="is-fullwidth">
5
  <div class="glsr-flex-row">
6
  <div class="glsr-column">
7
+ <?php include trailingslashit(__DIR__).'whatsnew/v519.php'; ?>
8
  <?php include trailingslashit(__DIR__).'whatsnew/v518.php'; ?>
9
  <?php include trailingslashit(__DIR__).'whatsnew/v517.php'; ?>
10
  <?php include trailingslashit(__DIR__).'whatsnew/v516.php'; ?>
views/pages/welcome/whatsnew/v518.php CHANGED
@@ -1,6 +1,6 @@
1
- <div class="glsr-card postbox is-fullwidth open">
2
  <h3 class="glsr-card-heading">
3
- <button type="button" class="glsr-accordion-trigger" aria-expanded="true" aria-controls="welcome-v5_18_0">
4
  <span class="title">Version 5.18</span>
5
  <span class="icon"></span>
6
  </button>
1
+ <div class="glsr-card postbox is-fullwidth">
2
  <h3 class="glsr-card-heading">
3
+ <button type="button" class="glsr-accordion-trigger" aria-expanded="false" aria-controls="welcome-v5_18_0">
4
  <span class="title">Version 5.18</span>
5
  <span class="icon"></span>
6
  </button>
views/pages/welcome/whatsnew/v519.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="glsr-card postbox is-fullwidth open">
2
+ <h3 class="glsr-card-heading">
3
+ <button type="button" class="glsr-accordion-trigger" aria-expanded="true" aria-controls="welcome-v5_19_0">
4
+ <span class="title">Version 5.19</span>
5
+ <span class="icon"></span>
6
+ </button>
7
+ </h3>
8
+ <div id="welcome-v5_19_0" class="inside">
9
+ <p><em>Initial Release Date &mdash; December 30th, 2021</em></p>
10
+ <h4>✨ New Features</h4>
11
+ <ul>
12
+ <li>Added <code>author_id</code> as an accepted value in the <code>assigned_users</code> shortcode option</li>
13
+ <li>Added <code>author_id</code> column to the <a data-expand="#tools-import-reviews" href="<?= glsr_admin_url('tools', 'general'); ?>">Import Third Party Reviews</a> tool</li>
14
+ <li>Added settings to customise the login and register URLs</li>
15
+ </ul>
16
+ <h4>🐞 Bugs Fixed</h4>
17
+ <ul>
18
+ <li>Fixed API usage when creating reviews using string values for the assigned_posts (i.e. post_type:slug), assigned_terms (i.e. slug), and assigned_users (i.e. username) parameters</li>
19
+ <li>Fixed approve/unapprove actions on the All Reviews page which was removing the post_author ID of reviews</li>
20
+ <li>Fixed importing reviews with unknown author</li>
21
+ <li>Fixed the <a data-expand="#faq-redirect-after-submission" href="<?= glsr_admin_url('documentation', 'faq'); ?>">FAQ documentation</a> for redirects</li>
22
+ <li>Fixed the "hide" option when using AJAX pagination</li>
23
+ <li>Fixed the loading indicator (spinner) on the submit button of the review form</li>
24
+ </ul>
25
+ </div>
26
+ </div>