MailChimp for WordPress - Version 4.1.4

Version Description

Download this release

Release Info

Developer DvanKooten
Plugin Icon 128x128 MailChimp for WordPress
Version 4.1.4
Comparing to
See all releases

Code changes from version 4.1.3 to 4.1.4

CHANGELOG.md CHANGED
@@ -1,6 +1,15 @@
1
  Changelog
2
  =========
3
 
 
 
 
 
 
 
 
 
 
4
  #### 4.1.3 - May 24, 2017
5
 
6
  **Improvements**
@@ -116,7 +125,7 @@ Changelog
116
 
117
  **Additions**
118
 
119
- - Add `data-hide-if` attribute logic to forms. See [conditionally hide form fields](https://mc4wp.com/kb/conditional-fields-elements/). Thanks to [Kurt Zenisek](http://kurtzenisek.com/).
120
  - Add hooks for delayed BuddyPress sign-up. Thanks to [Christian Wach](https://profiles.wordpress.org/needle).
121
 
122
 
@@ -554,7 +563,7 @@ Added `mc4wp_use_sslverify` filter to disable or explicitly enable SSL certifica
554
 
555
  **Improvements**
556
 
557
- - Add form-specific classes to preview form element. This allows the [Styles Builder](https://mc4wp.com/features/) to work with the Form Preview.
558
  - Form events are now triggered _after_ the page has finished loading, so all scripts are loaded & ready to use.
559
  - Reset background-color in Form Themes stylesheets.
560
 
1
  Changelog
2
  =========
3
 
4
+ #### 4.1.4 - June 15, 2017
5
+
6
+ **Fixes**
7
+
8
+ - Some form specific JS events were not firing due to incorrect event names.
9
+ - Registration form integration now works with WooCommerce registration form.
10
+ - Notice that asks for a plugin review would re-appear after dismissing it.
11
+
12
+
13
  #### 4.1.3 - May 24, 2017
14
 
15
  **Improvements**
125
 
126
  **Additions**
127
 
128
+ - Add `data-hide-if` attribute logic to forms. See [conditionally hide form fields](https://kb.mc4wp.com/conditional-fields-elements/). Thanks to [Kurt Zenisek](http://kurtzenisek.com/).
129
  - Add hooks for delayed BuddyPress sign-up. Thanks to [Christian Wach](https://profiles.wordpress.org/needle).
130
 
131
 
563
 
564
  **Improvements**
565
 
566
+ - Add form-specific classes to preview form element. This allows the [Styles Builder](https://mc4wp.com/premium-features/) to work with the Form Preview.
567
  - Form events are now triggered _after_ the page has finished loading, so all scripts are loaded & ready to use.
568
  - Reset background-color in Form Themes stylesheets.
569
 
assets/js/forms-api.js CHANGED
@@ -50,7 +50,7 @@ function handleFormRequest(form, action, errors, data) {
50
  } else {
51
  // form was successfully submitted
52
  forms.trigger('success', [form, data]);
53
- forms.trigger(form.id + ',success', [form, data]);
54
 
55
  // subscribed / unsubscribed
56
  forms.trigger(action + "d", [form, data]);
50
  } else {
51
  // form was successfully submitted
52
  forms.trigger('success', [form, data]);
53
+ forms.trigger(form.id + '.success', [form, data]);
54
 
55
  // subscribed / unsubscribed
56
  forms.trigger(action + "d", [form, data]);
assets/js/forms-api.min.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(){var e=void 0,t=void 0;!function t(n,r,i){function o(a,c){if(!r[a]){if(!n[a]){var u="function"==typeof e&&e;if(!c&&u)return u(a,!0);if(s)return s(a,!0);var f=new Error("Cannot find module '"+a+"'");throw f.code="MODULE_NOT_FOUND",f}var l=r[a]={exports:{}};n[a][0].call(l.exports,function(e){var t=n[a][1][e];return o(t||e)},l,l.exports,t,n,r,i)}return r[a].exports}for(var s="function"==typeof e&&e,a=0;a<i.length;a++)o(i[a]);return o}({1:[function(e,t,n){"use strict";function r(e){var t="animated"===u.auto_scroll,n={behavior:t?"smooth":"instant"};e.element.scrollIntoView(n)}function i(e,t,n){return function(){var r=this.value.trim(),i="radio"!==this.getAttribute("type")&&"checked"!==this.getAttribute("type")||this.checked,o=i&&(r===t&&""!==t||""===t&&r.length>0);e.style.display=n?o?"":"none":o?"none":""}}function o(){var e=this,t=e.form.querySelectorAll("[data-show-if], [data-hide-if]"),n=(e.getAttribute("name")||"").toLowerCase();[].forEach.call(t,function(t){var r=!!t.getAttribute("data-show-if"),o=r?t.getAttribute("data-show-if").split(":"):t.getAttribute("data-hide-if").split(":"),s=o[0],a=o[1]||"";if(n===s.toLowerCase()){i(t,a,r).call(e)}})}var s=window.mc4wp||{},a=e("gator"),c=e("./forms/forms.js"),u=window.mc4wp_forms_config||{};if(a(document.body).on("keyup",".mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select",o),a(document.body).on("change",".mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select",o),window.addEventListener("load",function(){[].forEach.call(document.querySelectorAll(".mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select"),function(e){o.call(e)})}),a(document.body).on("submit",".mc4wp-form",function(e){var t=c.getByElement(e.target||e.srcElement);c.trigger("submit",[t,e]),c.trigger(t.id+".submit",[t,e])}),a(document.body).on("focus",".mc4wp-form",function(e){var t=c.getByElement(e.target||e.srcElement);t.started||(c.trigger("started",[t,e]),c.trigger(t.id+".started",[t,e]),t.started=!0)}),a(document.body).on("change",".mc4wp-form",function(e){var t=c.getByElement(e.target||e.srcElement);c.trigger("change",[t,e]),c.trigger(t.id+".change",[t,e])}),s.listeners){for(var f=s.listeners,l=0;l<f.length;l++)c.on(f[l].event,f[l].callback);delete s.listeners}if(s.forms=c,u.submitted_form){var h=u.submitted_form,d=document.getElementById(h.element_id),m=c.getByElement(d);!function(e,t,n,i){var o=document.body.clientHeight,s=Date.now();n&&e.setData(i),u.auto_scroll&&r(e),window.addEventListener("load",function(){var a=Date.now()-s;u.auto_scroll&&a<800&&document.body.clientHeight!=o&&r(e),c.trigger("submitted",[e]),c.trigger(e.id+".submitted",[e]),n?(c.trigger("error",[e,n]),c.trigger(e.id+".error",[e,n])):(c.trigger("success",[e,i]),c.trigger(e.id+",success",[e,i]),c.trigger(t+"d",[e,i]),c.trigger(e.id+"."+t+"d",[e,i]))})}(m,h.action,h.errors,h.data)}window.mc4wp=s},{"./forms/forms.js":3,gator:5}],2:[function(e,t,n){"use strict";var r=e("form-serialize"),i=e("populate.js"),o=function(e,t){this.id=e,this.element=t||document.createElement("form"),this.name=this.element.getAttribute("data-name")||"Form #"+this.id,this.errors=[],this.started=!1};o.prototype.setData=function(e){try{i(this.element,e)}catch(e){console.error(e)}},o.prototype.getData=function(){return r(this.element,{hash:!0})},o.prototype.getSerializedData=function(){return r(this.element)},o.prototype.setResponse=function(e){this.element.querySelector(".mc4wp-response").innerHTML=e},o.prototype.reset=function(){this.setResponse(""),this.element.querySelector(".mc4wp-form-fields").style.display="",this.element.reset()},t.exports=o},{"form-serialize":4,"populate.js":6}],3:[function(e,t,n){"use strict";function r(e){for(var t=0;t<f.length;t++)if(f[t].id==e)return f[t];return o(document.querySelector(".mc4wp-form-"+e),e)}function i(e){for(var t=e.form||e,n=0;n<f.length;n++)if(f[n].element==t)return f[n];return o(t)}function o(e,t){t=t||parseInt(e.getAttribute("data-id"))||0;var n=new c(t,e);return f.push(n),n}function s(){return f}var a=e("wolfy87-eventemitter"),c=e("./form.js"),u=new a,f=[];t.exports={all:s,get:r,getByElement:i,on:u.on.bind(u),trigger:u.trigger.bind(u),off:u.off.bind(u)}},{"./form.js":2,"wolfy87-eventemitter":7}],4:[function(e,t,n){function r(e,t){"object"!=typeof t?t={hash:!!t}:void 0===t.hash&&(t.hash=!0);for(var n=t.hash?{}:"",r=t.serializer||(t.hash?s:a),i=e&&e.elements?e.elements:[],o=Object.create(null),f=0;f<i.length;++f){var l=i[f];if((t.disabled||!l.disabled)&&l.name&&(u.test(l.nodeName)&&!c.test(l.type))){var h=l.name,d=l.value;if("checkbox"!==l.type&&"radio"!==l.type||l.checked||(d=void 0),t.empty){if("checkbox"!==l.type||l.checked||(d=""),"radio"===l.type&&(o[l.name]||l.checked?l.checked&&(o[l.name]=!0):o[l.name]=!1),!d&&"radio"==l.type)continue}else if(!d)continue;if("select-multiple"!==l.type)n=r(n,h,d);else{d=[];for(var m=l.options,p=!1,v=0;v<m.length;++v){var g=m[v],y=t.empty&&!g.value,w=g.value||y;g.selected&&w&&(p=!0,n=t.hash&&"[]"!==h.slice(h.length-2)?r(n,h+"[]",g.value):r(n,h,g.value))}!p&&t.empty&&(n=r(n,h,""))}}}if(t.empty)for(var h in o)o[h]||(n=r(n,h,""));return n}function i(e){var t=[],n=/^([^\[\]]*)/,r=new RegExp(f),i=n.exec(e);for(i[1]&&t.push(i[1]);null!==(i=r.exec(e));)t.push(i[1]);return t}function o(e,t,n){if(0===t.length)return e=n;var r=t.shift(),i=r.match(/^\[(.+?)\]$/);if("[]"===r)return e=e||[],Array.isArray(e)?e.push(o(null,t,n)):(e._values=e._values||[],e._values.push(o(null,t,n))),e;if(i){var s=i[1],a=+s;isNaN(a)?(e=e||{},e[s]=o(e[s],t,n)):(e=e||[],e[a]=o(e[a],t,n))}else e[r]=o(e[r],t,n);return e}function s(e,t,n){if(t.match(f))o(e,i(t),n);else{var r=e[t];r?(Array.isArray(r)||(e[t]=[r]),e[t].push(n)):e[t]=n}return e}function a(e,t,n){return n=n.replace(/(\r)?\n/g,"\r\n"),n=encodeURIComponent(n),n=n.replace(/%20/g,"+"),e+(e?"&":"")+encodeURIComponent(t)+"="+n}var c=/^(?:submit|button|image|reset|file)$/i,u=/^(?:input|select|textarea|keygen)/i,f=/(\[[^\[\]]*\])/g;t.exports=r},{}],5:[function(e,t,n){!function(){function e(e,t,n){var r="blur"==t||"focus"==t;e.element.addEventListener(t,n,r)}function n(e){e.preventDefault(),e.stopPropagation()}function r(e){return f||(f=e.matches?e.matches:e.webkitMatchesSelector?e.webkitMatchesSelector:e.mozMatchesSelector?e.mozMatchesSelector:e.msMatchesSelector?e.msMatchesSelector:e.oMatchesSelector?e.oMatchesSelector:u.matchesSelector)}function i(e,t,n){if("_root"==t)return n;if(e!==n)return r(e).call(e,t)?e:e.parentNode?(l++,i(e.parentNode,t,n)):void 0}function o(e,t,n,r){d[e.id]||(d[e.id]={}),d[e.id][t]||(d[e.id][t]={}),d[e.id][t][n]||(d[e.id][t][n]=[]),d[e.id][t][n].push(r)}function s(e,t,n,r){if(d[e.id])if(t){if(!r&&!n)return void(d[e.id][t]={});if(!r)return void delete d[e.id][t][n];if(d[e.id][t][n])for(var i=0;i<d[e.id][t][n].length;i++)if(d[e.id][t][n][i]===r){d[e.id][t][n].splice(i,1);break}}else for(var o in d[e.id])d[e.id].hasOwnProperty(o)&&(d[e.id][o]={})}function a(e,t,n){if(d[e][n]){var r,o,s=t.target||t.srcElement,a={},c=0,f=0;l=0;for(r in d[e][n])d[e][n].hasOwnProperty(r)&&(o=i(s,r,m[e].element))&&u.matchesEvent(n,m[e].element,o,"_root"==r,t)&&(l++,d[e][n][r].match=o,a[l]=d[e][n][r]);for(t.stopPropagation=function(){t.cancelBubble=!0},c=0;c<=l;c++)if(a[c])for(f=0;f<a[c].length;f++){if(!1===a[c][f].call(a[c].match,t))return void u.cancel(t);if(t.cancelBubble)return}}}function c(e,t,n,r){if(this.element){e instanceof Array||(e=[e]),n||"function"!=typeof t||(n=t,t="_root");var i,c=this.id;for(i=0;i<e.length;i++)r?s(this,e[i],t,n):(d[c]&&d[c][e[i]]||u.addEvent(this,e[i],function(e){return function(t){a(c,t,e)}}(e[i])),o(this,e[i],t,n));return this}}function u(e,t){if(!(this instanceof u)){for(var n in m)if(m[n].element===e)return m[n];return h++,m[h]=new u(e,h),m[h]}this.element=e,this.id=t}var f,l=0,h=0,d={},m={};u.prototype.on=function(e,t,n){return c.call(this,e,t,n)},u.prototype.off=function(e,t,n){return c.call(this,e,t,n,!0)},u.matchesSelector=function(){},u.cancel=n,u.addEvent=e,u.matchesEvent=function(){return!0},void 0!==t&&t.exports&&(t.exports=u),window.Gator=u}()},{}],6:[function(e,n,r){!function(e){var r=function(e,t,n){for(var i in t)if(t.hasOwnProperty(i)){var o=i,s=t[i];if(void 0===s&&(s=""),null===s&&(s=""),void 0!==n&&(o=n+"["+i+"]"),s.constructor===Array)o+="[]";else if("object"==typeof s){r(e,s,o);continue}var a=e.elements.namedItem(o);if(a){var c=a.type||a[0].type;switch(c){default:a.value=s;break;case"radio":case"checkbox":for(var u=0;u<a.length;u++)a[u].checked=s.indexOf(a[u].value)>-1;break;case"select-multiple":for(var f=s.constructor==Array?s:[s],l=0;l<a.options.length;l++)a.options[l].selected|=f.indexOf(a.options[l].value)>-1;break;case"select":case"select-one":a.value=s.toString()||s;break;case"date":a.value=new Date(s).toISOString().split("T")[0]}}}};"function"==typeof t&&"object"==typeof t.amd&&t.amd?t(function(){return r}):void 0!==n&&n.exports?n.exports=r:e.populate=r}(this)},{}],7:[function(e,n,r){!function(e){"use strict";function r(){}function i(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function o(e){return function(){return this[e].apply(this,arguments)}}function s(e){return"function"==typeof e||e instanceof RegExp||!(!e||"object"!=typeof e)&&s(e.listener)}var a=r.prototype,c=e.EventEmitter;a.getListeners=function(e){var t,n,r=this._getEvents();if(e instanceof RegExp){t={};for(n in r)r.hasOwnProperty(n)&&e.test(n)&&(t[n]=r[n])}else t=r[e]||(r[e]=[]);return t},a.flattenListeners=function(e){var t,n=[];for(t=0;t<e.length;t+=1)n.push(e[t].listener);return n},a.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},a.addListener=function(e,t){if(!s(t))throw new TypeError("listener must be a function");var n,r=this.getListenersAsObject(e),o="object"==typeof t;for(n in r)r.hasOwnProperty(n)&&-1===i(r[n],t)&&r[n].push(o?t:{listener:t,once:!1});return this},a.on=o("addListener"),a.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},a.once=o("addOnceListener"),a.defineEvent=function(e){return this.getListeners(e),this},a.defineEvents=function(e){for(var t=0;t<e.length;t+=1)this.defineEvent(e[t]);return this},a.removeListener=function(e,t){var n,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&-1!==(n=i(o[r],t))&&o[r].splice(n,1);return this},a.off=o("removeListener"),a.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},a.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},a.manipulateListeners=function(e,t,n){var r,i,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(r=n.length;r--;)o.call(this,t,n[r]);else for(r in t)t.hasOwnProperty(r)&&(i=t[r])&&("function"==typeof i?o.call(this,r,i):s.call(this,r,i));return this},a.removeEvent=function(e){var t,n=typeof e,r=this._getEvents();if("string"===n)delete r[e];else if(e instanceof RegExp)for(t in r)r.hasOwnProperty(t)&&e.test(t)&&delete r[t];else delete this._events;return this},a.removeAllListeners=o("removeEvent"),a.emitEvent=function(e,t){var n,r,i,o,s=this.getListenersAsObject(e);for(o in s)if(s.hasOwnProperty(o))for(n=s[o].slice(0),i=0;i<n.length;i++)r=n[i],!0===r.once&&this.removeListener(e,r.listener),r.listener.apply(this,t||[])===this._getOnceReturnValue()&&this.removeListener(e,r.listener);return this},a.trigger=o("emitEvent"),a.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},a.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},a._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},a._getEvents=function(){return this._events||(this._events={})},r.noConflict=function(){return e.EventEmitter=c,r},"function"==typeof t&&t.amd?t(function(){return r}):"object"==typeof n&&n.exports?n.exports=r:e.EventEmitter=r}(this||{})},{}]},{},[1])}();
2
  //# sourceMappingURL=forms-api.min.js.map
1
+ !function(){var e=void 0,t=void 0;!function t(n,r,i){function o(a,c){if(!r[a]){if(!n[a]){var u="function"==typeof e&&e;if(!c&&u)return u(a,!0);if(s)return s(a,!0);var f=new Error("Cannot find module '"+a+"'");throw f.code="MODULE_NOT_FOUND",f}var l=r[a]={exports:{}};n[a][0].call(l.exports,function(e){var t=n[a][1][e];return o(t||e)},l,l.exports,t,n,r,i)}return r[a].exports}for(var s="function"==typeof e&&e,a=0;a<i.length;a++)o(i[a]);return o}({1:[function(e,t,n){"use strict";function r(e){var t="animated"===u.auto_scroll,n={behavior:t?"smooth":"instant"};e.element.scrollIntoView(n)}function i(e,t,n){return function(){var r=this.value.trim(),i="radio"!==this.getAttribute("type")&&"checked"!==this.getAttribute("type")||this.checked,o=i&&(r===t&&""!==t||""===t&&r.length>0);e.style.display=n?o?"":"none":o?"none":""}}function o(){var e=this,t=e.form.querySelectorAll("[data-show-if], [data-hide-if]"),n=(e.getAttribute("name")||"").toLowerCase();[].forEach.call(t,function(t){var r=!!t.getAttribute("data-show-if"),o=r?t.getAttribute("data-show-if").split(":"):t.getAttribute("data-hide-if").split(":"),s=o[0],a=o[1]||"";if(n===s.toLowerCase()){i(t,a,r).call(e)}})}var s=window.mc4wp||{},a=e("gator"),c=e("./forms/forms.js"),u=window.mc4wp_forms_config||{};if(a(document.body).on("keyup",".mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select",o),a(document.body).on("change",".mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select",o),window.addEventListener("load",function(){[].forEach.call(document.querySelectorAll(".mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select"),function(e){o.call(e)})}),a(document.body).on("submit",".mc4wp-form",function(e){var t=c.getByElement(e.target||e.srcElement);c.trigger("submit",[t,e]),c.trigger(t.id+".submit",[t,e])}),a(document.body).on("focus",".mc4wp-form",function(e){var t=c.getByElement(e.target||e.srcElement);t.started||(c.trigger("started",[t,e]),c.trigger(t.id+".started",[t,e]),t.started=!0)}),a(document.body).on("change",".mc4wp-form",function(e){var t=c.getByElement(e.target||e.srcElement);c.trigger("change",[t,e]),c.trigger(t.id+".change",[t,e])}),s.listeners){for(var f=s.listeners,l=0;l<f.length;l++)c.on(f[l].event,f[l].callback);delete s.listeners}if(s.forms=c,u.submitted_form){var h=u.submitted_form,d=document.getElementById(h.element_id),m=c.getByElement(d);!function(e,t,n,i){var o=document.body.clientHeight,s=Date.now();n&&e.setData(i),u.auto_scroll&&r(e),window.addEventListener("load",function(){var a=Date.now()-s;u.auto_scroll&&a<800&&document.body.clientHeight!=o&&r(e),c.trigger("submitted",[e]),c.trigger(e.id+".submitted",[e]),n?(c.trigger("error",[e,n]),c.trigger(e.id+".error",[e,n])):(c.trigger("success",[e,i]),c.trigger(e.id+".success",[e,i]),c.trigger(t+"d",[e,i]),c.trigger(e.id+"."+t+"d",[e,i]))})}(m,h.action,h.errors,h.data)}window.mc4wp=s},{"./forms/forms.js":3,gator:5}],2:[function(e,t,n){"use strict";var r=e("form-serialize"),i=e("populate.js"),o=function(e,t){this.id=e,this.element=t||document.createElement("form"),this.name=this.element.getAttribute("data-name")||"Form #"+this.id,this.errors=[],this.started=!1};o.prototype.setData=function(e){try{i(this.element,e)}catch(e){console.error(e)}},o.prototype.getData=function(){return r(this.element,{hash:!0})},o.prototype.getSerializedData=function(){return r(this.element)},o.prototype.setResponse=function(e){this.element.querySelector(".mc4wp-response").innerHTML=e},o.prototype.reset=function(){this.setResponse(""),this.element.querySelector(".mc4wp-form-fields").style.display="",this.element.reset()},t.exports=o},{"form-serialize":4,"populate.js":6}],3:[function(e,t,n){"use strict";function r(e){for(var t=0;t<f.length;t++)if(f[t].id==e)return f[t];return o(document.querySelector(".mc4wp-form-"+e),e)}function i(e){for(var t=e.form||e,n=0;n<f.length;n++)if(f[n].element==t)return f[n];return o(t)}function o(e,t){t=t||parseInt(e.getAttribute("data-id"))||0;var n=new c(t,e);return f.push(n),n}function s(){return f}var a=e("wolfy87-eventemitter"),c=e("./form.js"),u=new a,f=[];t.exports={all:s,get:r,getByElement:i,on:u.on.bind(u),trigger:u.trigger.bind(u),off:u.off.bind(u)}},{"./form.js":2,"wolfy87-eventemitter":7}],4:[function(e,t,n){function r(e,t){"object"!=typeof t?t={hash:!!t}:void 0===t.hash&&(t.hash=!0);for(var n=t.hash?{}:"",r=t.serializer||(t.hash?s:a),i=e&&e.elements?e.elements:[],o=Object.create(null),f=0;f<i.length;++f){var l=i[f];if((t.disabled||!l.disabled)&&l.name&&(u.test(l.nodeName)&&!c.test(l.type))){var h=l.name,d=l.value;if("checkbox"!==l.type&&"radio"!==l.type||l.checked||(d=void 0),t.empty){if("checkbox"!==l.type||l.checked||(d=""),"radio"===l.type&&(o[l.name]||l.checked?l.checked&&(o[l.name]=!0):o[l.name]=!1),!d&&"radio"==l.type)continue}else if(!d)continue;if("select-multiple"!==l.type)n=r(n,h,d);else{d=[];for(var m=l.options,p=!1,v=0;v<m.length;++v){var g=m[v],y=t.empty&&!g.value,w=g.value||y;g.selected&&w&&(p=!0,n=t.hash&&"[]"!==h.slice(h.length-2)?r(n,h+"[]",g.value):r(n,h,g.value))}!p&&t.empty&&(n=r(n,h,""))}}}if(t.empty)for(var h in o)o[h]||(n=r(n,h,""));return n}function i(e){var t=[],n=/^([^\[\]]*)/,r=new RegExp(f),i=n.exec(e);for(i[1]&&t.push(i[1]);null!==(i=r.exec(e));)t.push(i[1]);return t}function o(e,t,n){if(0===t.length)return e=n;var r=t.shift(),i=r.match(/^\[(.+?)\]$/);if("[]"===r)return e=e||[],Array.isArray(e)?e.push(o(null,t,n)):(e._values=e._values||[],e._values.push(o(null,t,n))),e;if(i){var s=i[1],a=+s;isNaN(a)?(e=e||{},e[s]=o(e[s],t,n)):(e=e||[],e[a]=o(e[a],t,n))}else e[r]=o(e[r],t,n);return e}function s(e,t,n){if(t.match(f))o(e,i(t),n);else{var r=e[t];r?(Array.isArray(r)||(e[t]=[r]),e[t].push(n)):e[t]=n}return e}function a(e,t,n){return n=n.replace(/(\r)?\n/g,"\r\n"),n=encodeURIComponent(n),n=n.replace(/%20/g,"+"),e+(e?"&":"")+encodeURIComponent(t)+"="+n}var c=/^(?:submit|button|image|reset|file)$/i,u=/^(?:input|select|textarea|keygen)/i,f=/(\[[^\[\]]*\])/g;t.exports=r},{}],5:[function(e,t,n){!function(){function e(e,t,n){var r="blur"==t||"focus"==t;e.element.addEventListener(t,n,r)}function n(e){e.preventDefault(),e.stopPropagation()}function r(e){return f||(f=e.matches?e.matches:e.webkitMatchesSelector?e.webkitMatchesSelector:e.mozMatchesSelector?e.mozMatchesSelector:e.msMatchesSelector?e.msMatchesSelector:e.oMatchesSelector?e.oMatchesSelector:u.matchesSelector)}function i(e,t,n){if("_root"==t)return n;if(e!==n)return r(e).call(e,t)?e:e.parentNode?(l++,i(e.parentNode,t,n)):void 0}function o(e,t,n,r){d[e.id]||(d[e.id]={}),d[e.id][t]||(d[e.id][t]={}),d[e.id][t][n]||(d[e.id][t][n]=[]),d[e.id][t][n].push(r)}function s(e,t,n,r){if(d[e.id])if(t){if(!r&&!n)return void(d[e.id][t]={});if(!r)return void delete d[e.id][t][n];if(d[e.id][t][n])for(var i=0;i<d[e.id][t][n].length;i++)if(d[e.id][t][n][i]===r){d[e.id][t][n].splice(i,1);break}}else for(var o in d[e.id])d[e.id].hasOwnProperty(o)&&(d[e.id][o]={})}function a(e,t,n){if(d[e][n]){var r,o,s=t.target||t.srcElement,a={},c=0,f=0;l=0;for(r in d[e][n])d[e][n].hasOwnProperty(r)&&(o=i(s,r,m[e].element))&&u.matchesEvent(n,m[e].element,o,"_root"==r,t)&&(l++,d[e][n][r].match=o,a[l]=d[e][n][r]);for(t.stopPropagation=function(){t.cancelBubble=!0},c=0;c<=l;c++)if(a[c])for(f=0;f<a[c].length;f++){if(!1===a[c][f].call(a[c].match,t))return void u.cancel(t);if(t.cancelBubble)return}}}function c(e,t,n,r){if(this.element){e instanceof Array||(e=[e]),n||"function"!=typeof t||(n=t,t="_root");var i,c=this.id;for(i=0;i<e.length;i++)r?s(this,e[i],t,n):(d[c]&&d[c][e[i]]||u.addEvent(this,e[i],function(e){return function(t){a(c,t,e)}}(e[i])),o(this,e[i],t,n));return this}}function u(e,t){if(!(this instanceof u)){for(var n in m)if(m[n].element===e)return m[n];return h++,m[h]=new u(e,h),m[h]}this.element=e,this.id=t}var f,l=0,h=0,d={},m={};u.prototype.on=function(e,t,n){return c.call(this,e,t,n)},u.prototype.off=function(e,t,n){return c.call(this,e,t,n,!0)},u.matchesSelector=function(){},u.cancel=n,u.addEvent=e,u.matchesEvent=function(){return!0},void 0!==t&&t.exports&&(t.exports=u),window.Gator=u}()},{}],6:[function(e,n,r){!function(e){var r=function(e,t,n){for(var i in t)if(t.hasOwnProperty(i)){var o=i,s=t[i];if(void 0===s&&(s=""),null===s&&(s=""),void 0!==n&&(o=n+"["+i+"]"),s.constructor===Array)o+="[]";else if("object"==typeof s){r(e,s,o);continue}var a=e.elements.namedItem(o);if(a){var c=a.type||a[0].type;switch(c){default:a.value=s;break;case"radio":case"checkbox":for(var u=0;u<a.length;u++)a[u].checked=s.indexOf(a[u].value)>-1;break;case"select-multiple":for(var f=s.constructor==Array?s:[s],l=0;l<a.options.length;l++)a.options[l].selected|=f.indexOf(a.options[l].value)>-1;break;case"select":case"select-one":a.value=s.toString()||s;break;case"date":a.value=new Date(s).toISOString().split("T")[0]}}}};"function"==typeof t&&"object"==typeof t.amd&&t.amd?t(function(){return r}):void 0!==n&&n.exports?n.exports=r:e.populate=r}(this)},{}],7:[function(e,n,r){!function(e){"use strict";function r(){}function i(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function o(e){return function(){return this[e].apply(this,arguments)}}function s(e){return"function"==typeof e||e instanceof RegExp||!(!e||"object"!=typeof e)&&s(e.listener)}var a=r.prototype,c=e.EventEmitter;a.getListeners=function(e){var t,n,r=this._getEvents();if(e instanceof RegExp){t={};for(n in r)r.hasOwnProperty(n)&&e.test(n)&&(t[n]=r[n])}else t=r[e]||(r[e]=[]);return t},a.flattenListeners=function(e){var t,n=[];for(t=0;t<e.length;t+=1)n.push(e[t].listener);return n},a.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},a.addListener=function(e,t){if(!s(t))throw new TypeError("listener must be a function");var n,r=this.getListenersAsObject(e),o="object"==typeof t;for(n in r)r.hasOwnProperty(n)&&-1===i(r[n],t)&&r[n].push(o?t:{listener:t,once:!1});return this},a.on=o("addListener"),a.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},a.once=o("addOnceListener"),a.defineEvent=function(e){return this.getListeners(e),this},a.defineEvents=function(e){for(var t=0;t<e.length;t+=1)this.defineEvent(e[t]);return this},a.removeListener=function(e,t){var n,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&-1!==(n=i(o[r],t))&&o[r].splice(n,1);return this},a.off=o("removeListener"),a.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},a.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},a.manipulateListeners=function(e,t,n){var r,i,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(r=n.length;r--;)o.call(this,t,n[r]);else for(r in t)t.hasOwnProperty(r)&&(i=t[r])&&("function"==typeof i?o.call(this,r,i):s.call(this,r,i));return this},a.removeEvent=function(e){var t,n=typeof e,r=this._getEvents();if("string"===n)delete r[e];else if(e instanceof RegExp)for(t in r)r.hasOwnProperty(t)&&e.test(t)&&delete r[t];else delete this._events;return this},a.removeAllListeners=o("removeEvent"),a.emitEvent=function(e,t){var n,r,i,o,s=this.getListenersAsObject(e);for(o in s)if(s.hasOwnProperty(o))for(n=s[o].slice(0),i=0;i<n.length;i++)r=n[i],!0===r.once&&this.removeListener(e,r.listener),r.listener.apply(this,t||[])===this._getOnceReturnValue()&&this.removeListener(e,r.listener);return this},a.trigger=o("emitEvent"),a.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},a.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},a._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},a._getEvents=function(){return this._events||(this._events={})},r.noConflict=function(){return e.EventEmitter=c,r},"function"==typeof t&&t.amd?t(function(){return r}):"object"==typeof n&&n.exports?n.exports=r:e.EventEmitter=r}(this||{})},{}]},{},[1])}();
2
  //# sourceMappingURL=forms-api.min.js.map
assets/js/forms-api.min.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["forms-api.js"],"names":["require","undefined","define","e","t","n","r","s","o","u","a","i","f","Error","code","l","exports","call","length","1","module","scrollToForm","form","animate","config","auto_scroll","args","behavior","element","scrollIntoView","toggleElement","el","expectedValue","show","value","this","trim","checked","getAttribute","conditionMet","style","display","toggleConditionalElements","input","elements","querySelectorAll","inputName","toLowerCase","forEach","conditions","split","nameCondition","valueCondition","mc4wp","window","Gator","forms","mc4wp_forms_config","document","body","on","addEventListener","event","getByElement","target","srcElement","trigger","id","started","listeners","callback","submitted_form","formConfig","getElementById","element_id","action","errors","data","pageHeight","clientHeight","timeStart","Date","now","setData","timeElapsed","./forms/forms.js","gator","2","serialize","populate","Form","createElement","name","prototype","console","error","getData","hash","getSerializedData","setResponse","msg","querySelector","innerHTML","reset","form-serialize","populate.js","3","get","formId","createFromElement","formElement","parseInt","push","all","EventEmitter","events","bind","off","./form.js","wolfy87-eventemitter","4","options","result","serializer","hash_serializer","str_serialize","radio_store","Object","create","disabled","k_r_success_contrls","test","nodeName","k_r_submitter","type","key","val","empty","selectOptions","isSelectedOptions","j","option","allowedEmpty","hasValue","selected","slice","parse_keys","string","keys","prefix","children","RegExp","brackets","match","exec","hash_assign","shift","between","Array","isArray","_values","index","isNaN","existing","replace","encodeURIComponent","5","_addEvent","useCapture","_cancel","preventDefault","stopPropagation","_getMatcher","_matcher","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchesSelector","_matchesSelector","selector","boundElement","parentNode","_level","_addHandler","_handlers","_removeHandler","splice","hasOwnProperty","_handleEvent","_gatorInstances","matchesEvent","cancelBubble","cancel","_bind","remove","addEvent","_id","6","root","basename","constructor","namedItem","indexOf","values","k","toString","toISOString","amd","7","indexOfListener","listener","alias","apply","arguments","isValidListener","proto","originalGlobalValue","getListeners","evt","response","_getEvents","flattenListeners","flatListeners","getListenersAsObject","addListener","TypeError","listenerIsWrapped","once","addOnceListener","defineEvent","defineEvents","evts","removeListener","addListeners","manipulateListeners","removeListeners","single","multiple","removeEvent","_events","removeAllListeners","emitEvent","listenersMap","_getOnceReturnValue","emit","setOnceReturnValue","_onceReturnValue","noConflict"],"mappings":"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","file":"forms-api.min.js","sourcesContent":["(function () { var require = undefined; var define = undefined; (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n'use strict';\n\n// deps & vars\n\nvar mc4wp = window.mc4wp || {};\nvar Gator = require('gator');\nvar forms = require('./forms/forms.js');\nvar config = window.mc4wp_forms_config || {};\n\n// funcs\nfunction scrollToForm(form) {\n\tvar animate = config.auto_scroll === 'animated';\n\tvar args = {\n\t\tbehavior: animate ? \"smooth\" : \"instant\"\n\t};\n\tform.element.scrollIntoView(args);\n}\n\nfunction handleFormRequest(form, action, errors, data) {\n\tvar pageHeight = document.body.clientHeight;\n\tvar timeStart = Date.now();\n\n\t// re-populate form\n\tif (errors) {\n\t\tform.setData(data);\n\t}\n\n\tif (config.auto_scroll) {\n\t\tscrollToForm(form);\n\t}\n\n\t// trigger events on window.load so all other scripts have loaded\n\twindow.addEventListener('load', function () {\n\t\tvar timeElapsed = Date.now() - timeStart;\n\n\t\t// scroll to form again if page height changed since last scroll\n\t\t// (only if load didn't take more than 0.8 seconds to prevent overtaking user scroll)\n\t\tif (config.auto_scroll && timeElapsed < 800 && document.body.clientHeight != pageHeight) {\n\t\t\tscrollToForm(form);\n\t\t}\n\n\t\t// trigger events\n\t\tforms.trigger('submitted', [form]);\n\t\tforms.trigger(form.id + '.submitted', [form]);\n\n\t\tif (errors) {\n\t\t\tforms.trigger('error', [form, errors]);\n\t\t\tforms.trigger(form.id + '.error', [form, errors]);\n\t\t} else {\n\t\t\t// form was successfully submitted\n\t\t\tforms.trigger('success', [form, data]);\n\t\t\tforms.trigger(form.id + ',success', [form, data]);\n\n\t\t\t// subscribed / unsubscribed\n\t\t\tforms.trigger(action + \"d\", [form, data]);\n\t\t\tforms.trigger(form.id + \".\" + action + \"d\", [form, data]);\n\t\t}\n\t});\n}\n\nfunction toggleElement(el, expectedValue, show) {\n\treturn function () {\n\t\tvar value = this.value.trim();\n\t\tvar checked = this.getAttribute('type') !== 'radio' && this.getAttribute('type') !== 'checked' || this.checked;\n\t\tvar conditionMet = checked && (value === expectedValue && expectedValue !== \"\" || expectedValue === \"\" && value.length > 0);\n\t\tif (show) {\n\t\t\tel.style.display = conditionMet ? '' : 'none';\n\t\t} else {\n\t\t\tel.style.display = conditionMet ? 'none' : '';\n\t\t}\n\t};\n}\n\nfunction toggleConditionalElements() {\n\tvar input = this;\n\tvar elements = input.form.querySelectorAll('[data-show-if], [data-hide-if]');\n\tvar inputName = (input.getAttribute('name') || '').toLowerCase();\n\n\t[].forEach.call(elements, function (el) {\n\t\tvar show = !!el.getAttribute('data-show-if');\n\t\tvar conditions = show ? el.getAttribute('data-show-if').split(':') : el.getAttribute('data-hide-if').split(':');\n\t\tvar nameCondition = conditions[0];\n\t\tvar valueCondition = conditions[1] || \"\";\n\n\t\tif (inputName !== nameCondition.toLowerCase()) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar callback = toggleElement(el, valueCondition, show);\n\t\tcallback.call(input);\n\t});\n}\n\nGator(document.body).on('keyup', '.mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select', toggleConditionalElements);\nGator(document.body).on('change', '.mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select', toggleConditionalElements);\nwindow.addEventListener('load', function () {\n\t[].forEach.call(document.querySelectorAll('.mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select'), function (el) {\n\t\ttoggleConditionalElements.call(el);\n\t});\n});\n\n// Bind browser events to form events (using delegation)\nGator(document.body).on('submit', '.mc4wp-form', function (event) {\n\tvar form = forms.getByElement(event.target || event.srcElement);\n\tforms.trigger('submit', [form, event]);\n\tforms.trigger(form.id + '.submit', [form, event]);\n});\n\nGator(document.body).on('focus', '.mc4wp-form', function (event) {\n\tvar form = forms.getByElement(event.target || event.srcElement);\n\n\tif (!form.started) {\n\t\tforms.trigger('started', [form, event]);\n\t\tforms.trigger(form.id + '.started', [form, event]);\n\t\tform.started = true;\n\t}\n});\n\nGator(document.body).on('change', '.mc4wp-form', function (event) {\n\tvar form = forms.getByElement(event.target || event.srcElement);\n\tforms.trigger('change', [form, event]);\n\tforms.trigger(form.id + '.change', [form, event]);\n});\n\n// register early listeners\nif (mc4wp.listeners) {\n\tvar listeners = mc4wp.listeners;\n\tfor (var i = 0; i < listeners.length; i++) {\n\t\tforms.on(listeners[i].event, listeners[i].callback);\n\t}\n\n\t// delete temp listeners array, so we don't bind twice\n\tdelete mc4wp[\"listeners\"];\n}\n\n// expose forms object\nmc4wp.forms = forms;\n\n// handle submitted form\nif (config.submitted_form) {\n\tvar formConfig = config.submitted_form,\n\t element = document.getElementById(formConfig.element_id),\n\t form = forms.getByElement(element);\n\n\thandleFormRequest(form, formConfig.action, formConfig.errors, formConfig.data);\n}\n\n// expose mc4wp object globally\nwindow.mc4wp = mc4wp;\n\n},{\"./forms/forms.js\":3,\"gator\":5}],2:[function(require,module,exports){\n'use strict';\n\nvar serialize = require('form-serialize');\nvar populate = require('populate.js');\n\nvar Form = function Form(id, element) {\n\tthis.id = id;\n\tthis.element = element || document.createElement('form');\n\tthis.name = this.element.getAttribute('data-name') || \"Form #\" + this.id;\n\tthis.errors = [];\n\tthis.started = false;\n};\n\nForm.prototype.setData = function (data) {\n\ttry {\n\t\tpopulate(this.element, data);\n\t} catch (e) {\n\t\tconsole.error(e);\n\t}\n};\n\nForm.prototype.getData = function () {\n\treturn serialize(this.element, { hash: true });\n};\n\nForm.prototype.getSerializedData = function () {\n\treturn serialize(this.element);\n};\n\nForm.prototype.setResponse = function (msg) {\n\tthis.element.querySelector('.mc4wp-response').innerHTML = msg;\n};\n\n// revert back to original state\nForm.prototype.reset = function () {\n\tthis.setResponse('');\n\tthis.element.querySelector('.mc4wp-form-fields').style.display = '';\n\tthis.element.reset();\n};\n\nmodule.exports = Form;\n\n},{\"form-serialize\":4,\"populate.js\":6}],3:[function(require,module,exports){\n'use strict';\n\n// deps\n\nvar EventEmitter = require('wolfy87-eventemitter');\nvar Form = require('./form.js');\n\n// variables\nvar events = new EventEmitter();\nvar forms = [];\n\n// get form by its id\n// please note that this will get the FIRST occurence of the form with that ID on the page\nfunction get(formId) {\n\n\t// do we have form for this one already?\n\tfor (var i = 0; i < forms.length; i++) {\n\t\tif (forms[i].id == formId) {\n\t\t\treturn forms[i];\n\t\t}\n\t}\n\n\t// try to create from first occurence of this element\n\tvar formElement = document.querySelector('.mc4wp-form-' + formId);\n\treturn createFromElement(formElement, formId);\n}\n\n// get form by <form> element (or any input in form)\nfunction getByElement(element) {\n\tvar formElement = element.form || element;\n\n\tfor (var i = 0; i < forms.length; i++) {\n\t\tif (forms[i].element == formElement) {\n\t\t\treturn forms[i];\n\t\t}\n\t}\n\n\treturn createFromElement(formElement);\n}\n\n// create form object from <form> element\nfunction createFromElement(formElement, id) {\n\tid = id || parseInt(formElement.getAttribute('data-id')) || 0;\n\tvar form = new Form(id, formElement);\n\tforms.push(form);\n\treturn form;\n}\n\nfunction all() {\n\treturn forms;\n}\n\nmodule.exports = {\n\t\"all\": all,\n\t\"get\": get,\n\t\"getByElement\": getByElement,\n\t\"on\": events.on.bind(events),\n\t\"trigger\": events.trigger.bind(events),\n\t\"off\": events.off.bind(events)\n};\n\n},{\"./form.js\":2,\"wolfy87-eventemitter\":7}],4:[function(require,module,exports){\n// get successful control from form and assemble into object\n// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2\n\n// types which indicate a submit action and are not successful controls\n// these will be ignored\nvar k_r_submitter = /^(?:submit|button|image|reset|file)$/i;\n\n// node names which could be successful controls\nvar k_r_success_contrls = /^(?:input|select|textarea|keygen)/i;\n\n// Matches bracket notation.\nvar brackets = /(\\[[^\\[\\]]*\\])/g;\n\n// serializes form fields\n// @param form MUST be an HTMLForm element\n// @param options is an optional argument to configure the serialization. Default output\n// with no options specified is a url encoded string\n// - hash: [true | false] Configure the output type. If true, the output will\n// be a js object.\n// - serializer: [function] Optional serializer function to override the default one.\n// The function takes 3 arguments (result, key, value) and should return new result\n// hash and url encoded str serializers are provided with this module\n// - disabled: [true | false]. If true serialize disabled fields.\n// - empty: [true | false]. If true serialize empty fields\nfunction serialize(form, options) {\n if (typeof options != 'object') {\n options = { hash: !!options };\n }\n else if (options.hash === undefined) {\n options.hash = true;\n }\n\n var result = (options.hash) ? {} : '';\n var serializer = options.serializer || ((options.hash) ? hash_serializer : str_serialize);\n\n var elements = form && form.elements ? form.elements : [];\n\n //Object store each radio and set if it's empty or not\n var radio_store = Object.create(null);\n\n for (var i=0 ; i<elements.length ; ++i) {\n var element = elements[i];\n\n // ingore disabled fields\n if ((!options.disabled && element.disabled) || !element.name) {\n continue;\n }\n // ignore anyhting that is not considered a success field\n if (!k_r_success_contrls.test(element.nodeName) ||\n k_r_submitter.test(element.type)) {\n continue;\n }\n\n var key = element.name;\n var val = element.value;\n\n // we can't just use element.value for checkboxes cause some browsers lie to us\n // they say \"on\" for value when the box isn't checked\n if ((element.type === 'checkbox' || element.type === 'radio') && !element.checked) {\n val = undefined;\n }\n\n // If we want empty elements\n if (options.empty) {\n // for checkbox\n if (element.type === 'checkbox' && !element.checked) {\n val = '';\n }\n\n // for radio\n if (element.type === 'radio') {\n if (!radio_store[element.name] && !element.checked) {\n radio_store[element.name] = false;\n }\n else if (element.checked) {\n radio_store[element.name] = true;\n }\n }\n\n // if options empty is true, continue only if its radio\n if (!val && element.type == 'radio') {\n continue;\n }\n }\n else {\n // value-less fields are ignored unless options.empty is true\n if (!val) {\n continue;\n }\n }\n\n // multi select boxes\n if (element.type === 'select-multiple') {\n val = [];\n\n var selectOptions = element.options;\n var isSelectedOptions = false;\n for (var j=0 ; j<selectOptions.length ; ++j) {\n var option = selectOptions[j];\n var allowedEmpty = options.empty && !option.value;\n var hasValue = (option.value || allowedEmpty);\n if (option.selected && hasValue) {\n isSelectedOptions = true;\n\n // If using a hash serializer be sure to add the\n // correct notation for an array in the multi-select\n // context. Here the name attribute on the select element\n // might be missing the trailing bracket pair. Both names\n // \"foo\" and \"foo[]\" should be arrays.\n if (options.hash && key.slice(key.length - 2) !== '[]') {\n result = serializer(result, key + '[]', option.value);\n }\n else {\n result = serializer(result, key, option.value);\n }\n }\n }\n\n // Serialize if no selected options and options.empty is true\n if (!isSelectedOptions && options.empty) {\n result = serializer(result, key, '');\n }\n\n continue;\n }\n\n result = serializer(result, key, val);\n }\n\n // Check for all empty radio buttons and serialize them with key=\"\"\n if (options.empty) {\n for (var key in radio_store) {\n if (!radio_store[key]) {\n result = serializer(result, key, '');\n }\n }\n }\n\n return result;\n}\n\nfunction parse_keys(string) {\n var keys = [];\n var prefix = /^([^\\[\\]]*)/;\n var children = new RegExp(brackets);\n var match = prefix.exec(string);\n\n if (match[1]) {\n keys.push(match[1]);\n }\n\n while ((match = children.exec(string)) !== null) {\n keys.push(match[1]);\n }\n\n return keys;\n}\n\nfunction hash_assign(result, keys, value) {\n if (keys.length === 0) {\n result = value;\n return result;\n }\n\n var key = keys.shift();\n var between = key.match(/^\\[(.+?)\\]$/);\n\n if (key === '[]') {\n result = result || [];\n\n if (Array.isArray(result)) {\n result.push(hash_assign(null, keys, value));\n }\n else {\n // This might be the result of bad name attributes like \"[][foo]\",\n // in this case the original `result` object will already be\n // assigned to an object literal. Rather than coerce the object to\n // an array, or cause an exception the attribute \"_values\" is\n // assigned as an array.\n result._values = result._values || [];\n result._values.push(hash_assign(null, keys, value));\n }\n\n return result;\n }\n\n // Key is an attribute name and can be assigned directly.\n if (!between) {\n result[key] = hash_assign(result[key], keys, value);\n }\n else {\n var string = between[1];\n // +var converts the variable into a number\n // better than parseInt because it doesn't truncate away trailing\n // letters and actually fails if whole thing is not a number\n var index = +string;\n\n // If the characters between the brackets is not a number it is an\n // attribute name and can be assigned directly.\n if (isNaN(index)) {\n result = result || {};\n result[string] = hash_assign(result[string], keys, value);\n }\n else {\n result = result || [];\n result[index] = hash_assign(result[index], keys, value);\n }\n }\n\n return result;\n}\n\n// Object/hash encoding serializer.\nfunction hash_serializer(result, key, value) {\n var matches = key.match(brackets);\n\n // Has brackets? Use the recursive assignment function to walk the keys,\n // construct any missing objects in the result tree and make the assignment\n // at the end of the chain.\n if (matches) {\n var keys = parse_keys(key);\n hash_assign(result, keys, value);\n }\n else {\n // Non bracket notation can make assignments directly.\n var existing = result[key];\n\n // If the value has been assigned already (for instance when a radio and\n // a checkbox have the same name attribute) convert the previous value\n // into an array before pushing into it.\n //\n // NOTE: If this requirement were removed all hash creation and\n // assignment could go through `hash_assign`.\n if (existing) {\n if (!Array.isArray(existing)) {\n result[key] = [ existing ];\n }\n\n result[key].push(value);\n }\n else {\n result[key] = value;\n }\n }\n\n return result;\n}\n\n// urlform encoding serializer\nfunction str_serialize(result, key, value) {\n // encode newlines as \\r\\n cause the html spec says so\n value = value.replace(/(\\r)?\\n/g, '\\r\\n');\n value = encodeURIComponent(value);\n\n // spaces should be '+' rather than '%20'.\n value = value.replace(/%20/g, '+');\n return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + value;\n}\n\nmodule.exports = serialize;\n\n},{}],5:[function(require,module,exports){\n/**\n * Copyright 2014 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * GATOR.JS\n * Simple Event Delegation\n *\n * @version 1.2.4\n *\n * Compatible with IE 9+, FF 3.6+, Safari 5+, Chrome\n *\n * Include legacy.js for compatibility with older browsers\n *\n * .-._ _ _ _ _ _ _ _ _\n * .-''-.__.-'00 '-' ' ' ' ' ' ' ' '-.\n * '.___ ' . .--_'-' '-' '-' _'-' '._\n * V: V 'vv-' '_ '. .' _..' '.'.\n * '=.____.=_.--' :_.__.__:_ '. : :\n * (((____.-' '-. / : :\n * (((-'\\ .' /\n * _____..' .'\n * '-._____.-'\n */\n(function() {\n var _matcher,\n _level = 0,\n _id = 0,\n _handlers = {},\n _gatorInstances = {};\n\n function _addEvent(gator, type, callback) {\n\n // blur and focus do not bubble up but if you use event capturing\n // then you will get them\n var useCapture = type == 'blur' || type == 'focus';\n gator.element.addEventListener(type, callback, useCapture);\n }\n\n function _cancel(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n /**\n * returns function to use for determining if an element\n * matches a query selector\n *\n * @returns {Function}\n */\n function _getMatcher(element) {\n if (_matcher) {\n return _matcher;\n }\n\n if (element.matches) {\n _matcher = element.matches;\n return _matcher;\n }\n\n if (element.webkitMatchesSelector) {\n _matcher = element.webkitMatchesSelector;\n return _matcher;\n }\n\n if (element.mozMatchesSelector) {\n _matcher = element.mozMatchesSelector;\n return _matcher;\n }\n\n if (element.msMatchesSelector) {\n _matcher = element.msMatchesSelector;\n return _matcher;\n }\n\n if (element.oMatchesSelector) {\n _matcher = element.oMatchesSelector;\n return _matcher;\n }\n\n // if it doesn't match a native browser method\n // fall back to the gator function\n _matcher = Gator.matchesSelector;\n return _matcher;\n }\n\n /**\n * determines if the specified element matches a given selector\n *\n * @param {Node} element - the element to compare against the selector\n * @param {string} selector\n * @param {Node} boundElement - the element the listener was attached to\n * @returns {void|Node}\n */\n function _matchesSelector(element, selector, boundElement) {\n\n // no selector means this event was bound directly to this element\n if (selector == '_root') {\n return boundElement;\n }\n\n // if we have moved up to the element you bound the event to\n // then we have come too far\n if (element === boundElement) {\n return;\n }\n\n // if this is a match then we are done!\n if (_getMatcher(element).call(element, selector)) {\n return element;\n }\n\n // if this element did not match but has a parent we should try\n // going up the tree to see if any of the parent elements match\n // for example if you are looking for a click on an <a> tag but there\n // is a <span> inside of the a tag that it is the target,\n // it should still work\n if (element.parentNode) {\n _level++;\n return _matchesSelector(element.parentNode, selector, boundElement);\n }\n }\n\n function _addHandler(gator, event, selector, callback) {\n if (!_handlers[gator.id]) {\n _handlers[gator.id] = {};\n }\n\n if (!_handlers[gator.id][event]) {\n _handlers[gator.id][event] = {};\n }\n\n if (!_handlers[gator.id][event][selector]) {\n _handlers[gator.id][event][selector] = [];\n }\n\n _handlers[gator.id][event][selector].push(callback);\n }\n\n function _removeHandler(gator, event, selector, callback) {\n\n // if there are no events tied to this element at all\n // then don't do anything\n if (!_handlers[gator.id]) {\n return;\n }\n\n // if there is no event type specified then remove all events\n // example: Gator(element).off()\n if (!event) {\n for (var type in _handlers[gator.id]) {\n if (_handlers[gator.id].hasOwnProperty(type)) {\n _handlers[gator.id][type] = {};\n }\n }\n return;\n }\n\n // if no callback or selector is specified remove all events of this type\n // example: Gator(element).off('click')\n if (!callback && !selector) {\n _handlers[gator.id][event] = {};\n return;\n }\n\n // if a selector is specified but no callback remove all events\n // for this selector\n // example: Gator(element).off('click', '.sub-element')\n if (!callback) {\n delete _handlers[gator.id][event][selector];\n return;\n }\n\n // if we have specified an event type, selector, and callback then we\n // need to make sure there are callbacks tied to this selector to\n // begin with. if there aren't then we can stop here\n if (!_handlers[gator.id][event][selector]) {\n return;\n }\n\n // if there are then loop through all the callbacks and if we find\n // one that matches remove it from the array\n for (var i = 0; i < _handlers[gator.id][event][selector].length; i++) {\n if (_handlers[gator.id][event][selector][i] === callback) {\n _handlers[gator.id][event][selector].splice(i, 1);\n break;\n }\n }\n }\n\n function _handleEvent(id, e, type) {\n if (!_handlers[id][type]) {\n return;\n }\n\n var target = e.target || e.srcElement,\n selector,\n match,\n matches = {},\n i = 0,\n j = 0;\n\n // find all events that match\n _level = 0;\n for (selector in _handlers[id][type]) {\n if (_handlers[id][type].hasOwnProperty(selector)) {\n match = _matchesSelector(target, selector, _gatorInstances[id].element);\n\n if (match && Gator.matchesEvent(type, _gatorInstances[id].element, match, selector == '_root', e)) {\n _level++;\n _handlers[id][type][selector].match = match;\n matches[_level] = _handlers[id][type][selector];\n }\n }\n }\n\n // stopPropagation() fails to set cancelBubble to true in Webkit\n // @see http://code.google.com/p/chromium/issues/detail?id=162270\n e.stopPropagation = function() {\n e.cancelBubble = true;\n };\n\n for (i = 0; i <= _level; i++) {\n if (matches[i]) {\n for (j = 0; j < matches[i].length; j++) {\n if (matches[i][j].call(matches[i].match, e) === false) {\n Gator.cancel(e);\n return;\n }\n\n if (e.cancelBubble) {\n return;\n }\n }\n }\n }\n }\n\n /**\n * binds the specified events to the element\n *\n * @param {string|Array} events\n * @param {string} selector\n * @param {Function} callback\n * @param {boolean=} remove\n * @returns {Object}\n */\n function _bind(events, selector, callback, remove) {\n\n // fail silently if you pass null or undefined as an alement\n // in the Gator constructor\n if (!this.element) {\n return;\n }\n\n if (!(events instanceof Array)) {\n events = [events];\n }\n\n if (!callback && typeof(selector) == 'function') {\n callback = selector;\n selector = '_root';\n }\n\n var id = this.id,\n i;\n\n function _getGlobalCallback(type) {\n return function(e) {\n _handleEvent(id, e, type);\n };\n }\n\n for (i = 0; i < events.length; i++) {\n if (remove) {\n _removeHandler(this, events[i], selector, callback);\n continue;\n }\n\n if (!_handlers[id] || !_handlers[id][events[i]]) {\n Gator.addEvent(this, events[i], _getGlobalCallback(events[i]));\n }\n\n _addHandler(this, events[i], selector, callback);\n }\n\n return this;\n }\n\n /**\n * Gator object constructor\n *\n * @param {Node} element\n */\n function Gator(element, id) {\n\n // called as function\n if (!(this instanceof Gator)) {\n // only keep one Gator instance per node to make sure that\n // we don't create a ton of new objects if you want to delegate\n // multiple events from the same node\n //\n // for example: Gator(document).on(...\n for (var key in _gatorInstances) {\n if (_gatorInstances[key].element === element) {\n return _gatorInstances[key];\n }\n }\n\n _id++;\n _gatorInstances[_id] = new Gator(element, _id);\n\n return _gatorInstances[_id];\n }\n\n this.element = element;\n this.id = id;\n }\n\n /**\n * adds an event\n *\n * @param {string|Array} events\n * @param {string} selector\n * @param {Function} callback\n * @returns {Object}\n */\n Gator.prototype.on = function(events, selector, callback) {\n return _bind.call(this, events, selector, callback);\n };\n\n /**\n * removes an event\n *\n * @param {string|Array} events\n * @param {string} selector\n * @param {Function} callback\n * @returns {Object}\n */\n Gator.prototype.off = function(events, selector, callback) {\n return _bind.call(this, events, selector, callback, true);\n };\n\n Gator.matchesSelector = function() {};\n Gator.cancel = _cancel;\n Gator.addEvent = _addEvent;\n Gator.matchesEvent = function() {\n return true;\n };\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Gator;\n }\n\n window.Gator = Gator;\n}) ();\n\n},{}],6:[function(require,module,exports){\n/*! populate.js v1.0.2 by @dannyvankooten | MIT license */\n;(function(root) {\n\n\t/**\n\t * Populate form fields from a JSON object.\n\t *\n\t * @param form object The form element containing your input fields.\n\t * @param data array JSON data to populate the fields with.\n\t * @param basename string Optional basename which is added to `name` attributes\n\t */\n\tvar populate = function( form, data, basename) {\n\n\t\tfor(var key in data) {\n\n\t\t\tif( ! data.hasOwnProperty( key ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar name = key;\n\t\t\tvar value = data[key];\n\n if ('undefined' === typeof value) {\n value = '';\n }\n\n if (null === value) {\n value = '';\n }\n\n\t\t\t// handle array name attributes\n\t\t\tif(typeof(basename) !== \"undefined\") {\n\t\t\t\tname = basename + \"[\" + key + \"]\";\n\t\t\t}\n\n\t\t\tif(value.constructor === Array) {\n\t\t\t\tname += '[]';\n\t\t\t} else if(typeof value == \"object\") {\n\t\t\t\tpopulate( form, value, name);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// only proceed if element is set\n\t\t\tvar element = form.elements.namedItem( name );\n\t\t\tif( ! element ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar type = element.type || element[0].type;\n\n\t\t\tswitch(type ) {\n\t\t\t\tdefault:\n\t\t\t\t\telement.value = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'radio':\n\t\t\t\tcase 'checkbox':\n\t\t\t\t\tfor( var j=0; j < element.length; j++ ) {\n\t\t\t\t\t\telement[j].checked = ( value.indexOf(element[j].value) > -1 );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select-multiple':\n\t\t\t\t\tvar values = value.constructor == Array ? value : [value];\n\n\t\t\t\t\tfor(var k = 0; k < element.options.length; k++) {\n\t\t\t\t\t\telement.options[k].selected |= (values.indexOf(element.options[k].value) > -1 );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select':\n\t\t\t\tcase 'select-one':\n\t\t\t\t\telement.value = value.toString() || value;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'date':\n \t\t\t\telement.value = new Date(value).toISOString().split('T')[0];\t\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\n\t};\n\n\t// Play nice with AMD, CommonJS or a plain global object.\n\tif ( typeof define == 'function' && typeof define.amd == 'object' && define.amd ) {\n\t\tdefine(function() {\n\t\t\treturn populate;\n\t\t});\n\t}\telse if ( typeof module !== 'undefined' && module.exports ) {\n\t\tmodule.exports = populate;\n\t} else {\n\t\troot.populate = populate;\n\t}\n\n}(this));\n\n},{}],7:[function(require,module,exports){\n/*!\n * EventEmitter v5.1.0 - git.io/ee\n * Unlicense - http://unlicense.org/\n * Oliver Caldwell - http://oli.me.uk/\n * @preserve\n */\n\n;(function (exports) {\n 'use strict';\n\n /**\n * Class for managing events.\n * Can be extended to provide event functionality in other classes.\n *\n * @class EventEmitter Manages event registering and emitting.\n */\n function EventEmitter() {}\n\n // Shortcuts to improve speed and size\n var proto = EventEmitter.prototype;\n var originalGlobalValue = exports.EventEmitter;\n\n /**\n * Finds the index of the listener for the event in its storage array.\n *\n * @param {Function[]} listeners Array of listeners to search through.\n * @param {Function} listener Method to look for.\n * @return {Number} Index of the specified listener, -1 if not found\n * @api private\n */\n function indexOfListener(listeners, listener) {\n var i = listeners.length;\n while (i--) {\n if (listeners[i].listener === listener) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * Alias a method while keeping the context correct, to allow for overwriting of target method.\n *\n * @param {String} name The name of the target method.\n * @return {Function} The aliased method\n * @api private\n */\n function alias(name) {\n return function aliasClosure() {\n return this[name].apply(this, arguments);\n };\n }\n\n /**\n * Returns the listener array for the specified event.\n * Will initialise the event object and listener arrays if required.\n * Will return an object if you use a regex search. The object contains keys for each matched event. So /ba[rz]/ might return an object containing bar and baz. But only if you have either defined them with defineEvent or added some listeners to them.\n * Each property in the object response is an array of listener functions.\n *\n * @param {String|RegExp} evt Name of the event to return the listeners from.\n * @return {Function[]|Object} All listener functions for the event.\n */\n proto.getListeners = function getListeners(evt) {\n var events = this._getEvents();\n var response;\n var key;\n\n // Return a concatenated array of all matching events if\n // the selector is a regular expression.\n if (evt instanceof RegExp) {\n response = {};\n for (key in events) {\n if (events.hasOwnProperty(key) && evt.test(key)) {\n response[key] = events[key];\n }\n }\n }\n else {\n response = events[evt] || (events[evt] = []);\n }\n\n return response;\n };\n\n /**\n * Takes a list of listener objects and flattens it into a list of listener functions.\n *\n * @param {Object[]} listeners Raw listener objects.\n * @return {Function[]} Just the listener functions.\n */\n proto.flattenListeners = function flattenListeners(listeners) {\n var flatListeners = [];\n var i;\n\n for (i = 0; i < listeners.length; i += 1) {\n flatListeners.push(listeners[i].listener);\n }\n\n return flatListeners;\n };\n\n /**\n * Fetches the requested listeners via getListeners but will always return the results inside an object. This is mainly for internal use but others may find it useful.\n *\n * @param {String|RegExp} evt Name of the event to return the listeners from.\n * @return {Object} All listener functions for an event in an object.\n */\n proto.getListenersAsObject = function getListenersAsObject(evt) {\n var listeners = this.getListeners(evt);\n var response;\n\n if (listeners instanceof Array) {\n response = {};\n response[evt] = listeners;\n }\n\n return response || listeners;\n };\n\n function isValidListener (listener) {\n if (typeof listener === 'function' || listener instanceof RegExp) {\n return true\n } else if (listener && typeof listener === 'object') {\n return isValidListener(listener.listener)\n } else {\n return false\n }\n }\n\n /**\n * Adds a listener function to the specified event.\n * The listener will not be added if it is a duplicate.\n * If the listener returns true then it will be removed after it is called.\n * If you pass a regular expression as the event name then the listener will be added to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to attach the listener to.\n * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addListener = function addListener(evt, listener) {\n if (!isValidListener(listener)) {\n throw new TypeError('listener must be a function');\n }\n\n var listeners = this.getListenersAsObject(evt);\n var listenerIsWrapped = typeof listener === 'object';\n var key;\n\n for (key in listeners) {\n if (listeners.hasOwnProperty(key) && indexOfListener(listeners[key], listener) === -1) {\n listeners[key].push(listenerIsWrapped ? listener : {\n listener: listener,\n once: false\n });\n }\n }\n\n return this;\n };\n\n /**\n * Alias of addListener\n */\n proto.on = alias('addListener');\n\n /**\n * Semi-alias of addListener. It will add a listener that will be\n * automatically removed after its first execution.\n *\n * @param {String|RegExp} evt Name of the event to attach the listener to.\n * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addOnceListener = function addOnceListener(evt, listener) {\n return this.addListener(evt, {\n listener: listener,\n once: true\n });\n };\n\n /**\n * Alias of addOnceListener.\n */\n proto.once = alias('addOnceListener');\n\n /**\n * Defines an event name. This is required if you want to use a regex to add a listener to multiple events at once. If you don't do this then how do you expect it to know what event to add to? Should it just add to every possible match for a regex? No. That is scary and bad.\n * You need to tell it what event names should be matched by a regex.\n *\n * @param {String} evt Name of the event to create.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.defineEvent = function defineEvent(evt) {\n this.getListeners(evt);\n return this;\n };\n\n /**\n * Uses defineEvent to define multiple events.\n *\n * @param {String[]} evts An array of event names to define.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.defineEvents = function defineEvents(evts) {\n for (var i = 0; i < evts.length; i += 1) {\n this.defineEvent(evts[i]);\n }\n return this;\n };\n\n /**\n * Removes a listener function from the specified event.\n * When passed a regular expression as the event name, it will remove the listener from all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to remove the listener from.\n * @param {Function} listener Method to remove from the event.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeListener = function removeListener(evt, listener) {\n var listeners = this.getListenersAsObject(evt);\n var index;\n var key;\n\n for (key in listeners) {\n if (listeners.hasOwnProperty(key)) {\n index = indexOfListener(listeners[key], listener);\n\n if (index !== -1) {\n listeners[key].splice(index, 1);\n }\n }\n }\n\n return this;\n };\n\n /**\n * Alias of removeListener\n */\n proto.off = alias('removeListener');\n\n /**\n * Adds listeners in bulk using the manipulateListeners method.\n * If you pass an object as the second argument you can add to multiple events at once. The object should contain key value pairs of events and listeners or listener arrays. You can also pass it an event name and an array of listeners to be added.\n * You can also pass it a regular expression to add the array of listeners to all events that match it.\n * Yeah, this function does quite a bit. That's probably a bad thing.\n *\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add to multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to add.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addListeners = function addListeners(evt, listeners) {\n // Pass through to manipulateListeners\n return this.manipulateListeners(false, evt, listeners);\n };\n\n /**\n * Removes listeners in bulk using the manipulateListeners method.\n * If you pass an object as the second argument you can remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n * You can also pass it an event name and an array of listeners to be removed.\n * You can also pass it a regular expression to remove the listeners from all events that match it.\n *\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to remove from multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to remove.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeListeners = function removeListeners(evt, listeners) {\n // Pass through to manipulateListeners\n return this.manipulateListeners(true, evt, listeners);\n };\n\n /**\n * Edits listeners in bulk. The addListeners and removeListeners methods both use this to do their job. You should really use those instead, this is a little lower level.\n * The first argument will determine if the listeners are removed (true) or added (false).\n * If you pass an object as the second argument you can add/remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n * You can also pass it an event name and an array of listeners to be added/removed.\n * You can also pass it a regular expression to manipulate the listeners of all events that match it.\n *\n * @param {Boolean} remove True if you want to remove listeners, false if you want to add.\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add/remove from multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to add/remove.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.manipulateListeners = function manipulateListeners(remove, evt, listeners) {\n var i;\n var value;\n var single = remove ? this.removeListener : this.addListener;\n var multiple = remove ? this.removeListeners : this.addListeners;\n\n // If evt is an object then pass each of its properties to this method\n if (typeof evt === 'object' && !(evt instanceof RegExp)) {\n for (i in evt) {\n if (evt.hasOwnProperty(i) && (value = evt[i])) {\n // Pass the single listener straight through to the singular method\n if (typeof value === 'function') {\n single.call(this, i, value);\n }\n else {\n // Otherwise pass back to the multiple function\n multiple.call(this, i, value);\n }\n }\n }\n }\n else {\n // So evt must be a string\n // And listeners must be an array of listeners\n // Loop over it and pass each one to the multiple method\n i = listeners.length;\n while (i--) {\n single.call(this, evt, listeners[i]);\n }\n }\n\n return this;\n };\n\n /**\n * Removes all listeners from a specified event.\n * If you do not specify an event then all listeners will be removed.\n * That means every event will be emptied.\n * You can also pass a regex to remove all events that match it.\n *\n * @param {String|RegExp} [evt] Optional name of the event to remove all listeners for. Will remove from every event if not passed.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeEvent = function removeEvent(evt) {\n var type = typeof evt;\n var events = this._getEvents();\n var key;\n\n // Remove different things depending on the state of evt\n if (type === 'string') {\n // Remove all listeners for the specified event\n delete events[evt];\n }\n else if (evt instanceof RegExp) {\n // Remove all events matching the regex.\n for (key in events) {\n if (events.hasOwnProperty(key) && evt.test(key)) {\n delete events[key];\n }\n }\n }\n else {\n // Remove all listeners in all events\n delete this._events;\n }\n\n return this;\n };\n\n /**\n * Alias of removeEvent.\n *\n * Added to mirror the node API.\n */\n proto.removeAllListeners = alias('removeEvent');\n\n /**\n * Emits an event of your choice.\n * When emitted, every listener attached to that event will be executed.\n * If you pass the optional argument array then those arguments will be passed to every listener upon execution.\n * Because it uses `apply`, your array of arguments will be passed as if you wrote them out separately.\n * So they will not arrive within the array on the other side, they will be separate.\n * You can also pass a regular expression to emit to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n * @param {Array} [args] Optional array of arguments to be passed to each listener.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.emitEvent = function emitEvent(evt, args) {\n var listenersMap = this.getListenersAsObject(evt);\n var listeners;\n var listener;\n var i;\n var key;\n var response;\n\n for (key in listenersMap) {\n if (listenersMap.hasOwnProperty(key)) {\n listeners = listenersMap[key].slice(0);\n\n for (i = 0; i < listeners.length; i++) {\n // If the listener returns true then it shall be removed from the event\n // The function is executed either with a basic call or an apply if there is an args array\n listener = listeners[i];\n\n if (listener.once === true) {\n this.removeListener(evt, listener.listener);\n }\n\n response = listener.listener.apply(this, args || []);\n\n if (response === this._getOnceReturnValue()) {\n this.removeListener(evt, listener.listener);\n }\n }\n }\n }\n\n return this;\n };\n\n /**\n * Alias of emitEvent\n */\n proto.trigger = alias('emitEvent');\n\n /**\n * Subtly different from emitEvent in that it will pass its arguments on to the listeners, as opposed to taking a single array of arguments to pass on.\n * As with emitEvent, you can pass a regex in place of the event name to emit to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n * @param {...*} Optional additional arguments to be passed to each listener.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.emit = function emit(evt) {\n var args = Array.prototype.slice.call(arguments, 1);\n return this.emitEvent(evt, args);\n };\n\n /**\n * Sets the current value to check against when executing listeners. If a\n * listeners return value matches the one set here then it will be removed\n * after execution. This value defaults to true.\n *\n * @param {*} value The new value to check for when executing listeners.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.setOnceReturnValue = function setOnceReturnValue(value) {\n this._onceReturnValue = value;\n return this;\n };\n\n /**\n * Fetches the current value to check against when executing listeners. If\n * the listeners return value matches this one then it should be removed\n * automatically. It will return true by default.\n *\n * @return {*|Boolean} The current value to check for or the default, true.\n * @api private\n */\n proto._getOnceReturnValue = function _getOnceReturnValue() {\n if (this.hasOwnProperty('_onceReturnValue')) {\n return this._onceReturnValue;\n }\n else {\n return true;\n }\n };\n\n /**\n * Fetches the events object and creates one if required.\n *\n * @return {Object} The events storage object.\n * @api private\n */\n proto._getEvents = function _getEvents() {\n return this._events || (this._events = {});\n };\n\n /**\n * Reverts the global {@link EventEmitter} to its previous value and returns a reference to this version.\n *\n * @return {Function} Non conflicting EventEmitter class.\n */\n EventEmitter.noConflict = function noConflict() {\n exports.EventEmitter = originalGlobalValue;\n return EventEmitter;\n };\n\n // Expose the class either via AMD, CommonJS or the global object\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return EventEmitter;\n });\n }\n else if (typeof module === 'object' && module.exports){\n module.exports = EventEmitter;\n }\n else {\n exports.EventEmitter = EventEmitter;\n }\n}(this || {}));\n\n},{}]},{},[1]);\n })();"]}
1
+ {"version":3,"sources":["forms-api.js"],"names":["require","undefined","define","e","t","n","r","s","o","u","a","i","f","Error","code","l","exports","call","length","1","module","scrollToForm","form","animate","config","auto_scroll","args","behavior","element","scrollIntoView","toggleElement","el","expectedValue","show","value","this","trim","checked","getAttribute","conditionMet","style","display","toggleConditionalElements","input","elements","querySelectorAll","inputName","toLowerCase","forEach","conditions","split","nameCondition","valueCondition","mc4wp","window","Gator","forms","mc4wp_forms_config","document","body","on","addEventListener","event","getByElement","target","srcElement","trigger","id","started","listeners","callback","submitted_form","formConfig","getElementById","element_id","action","errors","data","pageHeight","clientHeight","timeStart","Date","now","setData","timeElapsed","./forms/forms.js","gator","2","serialize","populate","Form","createElement","name","prototype","console","error","getData","hash","getSerializedData","setResponse","msg","querySelector","innerHTML","reset","form-serialize","populate.js","3","get","formId","createFromElement","formElement","parseInt","push","all","EventEmitter","events","bind","off","./form.js","wolfy87-eventemitter","4","options","result","serializer","hash_serializer","str_serialize","radio_store","Object","create","disabled","k_r_success_contrls","test","nodeName","k_r_submitter","type","key","val","empty","selectOptions","isSelectedOptions","j","option","allowedEmpty","hasValue","selected","slice","parse_keys","string","keys","prefix","children","RegExp","brackets","match","exec","hash_assign","shift","between","Array","isArray","_values","index","isNaN","existing","replace","encodeURIComponent","5","_addEvent","useCapture","_cancel","preventDefault","stopPropagation","_getMatcher","_matcher","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchesSelector","_matchesSelector","selector","boundElement","parentNode","_level","_addHandler","_handlers","_removeHandler","splice","hasOwnProperty","_handleEvent","_gatorInstances","matchesEvent","cancelBubble","cancel","_bind","remove","addEvent","_id","6","root","basename","constructor","namedItem","indexOf","values","k","toString","toISOString","amd","7","indexOfListener","listener","alias","apply","arguments","isValidListener","proto","originalGlobalValue","getListeners","evt","response","_getEvents","flattenListeners","flatListeners","getListenersAsObject","addListener","TypeError","listenerIsWrapped","once","addOnceListener","defineEvent","defineEvents","evts","removeListener","addListeners","manipulateListeners","removeListeners","single","multiple","removeEvent","_events","removeAllListeners","emitEvent","listenersMap","_getOnceReturnValue","emit","setOnceReturnValue","_onceReturnValue","noConflict"],"mappings":"CAAA,WAAe,GAAIA,OAAUC,GAAeC,MAASD,IAAW,QAAUE,GAAEC,EAAEC,EAAEC,GAAG,QAASC,GAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,GAAIE,GAAkB,kBAATV,IAAqBA,CAAQ,KAAIS,GAAGC,EAAE,MAAOA,GAAEF,GAAE,EAAI,IAAGG,EAAE,MAAOA,GAAEH,GAAE,EAAI,IAAII,GAAE,GAAIC,OAAM,uBAAuBL,EAAE,IAAK,MAAMI,GAAEE,KAAK,mBAAmBF,EAAE,GAAIG,GAAEV,EAAEG,IAAIQ,WAAYZ,GAAEI,GAAG,GAAGS,KAAKF,EAAEC,QAAQ,SAASb,GAAG,GAAIE,GAAED,EAAEI,GAAG,GAAGL,EAAG,OAAOI,GAAEF,GAAIF,IAAIY,EAAEA,EAAEC,QAAQb,EAAEC,EAAEC,EAAEC,GAAG,MAAOD,GAAEG,GAAGQ,QAAkD,IAAI,GAA1CL,GAAkB,kBAATX,IAAqBA,EAAgBQ,EAAE,EAAEA,EAAEF,EAAEY,OAAOV,IAAID,EAAED,EAAEE,GAAI,OAAOD,KAAKY,GAAG,SAASnB,EAAQoB,EAAOJ,GACvhB,YAUA,SAASK,GAAaC,GACrB,GAAIC,GAAiC,aAAvBC,EAAOC,YACjBC,GACHC,SAAUJ,EAAU,SAAW,UAEhCD,GAAKM,QAAQC,eAAeH,GA6C7B,QAASI,GAAcC,EAAIC,EAAeC,GACzC,MAAO,YACN,GAAIC,GAAQC,KAAKD,MAAME,OACnBC,EAAwC,UAA9BF,KAAKG,aAAa,SAAqD,YAA9BH,KAAKG,aAAa,SAAyBH,KAAKE,QACnGE,EAAeF,IAAYH,IAAUF,GAAmC,KAAlBA,GAA0C,KAAlBA,GAAwBE,EAAMhB,OAAS,EAExHa,GAAGS,MAAMC,QADNR,EACgBM,EAAe,GAAK,OAEpBA,EAAe,OAAS,IAK9C,QAASG,KACR,GAAIC,GAAQR,KACRS,EAAWD,EAAMrB,KAAKuB,iBAAiB,kCACvCC,GAAaH,EAAML,aAAa,SAAW,IAAIS,iBAEhDC,QAAQ/B,KAAK2B,EAAU,SAAUb,GACnC,GAAIE,KAASF,EAAGO,aAAa,gBACzBW,EAAahB,EAAOF,EAAGO,aAAa,gBAAgBY,MAAM,KAAOnB,EAAGO,aAAa,gBAAgBY,MAAM,KACvGC,EAAgBF,EAAW,GAC3BG,EAAiBH,EAAW,IAAM,EAEtC,IAAIH,IAAcK,EAAcJ,cAAhC,CAIejB,EAAcC,EAAIqB,EAAgBnB,GACxChB,KAAK0B,MArFhB,GAAIU,GAAQC,OAAOD,UACfE,EAAQvD,EAAQ,SAChBwD,EAAQxD,EAAQ,oBAChBwB,EAAS8B,OAAOG,sBAsHpB,IAhCAF,EAAMG,SAASC,MAAMC,GAAG,QAAS,8DAA+DlB,GAChGa,EAAMG,SAASC,MAAMC,GAAG,SAAU,8DAA+DlB,GACjGY,OAAOO,iBAAiB,OAAQ,cAC5Bb,QAAQ/B,KAAKyC,SAASb,iBAAiB,+DAAgE,SAAUd,GACnHW,EAA0BzB,KAAKc,OAKjCwB,EAAMG,SAASC,MAAMC,GAAG,SAAU,cAAe,SAAUE,GAC1D,GAAIxC,GAAOkC,EAAMO,aAAaD,EAAME,QAAUF,EAAMG,WACpDT,GAAMU,QAAQ,UAAW5C,EAAMwC,IAC/BN,EAAMU,QAAQ5C,EAAK6C,GAAK,WAAY7C,EAAMwC,MAG3CP,EAAMG,SAASC,MAAMC,GAAG,QAAS,cAAe,SAAUE,GACzD,GAAIxC,GAAOkC,EAAMO,aAAaD,EAAME,QAAUF,EAAMG,WAE/C3C,GAAK8C,UACTZ,EAAMU,QAAQ,WAAY5C,EAAMwC,IAChCN,EAAMU,QAAQ5C,EAAK6C,GAAK,YAAa7C,EAAMwC,IAC3CxC,EAAK8C,SAAU,KAIjBb,EAAMG,SAASC,MAAMC,GAAG,SAAU,cAAe,SAAUE,GAC1D,GAAIxC,GAAOkC,EAAMO,aAAaD,EAAME,QAAUF,EAAMG,WACpDT,GAAMU,QAAQ,UAAW5C,EAAMwC,IAC/BN,EAAMU,QAAQ5C,EAAK6C,GAAK,WAAY7C,EAAMwC,MAIvCT,EAAMgB,UAAW,CAEpB,IAAK,GADDA,GAAYhB,EAAMgB,UACb1D,EAAI,EAAGA,EAAI0D,EAAUnD,OAAQP,IACrC6C,EAAMI,GAAGS,EAAU1D,GAAGmD,MAAOO,EAAU1D,GAAG2D,gBAIpCjB,GAAiB,UAOzB,GAHAA,EAAMG,MAAQA,EAGVhC,EAAO+C,eAAgB,CAC1B,GAAIC,GAAahD,EAAO+C,eACpB3C,EAAU8B,SAASe,eAAeD,EAAWE,YAC7CpD,EAAOkC,EAAMO,aAAanC,IA5H/B,SAA2BN,EAAMqD,EAAQC,EAAQC,GAChD,GAAIC,GAAapB,SAASC,KAAKoB,aAC3BC,EAAYC,KAAKC,KAGjBN,IACHtD,EAAK6D,QAAQN,GAGVrD,EAAOC,aACVJ,EAAaC,GAIdgC,OAAOO,iBAAiB,OAAQ,WAC/B,GAAIuB,GAAcH,KAAKC,MAAQF,CAI3BxD,GAAOC,aAAe2D,EAAc,KAAO1B,SAASC,KAAKoB,cAAgBD,GAC5EzD,EAAaC,GAIdkC,EAAMU,QAAQ,aAAc5C,IAC5BkC,EAAMU,QAAQ5C,EAAK6C,GAAK,cAAe7C,IAEnCsD,GACHpB,EAAMU,QAAQ,SAAU5C,EAAMsD,IAC9BpB,EAAMU,QAAQ5C,EAAK6C,GAAK,UAAW7C,EAAMsD,MAGzCpB,EAAMU,QAAQ,WAAY5C,EAAMuD,IAChCrB,EAAMU,QAAQ5C,EAAK6C,GAAK,YAAa7C,EAAMuD,IAG3CrB,EAAMU,QAAQS,EAAS,KAAMrD,EAAMuD,IACnCrB,EAAMU,QAAQ5C,EAAK6C,GAAK,IAAMQ,EAAS,KAAMrD,EAAMuD,QAyFnCvD,EAAMkD,EAAWG,OAAQH,EAAWI,OAAQJ,EAAWK,MAI1EvB,OAAOD,MAAQA,IAEZgC,mBAAmB,EAAEC,MAAQ,IAAIC,GAAG,SAASvF,EAAQoB,EAAOJ,GAC/D,YAEA,IAAIwE,GAAYxF,EAAQ,kBACpByF,EAAWzF,EAAQ,eAEnB0F,EAAO,SAAcvB,EAAIvC,GAC5BO,KAAKgC,GAAKA,EACVhC,KAAKP,QAAUA,GAAW8B,SAASiC,cAAc,QACjDxD,KAAKyD,KAAOzD,KAAKP,QAAQU,aAAa,cAAgB,SAAWH,KAAKgC,GACtEhC,KAAKyC,UACLzC,KAAKiC,SAAU,EAGhBsB,GAAKG,UAAUV,QAAU,SAAUN,GAClC,IACCY,EAAStD,KAAKP,QAASiD,GACtB,MAAO1E,GACR2F,QAAQC,MAAM5F,KAIhBuF,EAAKG,UAAUG,QAAU,WACxB,MAAOR,GAAUrD,KAAKP,SAAWqE,MAAM,KAGxCP,EAAKG,UAAUK,kBAAoB,WAClC,MAAOV,GAAUrD,KAAKP,UAGvB8D,EAAKG,UAAUM,YAAc,SAAUC,GACtCjE,KAAKP,QAAQyE,cAAc,mBAAmBC,UAAYF,GAI3DV,EAAKG,UAAUU,MAAQ,WACtBpE,KAAKgE,YAAY,IACjBhE,KAAKP,QAAQyE,cAAc,sBAAsB7D,MAAMC,QAAU,GACjEN,KAAKP,QAAQ2E,SAGdnF,EAAOJ,QAAU0E,IAEdc,iBAAiB,EAAEC,cAAc,IAAIC,GAAG,SAAS1G,EAAQoB,EAAOJ,GACnE,YAaA,SAAS2F,GAAIC,GAGZ,IAAK,GAAIjG,GAAI,EAAGA,EAAI6C,EAAMtC,OAAQP,IACjC,GAAI6C,EAAM7C,GAAGwD,IAAMyC,EAClB,MAAOpD,GAAM7C,EAMf,OAAOkG,GADWnD,SAAS2C,cAAc,eAAiBO,GACpBA,GAIvC,QAAS7C,GAAanC,GAGrB,IAAK,GAFDkF,GAAclF,EAAQN,MAAQM,EAEzBjB,EAAI,EAAGA,EAAI6C,EAAMtC,OAAQP,IACjC,GAAI6C,EAAM7C,GAAGiB,SAAWkF,EACvB,MAAOtD,GAAM7C,EAIf,OAAOkG,GAAkBC,GAI1B,QAASD,GAAkBC,EAAa3C,GACvCA,EAAKA,GAAM4C,SAASD,EAAYxE,aAAa,aAAe,CAC5D,IAAIhB,GAAO,GAAIoE,GAAKvB,EAAI2C,EAExB,OADAtD,GAAMwD,KAAK1F,GACJA,EAGR,QAAS2F,KACR,MAAOzD,GA7CR,GAAI0D,GAAelH,EAAQ,wBACvB0F,EAAO1F,EAAQ,aAGfmH,EAAS,GAAID,GACb1D,IA2CJpC,GAAOJ,SACNiG,IAAOA,EACPN,IAAOA,EACP5C,aAAgBA,EAChBH,GAAMuD,EAAOvD,GAAGwD,KAAKD,GACrBjD,QAAWiD,EAAOjD,QAAQkD,KAAKD,GAC/BE,IAAOF,EAAOE,IAAID,KAAKD,MAGrBG,YAAY,EAAEC,uBAAuB,IAAIC,GAAG,SAASxH,EAAQoB,EAAOJ,GAyBvE,QAASwE,GAAUlE,EAAMmG,GACC,gBAAXA,GACPA,GAAYxB,OAAQwB,OAEExH,KAAjBwH,EAAQxB,OACbwB,EAAQxB,MAAO,EAWnB,KAAK,GARDyB,GAAUD,EAAY,QAAS,GAC/BE,EAAaF,EAAQE,aAAgBF,EAAY,KAAIG,EAAkBC,GAEvEjF,EAAWtB,GAAQA,EAAKsB,SAAWtB,EAAKsB,YAGxCkF,EAAcC,OAAOC,OAAO,MAEvBrH,EAAE,EAAIA,EAAEiC,EAAS1B,SAAWP,EAAG,CACpC,GAAIiB,GAAUgB,EAASjC,EAGvB,KAAM8G,EAAQQ,WAAYrG,EAAQqG,WAAcrG,EAAQgE,OAInDsC,EAAoBC,KAAKvG,EAAQwG,YAClCC,EAAcF,KAAKvG,EAAQ0G,OAD/B,CAKA,GAAIC,GAAM3G,EAAQgE,KACd4C,EAAM5G,EAAQM,KASlB,IALsB,aAAjBN,EAAQ0G,MAAwC,UAAjB1G,EAAQ0G,MAAsB1G,EAAQS,UACtEmG,MAAMvI,IAINwH,EAAQgB,OAiBR,GAfqB,aAAjB7G,EAAQ0G,MAAwB1G,EAAQS,UACxCmG,EAAM,IAIW,UAAjB5G,EAAQ0G,OACHR,EAAYlG,EAAQgE,OAAUhE,EAAQS,QAGlCT,EAAQS,UACbyF,EAAYlG,EAAQgE,OAAQ,GAH5BkC,EAAYlG,EAAQgE,OAAQ,IAQ/B4C,GAAuB,SAAhB5G,EAAQ0G,KAChB,aAKJ,KAAKE,EACD,QAKR,IAAqB,oBAAjB5G,EAAQ0G,KAkCZZ,EAASC,EAAWD,EAAQa,EAAKC,OAlCjC,CACIA,IAIA,KAAK,GAFDE,GAAgB9G,EAAQ6F,QACxBkB,GAAoB,EACfC,EAAE,EAAIA,EAAEF,EAAcxH,SAAW0H,EAAG,CACzC,GAAIC,GAASH,EAAcE,GACvBE,EAAerB,EAAQgB,QAAUI,EAAO3G,MACxC6G,EAAYF,EAAO3G,OAAS4G,CAC5BD,GAAOG,UAAYD,IACnBJ,GAAoB,EAQhBjB,EADAD,EAAQxB,MAAsC,OAA9BsC,EAAIU,MAAMV,EAAIrH,OAAS,GAC9ByG,EAAWD,EAAQa,EAAM,KAAMM,EAAO3G,OAGtCyF,EAAWD,EAAQa,EAAKM,EAAO3G,SAM/CyG,GAAqBlB,EAAQgB,QAC9Bf,EAASC,EAAWD,EAAQa,EAAK,OAU7C,GAAId,EAAQgB,MACR,IAAK,GAAIF,KAAOT,GACPA,EAAYS,KACbb,EAASC,EAAWD,EAAQa,EAAK,IAK7C,OAAOb,GAGX,QAASwB,GAAWC,GAChB,GAAIC,MACAC,EAAS,cACTC,EAAW,GAAIC,QAAOC,GACtBC,EAAQJ,EAAOK,KAAKP,EAMxB,KAJIM,EAAM,IACNL,EAAKpC,KAAKyC,EAAM,IAGuB,QAAnCA,EAAQH,EAASI,KAAKP,KAC1BC,EAAKpC,KAAKyC,EAAM,GAGpB,OAAOL,GAGX,QAASO,GAAYjC,EAAQ0B,EAAMlH,GAC/B,GAAoB,IAAhBkH,EAAKlI,OAEL,MADAwG,GAASxF,CAIb,IAAIqG,GAAMa,EAAKQ,QACXC,EAAUtB,EAAIkB,MAAM,cAExB,IAAY,OAARlB,EAgBA,MAfAb,GAASA,MAELoC,MAAMC,QAAQrC,GACdA,EAAOV,KAAK2C,EAAY,KAAMP,EAAMlH,KAQpCwF,EAAOsC,QAAUtC,EAAOsC,YACxBtC,EAAOsC,QAAQhD,KAAK2C,EAAY,KAAMP,EAAMlH,KAGzCwF,CAIX,IAAKmC,EAGA,CACD,GAAIV,GAASU,EAAQ,GAIjBI,GAASd,CAITe,OAAMD,IACNvC,EAASA,MACTA,EAAOyB,GAAUQ,EAAYjC,EAAOyB,GAASC,EAAMlH,KAGnDwF,EAASA,MACTA,EAAOuC,GAASN,EAAYjC,EAAOuC,GAAQb,EAAMlH,QAjBrDwF,GAAOa,GAAOoB,EAAYjC,EAAOa,GAAMa,EAAMlH,EAqBjD,OAAOwF,GAIX,QAASE,GAAgBF,EAAQa,EAAKrG,GAMlC,GALcqG,EAAIkB,MAAMD,GAOpBG,EAAYjC,EADDwB,EAAWX,GACIrG,OAEzB,CAED,GAAIiI,GAAWzC,EAAOa,EAQlB4B,IACKL,MAAMC,QAAQI,KACfzC,EAAOa,IAAS4B,IAGpBzC,EAAOa,GAAKvB,KAAK9E,IAGjBwF,EAAOa,GAAOrG,EAItB,MAAOwF,GAIX,QAASG,GAAcH,EAAQa,EAAKrG,GAOhC,MALAA,GAAQA,EAAMkI,QAAQ,WAAY,QAClClI,EAAQmI,mBAAmBnI,GAG3BA,EAAQA,EAAMkI,QAAQ,OAAQ,KACvB1C,GAAUA,EAAS,IAAM,IAAM2C,mBAAmB9B,GAAO,IAAMrG,EA3P1E,GAAImG,GAAgB,wCAGhBH,EAAsB,qCAGtBsB,EAAW,iBAwPfpI,GAAOJ,QAAUwE,OAEX8E,GAAG,SAAStK,EAAQoB,EAAOJ,IAmCjC,WAOI,QAASuJ,GAAUjF,EAAOgD,EAAMhE,GAI5B,GAAIkG,GAAqB,QAARlC,GAA0B,SAARA,CACnChD,GAAM1D,QAAQiC,iBAAiByE,EAAMhE,EAAUkG,GAGnD,QAASC,GAAQtK,GACbA,EAAEuK,iBACFvK,EAAEwK,kBASN,QAASC,GAAYhJ,GACjB,MAAIiJ,KAKAA,EADAjJ,EAAQkJ,QACGlJ,EAAQkJ,QAInBlJ,EAAQmJ,sBACGnJ,EAAQmJ,sBAInBnJ,EAAQoJ,mBACGpJ,EAAQoJ,mBAInBpJ,EAAQqJ,kBACGrJ,EAAQqJ,kBAInBrJ,EAAQsJ,iBACGtJ,EAAQsJ,iBAMZ3H,EAAM4H,iBAYrB,QAASC,GAAiBxJ,EAASyJ,EAAUC,GAGzC,GAAgB,SAAZD,EACA,MAAOC,EAKX,IAAI1J,IAAY0J,EAKhB,MAAIV,GAAYhJ,GAASX,KAAKW,EAASyJ,GAC5BzJ,EAQPA,EAAQ2J,YACRC,IACOJ,EAAiBxJ,EAAQ2J,WAAYF,EAAUC,QAF1D,GAMJ,QAASG,GAAYnG,EAAOxB,EAAOuH,EAAU/G,GACpCoH,EAAUpG,EAAMnB,MACjBuH,EAAUpG,EAAMnB,QAGfuH,EAAUpG,EAAMnB,IAAIL,KACrB4H,EAAUpG,EAAMnB,IAAIL,OAGnB4H,EAAUpG,EAAMnB,IAAIL,GAAOuH,KAC5BK,EAAUpG,EAAMnB,IAAIL,GAAOuH,OAG/BK,EAAUpG,EAAMnB,IAAIL,GAAOuH,GAAUrE,KAAK1C,GAG9C,QAASqH,GAAerG,EAAOxB,EAAOuH,EAAU/G,GAI5C,GAAKoH,EAAUpG,EAAMnB,IAMrB,GAAKL,EAAL,CAWA,IAAKQ,IAAa+G,EAEd,YADAK,EAAUpG,EAAMnB,IAAIL,MAOxB,KAAKQ,EAED,kBADOoH,GAAUpG,EAAMnB,IAAIL,GAAOuH,EAOtC,IAAKK,EAAUpG,EAAMnB,IAAIL,GAAOuH,GAMhC,IAAK,GAAI1K,GAAI,EAAGA,EAAI+K,EAAUpG,EAAMnB,IAAIL,GAAOuH,GAAUnK,OAAQP,IAC7D,GAAI+K,EAAUpG,EAAMnB,IAAIL,GAAOuH,GAAU1K,KAAO2D,EAAU,CACtDoH,EAAUpG,EAAMnB,IAAIL,GAAOuH,GAAUO,OAAOjL,EAAG,EAC/C,YAnCJ,KAAK,GAAI2H,KAAQoD,GAAUpG,EAAMnB,IACzBuH,EAAUpG,EAAMnB,IAAI0H,eAAevD,KACnCoD,EAAUpG,EAAMnB,IAAImE,OAsCpC,QAASwD,GAAa3H,EAAIhE,EAAGmI,GACzB,GAAKoD,EAAUvH,GAAImE,GAAnB,CAIA,GACI+C,GACA5B,EAFAzF,EAAS7D,EAAE6D,QAAU7D,EAAE8D,WAGvB6G,KACAnK,EAAI,EACJiI,EAAI,CAGR4C,GAAS,CACT,KAAKH,IAAYK,GAAUvH,GAAImE,GACvBoD,EAAUvH,GAAImE,GAAMuD,eAAeR,KACnC5B,EAAQ2B,EAAiBpH,EAAQqH,EAAUU,EAAgB5H,GAAIvC,WAElD2B,EAAMyI,aAAa1D,EAAMyD,EAAgB5H,GAAIvC,QAAS6H,EAAmB,SAAZ4B,EAAqBlL,KAC3FqL,IACAE,EAAUvH,GAAImE,GAAM+C,GAAU5B,MAAQA,EACtCqB,EAAQU,GAAUE,EAAUvH,GAAImE,GAAM+C,GAWlD,KAJAlL,EAAEwK,gBAAkB,WAChBxK,EAAE8L,cAAe,GAGhBtL,EAAI,EAAGA,GAAK6K,EAAQ7K,IACrB,GAAImK,EAAQnK,GACR,IAAKiI,EAAI,EAAGA,EAAIkC,EAAQnK,GAAGO,OAAQ0H,IAAK,CACpC,IAAgD,IAA5CkC,EAAQnK,GAAGiI,GAAG3H,KAAK6J,EAAQnK,GAAG8I,MAAOtJ,GAErC,WADAoD,GAAM2I,OAAO/L,EAIjB,IAAIA,EAAE8L,aACF,SAgBpB,QAASE,GAAMhF,EAAQkE,EAAU/G,EAAU8H,GAIvC,GAAKjK,KAAKP,QAAV,CAIMuF,YAAkB2C,SACpB3C,GAAUA,IAGT7C,GAAgC,kBAAd,KACnBA,EAAW+G,EACXA,EAAW,QAGf,IACI1K,GADAwD,EAAKhC,KAAKgC,EASd,KAAKxD,EAAI,EAAGA,EAAIwG,EAAOjG,OAAQP,IACvByL,EACAT,EAAexJ,KAAMgF,EAAOxG,GAAI0K,EAAU/G,IAIzCoH,EAAUvH,IAAQuH,EAAUvH,GAAIgD,EAAOxG,KACxC4C,EAAM8I,SAASlK,KAAMgF,EAAOxG,GAbpC,SAA4B2H,GACxB,MAAO,UAASnI,GACZ2L,EAAa3H,EAAIhE,EAAGmI,KAW+BnB,EAAOxG,KAG9D8K,EAAYtJ,KAAMgF,EAAOxG,GAAI0K,EAAU/G,GAG3C,OAAOnC,OAQX,QAASoB,GAAM3B,EAASuC,GAGpB,KAAMhC,eAAgBoB,IAAQ,CAM1B,IAAK,GAAIgF,KAAOwD,GACZ,GAAIA,EAAgBxD,GAAK3G,UAAYA,EACjC,MAAOmK,GAAgBxD,EAO/B,OAHA+D,KACAP,EAAgBO,GAAO,GAAI/I,GAAM3B,EAAS0K,GAEnCP,EAAgBO,GAG3BnK,KAAKP,QAAUA,EACfO,KAAKgC,GAAKA,EAnSd,GAAI0G,GACAW,EAAS,EACTc,EAAM,EACNZ,KACAK,IA0SJxI,GAAMsC,UAAUjC,GAAK,SAASuD,EAAQkE,EAAU/G,GAC5C,MAAO6H,GAAMlL,KAAKkB,KAAMgF,EAAQkE,EAAU/G,IAW9Cf,EAAMsC,UAAUwB,IAAM,SAASF,EAAQkE,EAAU/G,GAC7C,MAAO6H,GAAMlL,KAAKkB,KAAMgF,EAAQkE,EAAU/G,GAAU,IAGxDf,EAAM4H,gBAAkB,aACxB5H,EAAM2I,OAASzB,EACflH,EAAM8I,SAAW9B,EACjBhH,EAAMyI,aAAe,WACjB,OAAO,OAGW,KAAX5K,GAA0BA,EAAOJ,UACxCI,EAAOJ,QAAUuC,GAGrBD,OAAOC,MAAQA,UAGbgJ,GAAG,SAASvM,EAAQoB,EAAOJ,IAE/B,SAASwL,GASV,GAAI/G,GAAW,SAAUnE,EAAMuD,EAAM4H,GAEpC,IAAI,GAAIlE,KAAO1D,GAEd,GAAMA,EAAKgH,eAAgBtD,GAA3B,CAIA,GAAI3C,GAAO2C,EACPrG,EAAQ2C,EAAK0D,EAejB,QAbyB,KAAuBrG,IACvBA,EAAQ,IAGR,OAASA,IACTA,EAAQ,QAIT,KAAf,IACR0D,EAAO6G,EAAW,IAAMlE,EAAM,KAG5BrG,EAAMwK,cAAgB5C,MACxBlE,GAAQ,SACF,IAAmB,gBAAT1D,GAAmB,CACnCuD,EAAUnE,EAAMY,EAAO0D,EACvB,UAID,GAAIhE,GAAUN,EAAKsB,SAAS+J,UAAW/G,EACvC,IAAMhE,EAAN,CAIA,GAAI0G,GAAO1G,EAAQ0G,MAAQ1G,EAAQ,GAAG0G,IAEtC,QAAOA,GACN,QACC1G,EAAQM,MAAQA,CAChB,MAED,KAAK,QACL,IAAK,WACJ,IAAK,GAAI0G,GAAE,EAAGA,EAAIhH,EAAQV,OAAQ0H,IACjChH,EAAQgH,GAAGvG,QAAYH,EAAM0K,QAAQhL,EAAQgH,GAAG1G,QAAU,CAE3D,MAED,KAAK,kBAGJ,IAAI,GAFA2K,GAAS3K,EAAMwK,aAAe5C,MAAQ5H,GAASA,GAE3C4K,EAAI,EAAGA,EAAIlL,EAAQ6F,QAAQvG,OAAQ4L,IAC1ClL,EAAQ6F,QAAQqF,GAAG9D,UAAa6D,EAAOD,QAAQhL,EAAQ6F,QAAQqF,GAAG5K,QAAU,CAE7E,MAED,KAAK,SACL,IAAK,aACJN,EAAQM,MAAQA,EAAM6K,YAAc7K,CACpC,MACD,KAAK,OACKN,EAAQM,MAAQ,GAAI+C,MAAK/C,GAAO8K,cAAc9J,MAAM,KAAK,MAShD,mBAAVhD,IAA6C,gBAAdA,GAAO+M,KAAmB/M,EAAO+M,IAC3E/M,EAAO,WACN,MAAOuF,SAEqB,KAAXrE,GAA0BA,EAAOJ,QACnDI,EAAOJ,QAAUyE,EAEjB+G,EAAK/G,SAAWA,GAGhBtD,WAEI+K,GAAG,SAASlN,EAAQoB,EAAOJ,IAQ/B,SAAUA,GACR,YAQA,SAASkG,MAcT,QAASiG,GAAgB9I,EAAW+I,GAEhC,IADA,GAAIzM,GAAI0D,EAAUnD,OACXP,KACH,GAAI0D,EAAU1D,GAAGyM,WAAaA,EAC1B,MAAOzM,EAIf,QAAQ,EAUZ,QAAS0M,GAAMzH,GACX,MAAO,YACH,MAAOzD,MAAKyD,GAAM0H,MAAMnL,KAAMoL,YAsEtC,QAASC,GAAiBJ,GACtB,MAAwB,kBAAbA,IAA2BA,YAAoB7D,YAE/C6D,GAAgC,gBAAbA,KACnBI,EAAgBJ,EAASA,UAzGxC,GAAIK,GAAQvG,EAAarB,UACrB6H,EAAsB1M,EAAQkG,YA2ClCuG,GAAME,aAAe,SAAsBC,GACvC,GACIC,GACAtF,EAFApB,EAAShF,KAAK2L,YAMlB,IAAIF,YAAerE,QAAQ,CACvBsE,IACA,KAAKtF,IAAOpB,GACJA,EAAO0E,eAAetD,IAAQqF,EAAIzF,KAAKI,KACvCsF,EAAStF,GAAOpB,EAAOoB,QAK/BsF,GAAW1G,EAAOyG,KAASzG,EAAOyG,MAGtC,OAAOC,IASXJ,EAAMM,iBAAmB,SAA0B1J,GAC/C,GACI1D,GADAqN,IAGJ,KAAKrN,EAAI,EAAGA,EAAI0D,EAAUnD,OAAQP,GAAK,EACnCqN,EAAchH,KAAK3C,EAAU1D,GAAGyM,SAGpC,OAAOY,IASXP,EAAMQ,qBAAuB,SAA8BL,GACvD,GACIC,GADAxJ,EAAYlC,KAAKwL,aAAaC,EAQlC,OALIvJ,aAAqByF,SACrB+D,KACAA,EAASD,GAAOvJ,GAGbwJ,GAAYxJ,GAuBvBoJ,EAAMS,YAAc,SAAqBN,EAAKR,GAC1C,IAAKI,EAAgBJ,GACjB,KAAM,IAAIe,WAAU,8BAGxB,IAEI5F,GAFAlE,EAAYlC,KAAK8L,qBAAqBL,GACtCQ,EAAwC,gBAAbhB,EAG/B,KAAK7E,IAAOlE,GACJA,EAAUwH,eAAetD,KAAuD,IAA/C4E,EAAgB9I,EAAUkE,GAAM6E,IACjE/I,EAAUkE,GAAKvB,KAAKoH,EAAoBhB,GACpCA,SAAUA,EACViB,MAAM,GAKlB,OAAOlM,OAMXsL,EAAM7J,GAAKyJ,EAAM,eAUjBI,EAAMa,gBAAkB,SAAyBV,EAAKR,GAClD,MAAOjL,MAAK+L,YAAYN,GACpBR,SAAUA,EACViB,MAAM,KAOdZ,EAAMY,KAAOhB,EAAM,mBASnBI,EAAMc,YAAc,SAAqBX,GAErC,MADAzL,MAAKwL,aAAaC,GACXzL,MASXsL,EAAMe,aAAe,SAAsBC,GACvC,IAAK,GAAI9N,GAAI,EAAGA,EAAI8N,EAAKvN,OAAQP,GAAK,EAClCwB,KAAKoM,YAAYE,EAAK9N,GAE1B,OAAOwB,OAWXsL,EAAMiB,eAAiB,SAAwBd,EAAKR,GAChD,GACInD,GACA1B,EAFAlE,EAAYlC,KAAK8L,qBAAqBL,EAI1C,KAAKrF,IAAOlE,GACJA,EAAUwH,eAAetD,KAGV,KAFf0B,EAAQkD,EAAgB9I,EAAUkE,GAAM6E,KAGpC/I,EAAUkE,GAAKqD,OAAO3B,EAAO,EAKzC,OAAO9H,OAMXsL,EAAMpG,IAAMgG,EAAM,kBAYlBI,EAAMkB,aAAe,SAAsBf,EAAKvJ,GAE5C,MAAOlC,MAAKyM,qBAAoB,EAAOhB,EAAKvJ,IAahDoJ,EAAMoB,gBAAkB,SAAyBjB,EAAKvJ,GAElD,MAAOlC,MAAKyM,qBAAoB,EAAMhB,EAAKvJ,IAe/CoJ,EAAMmB,oBAAsB,SAA6BxC,EAAQwB,EAAKvJ,GAClE,GAAI1D,GACAuB,EACA4M,EAAS1C,EAASjK,KAAKuM,eAAiBvM,KAAK+L,YAC7Ca,EAAW3C,EAASjK,KAAK0M,gBAAkB1M,KAAKwM,YAGpD,IAAmB,gBAARf,IAAsBA,YAAerE,QAmB5C,IADA5I,EAAI0D,EAAUnD,OACPP,KACHmO,EAAO7N,KAAKkB,KAAMyL,EAAKvJ,EAAU1D,QAnBrC,KAAKA,IAAKiN,GACFA,EAAI/B,eAAelL,KAAOuB,EAAQ0L,EAAIjN,MAEjB,kBAAVuB,GACP4M,EAAO7N,KAAKkB,KAAMxB,EAAGuB,GAIrB6M,EAAS9N,KAAKkB,KAAMxB,EAAGuB,GAevC,OAAOC,OAYXsL,EAAMuB,YAAc,SAAqBpB,GACrC,GAEIrF,GAFAD,QAAcsF,GACdzG,EAAShF,KAAK2L,YAIlB,IAAa,WAATxF,QAEOnB,GAAOyG,OAEb,IAAIA,YAAerE,QAEpB,IAAKhB,IAAOpB,GACJA,EAAO0E,eAAetD,IAAQqF,EAAIzF,KAAKI,UAChCpB,GAAOoB,cAMfpG,MAAK8M,OAGhB,OAAO9M,OAQXsL,EAAMyB,mBAAqB7B,EAAM,eAcjCI,EAAM0B,UAAY,SAAmBvB,EAAKlM,GACtC,GACI2C,GACA+I,EACAzM,EACA4H,EAJA6G,EAAejN,KAAK8L,qBAAqBL,EAO7C,KAAKrF,IAAO6G,GACR,GAAIA,EAAavD,eAAetD,GAG5B,IAFAlE,EAAY+K,EAAa7G,GAAKU,MAAM,GAE/BtI,EAAI,EAAGA,EAAI0D,EAAUnD,OAAQP,IAG9ByM,EAAW/I,EAAU1D,IAEC,IAAlByM,EAASiB,MACTlM,KAAKuM,eAAed,EAAKR,EAASA,UAG3BA,EAASA,SAASE,MAAMnL,KAAMT,SAExBS,KAAKkN,uBAClBlN,KAAKuM,eAAed,EAAKR,EAASA,SAMlD,OAAOjL,OAMXsL,EAAMvJ,QAAUmJ,EAAM,aAUtBI,EAAM6B,KAAO,SAAc1B,GACvB,GAAIlM,GAAOoI,MAAMjE,UAAUoD,MAAMhI,KAAKsM,UAAW,EACjD,OAAOpL,MAAKgN,UAAUvB,EAAKlM,IAW/B+L,EAAM8B,mBAAqB,SAA4BrN,GAEnD,MADAC,MAAKqN,iBAAmBtN,EACjBC,MAWXsL,EAAM4B,oBAAsB,WACxB,OAAIlN,KAAK0J,eAAe,qBACb1J,KAAKqN,kBAapB/B,EAAMK,WAAa,WACf,MAAO3L,MAAK8M,UAAY9M,KAAK8M,aAQjC/H,EAAauI,WAAa,WAEtB,MADAzO,GAAQkG,aAAewG,EAChBxG,GAIW,kBAAXhH,IAAyBA,EAAO+M,IACvC/M,EAAO,WACH,MAAOgH,KAGY,gBAAX9F,IAAuBA,EAAOJ,QAC1CI,EAAOJ,QAAUkG,EAGjBlG,EAAQkG,aAAeA,GAE7B/E,oBAES","file":"forms-api.min.js","sourcesContent":["(function () { var require = undefined; var define = undefined; (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n'use strict';\n\n// deps & vars\n\nvar mc4wp = window.mc4wp || {};\nvar Gator = require('gator');\nvar forms = require('./forms/forms.js');\nvar config = window.mc4wp_forms_config || {};\n\n// funcs\nfunction scrollToForm(form) {\n\tvar animate = config.auto_scroll === 'animated';\n\tvar args = {\n\t\tbehavior: animate ? \"smooth\" : \"instant\"\n\t};\n\tform.element.scrollIntoView(args);\n}\n\nfunction handleFormRequest(form, action, errors, data) {\n\tvar pageHeight = document.body.clientHeight;\n\tvar timeStart = Date.now();\n\n\t// re-populate form\n\tif (errors) {\n\t\tform.setData(data);\n\t}\n\n\tif (config.auto_scroll) {\n\t\tscrollToForm(form);\n\t}\n\n\t// trigger events on window.load so all other scripts have loaded\n\twindow.addEventListener('load', function () {\n\t\tvar timeElapsed = Date.now() - timeStart;\n\n\t\t// scroll to form again if page height changed since last scroll\n\t\t// (only if load didn't take more than 0.8 seconds to prevent overtaking user scroll)\n\t\tif (config.auto_scroll && timeElapsed < 800 && document.body.clientHeight != pageHeight) {\n\t\t\tscrollToForm(form);\n\t\t}\n\n\t\t// trigger events\n\t\tforms.trigger('submitted', [form]);\n\t\tforms.trigger(form.id + '.submitted', [form]);\n\n\t\tif (errors) {\n\t\t\tforms.trigger('error', [form, errors]);\n\t\t\tforms.trigger(form.id + '.error', [form, errors]);\n\t\t} else {\n\t\t\t// form was successfully submitted\n\t\t\tforms.trigger('success', [form, data]);\n\t\t\tforms.trigger(form.id + '.success', [form, data]);\n\n\t\t\t// subscribed / unsubscribed\n\t\t\tforms.trigger(action + \"d\", [form, data]);\n\t\t\tforms.trigger(form.id + \".\" + action + \"d\", [form, data]);\n\t\t}\n\t});\n}\n\nfunction toggleElement(el, expectedValue, show) {\n\treturn function () {\n\t\tvar value = this.value.trim();\n\t\tvar checked = this.getAttribute('type') !== 'radio' && this.getAttribute('type') !== 'checked' || this.checked;\n\t\tvar conditionMet = checked && (value === expectedValue && expectedValue !== \"\" || expectedValue === \"\" && value.length > 0);\n\t\tif (show) {\n\t\t\tel.style.display = conditionMet ? '' : 'none';\n\t\t} else {\n\t\t\tel.style.display = conditionMet ? 'none' : '';\n\t\t}\n\t};\n}\n\nfunction toggleConditionalElements() {\n\tvar input = this;\n\tvar elements = input.form.querySelectorAll('[data-show-if], [data-hide-if]');\n\tvar inputName = (input.getAttribute('name') || '').toLowerCase();\n\n\t[].forEach.call(elements, function (el) {\n\t\tvar show = !!el.getAttribute('data-show-if');\n\t\tvar conditions = show ? el.getAttribute('data-show-if').split(':') : el.getAttribute('data-hide-if').split(':');\n\t\tvar nameCondition = conditions[0];\n\t\tvar valueCondition = conditions[1] || \"\";\n\n\t\tif (inputName !== nameCondition.toLowerCase()) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar callback = toggleElement(el, valueCondition, show);\n\t\tcallback.call(input);\n\t});\n}\n\nGator(document.body).on('keyup', '.mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select', toggleConditionalElements);\nGator(document.body).on('change', '.mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select', toggleConditionalElements);\nwindow.addEventListener('load', function () {\n\t[].forEach.call(document.querySelectorAll('.mc4wp-form input, .mc4wp-form textarea, .mc4wp-form select'), function (el) {\n\t\ttoggleConditionalElements.call(el);\n\t});\n});\n\n// Bind browser events to form events (using delegation)\nGator(document.body).on('submit', '.mc4wp-form', function (event) {\n\tvar form = forms.getByElement(event.target || event.srcElement);\n\tforms.trigger('submit', [form, event]);\n\tforms.trigger(form.id + '.submit', [form, event]);\n});\n\nGator(document.body).on('focus', '.mc4wp-form', function (event) {\n\tvar form = forms.getByElement(event.target || event.srcElement);\n\n\tif (!form.started) {\n\t\tforms.trigger('started', [form, event]);\n\t\tforms.trigger(form.id + '.started', [form, event]);\n\t\tform.started = true;\n\t}\n});\n\nGator(document.body).on('change', '.mc4wp-form', function (event) {\n\tvar form = forms.getByElement(event.target || event.srcElement);\n\tforms.trigger('change', [form, event]);\n\tforms.trigger(form.id + '.change', [form, event]);\n});\n\n// register early listeners\nif (mc4wp.listeners) {\n\tvar listeners = mc4wp.listeners;\n\tfor (var i = 0; i < listeners.length; i++) {\n\t\tforms.on(listeners[i].event, listeners[i].callback);\n\t}\n\n\t// delete temp listeners array, so we don't bind twice\n\tdelete mc4wp[\"listeners\"];\n}\n\n// expose forms object\nmc4wp.forms = forms;\n\n// handle submitted form\nif (config.submitted_form) {\n\tvar formConfig = config.submitted_form,\n\t element = document.getElementById(formConfig.element_id),\n\t form = forms.getByElement(element);\n\n\thandleFormRequest(form, formConfig.action, formConfig.errors, formConfig.data);\n}\n\n// expose mc4wp object globally\nwindow.mc4wp = mc4wp;\n\n},{\"./forms/forms.js\":3,\"gator\":5}],2:[function(require,module,exports){\n'use strict';\n\nvar serialize = require('form-serialize');\nvar populate = require('populate.js');\n\nvar Form = function Form(id, element) {\n\tthis.id = id;\n\tthis.element = element || document.createElement('form');\n\tthis.name = this.element.getAttribute('data-name') || \"Form #\" + this.id;\n\tthis.errors = [];\n\tthis.started = false;\n};\n\nForm.prototype.setData = function (data) {\n\ttry {\n\t\tpopulate(this.element, data);\n\t} catch (e) {\n\t\tconsole.error(e);\n\t}\n};\n\nForm.prototype.getData = function () {\n\treturn serialize(this.element, { hash: true });\n};\n\nForm.prototype.getSerializedData = function () {\n\treturn serialize(this.element);\n};\n\nForm.prototype.setResponse = function (msg) {\n\tthis.element.querySelector('.mc4wp-response').innerHTML = msg;\n};\n\n// revert back to original state\nForm.prototype.reset = function () {\n\tthis.setResponse('');\n\tthis.element.querySelector('.mc4wp-form-fields').style.display = '';\n\tthis.element.reset();\n};\n\nmodule.exports = Form;\n\n},{\"form-serialize\":4,\"populate.js\":6}],3:[function(require,module,exports){\n'use strict';\n\n// deps\n\nvar EventEmitter = require('wolfy87-eventemitter');\nvar Form = require('./form.js');\n\n// variables\nvar events = new EventEmitter();\nvar forms = [];\n\n// get form by its id\n// please note that this will get the FIRST occurence of the form with that ID on the page\nfunction get(formId) {\n\n\t// do we have form for this one already?\n\tfor (var i = 0; i < forms.length; i++) {\n\t\tif (forms[i].id == formId) {\n\t\t\treturn forms[i];\n\t\t}\n\t}\n\n\t// try to create from first occurence of this element\n\tvar formElement = document.querySelector('.mc4wp-form-' + formId);\n\treturn createFromElement(formElement, formId);\n}\n\n// get form by <form> element (or any input in form)\nfunction getByElement(element) {\n\tvar formElement = element.form || element;\n\n\tfor (var i = 0; i < forms.length; i++) {\n\t\tif (forms[i].element == formElement) {\n\t\t\treturn forms[i];\n\t\t}\n\t}\n\n\treturn createFromElement(formElement);\n}\n\n// create form object from <form> element\nfunction createFromElement(formElement, id) {\n\tid = id || parseInt(formElement.getAttribute('data-id')) || 0;\n\tvar form = new Form(id, formElement);\n\tforms.push(form);\n\treturn form;\n}\n\nfunction all() {\n\treturn forms;\n}\n\nmodule.exports = {\n\t\"all\": all,\n\t\"get\": get,\n\t\"getByElement\": getByElement,\n\t\"on\": events.on.bind(events),\n\t\"trigger\": events.trigger.bind(events),\n\t\"off\": events.off.bind(events)\n};\n\n},{\"./form.js\":2,\"wolfy87-eventemitter\":7}],4:[function(require,module,exports){\n// get successful control from form and assemble into object\n// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2\n\n// types which indicate a submit action and are not successful controls\n// these will be ignored\nvar k_r_submitter = /^(?:submit|button|image|reset|file)$/i;\n\n// node names which could be successful controls\nvar k_r_success_contrls = /^(?:input|select|textarea|keygen)/i;\n\n// Matches bracket notation.\nvar brackets = /(\\[[^\\[\\]]*\\])/g;\n\n// serializes form fields\n// @param form MUST be an HTMLForm element\n// @param options is an optional argument to configure the serialization. Default output\n// with no options specified is a url encoded string\n// - hash: [true | false] Configure the output type. If true, the output will\n// be a js object.\n// - serializer: [function] Optional serializer function to override the default one.\n// The function takes 3 arguments (result, key, value) and should return new result\n// hash and url encoded str serializers are provided with this module\n// - disabled: [true | false]. If true serialize disabled fields.\n// - empty: [true | false]. If true serialize empty fields\nfunction serialize(form, options) {\n if (typeof options != 'object') {\n options = { hash: !!options };\n }\n else if (options.hash === undefined) {\n options.hash = true;\n }\n\n var result = (options.hash) ? {} : '';\n var serializer = options.serializer || ((options.hash) ? hash_serializer : str_serialize);\n\n var elements = form && form.elements ? form.elements : [];\n\n //Object store each radio and set if it's empty or not\n var radio_store = Object.create(null);\n\n for (var i=0 ; i<elements.length ; ++i) {\n var element = elements[i];\n\n // ingore disabled fields\n if ((!options.disabled && element.disabled) || !element.name) {\n continue;\n }\n // ignore anyhting that is not considered a success field\n if (!k_r_success_contrls.test(element.nodeName) ||\n k_r_submitter.test(element.type)) {\n continue;\n }\n\n var key = element.name;\n var val = element.value;\n\n // we can't just use element.value for checkboxes cause some browsers lie to us\n // they say \"on\" for value when the box isn't checked\n if ((element.type === 'checkbox' || element.type === 'radio') && !element.checked) {\n val = undefined;\n }\n\n // If we want empty elements\n if (options.empty) {\n // for checkbox\n if (element.type === 'checkbox' && !element.checked) {\n val = '';\n }\n\n // for radio\n if (element.type === 'radio') {\n if (!radio_store[element.name] && !element.checked) {\n radio_store[element.name] = false;\n }\n else if (element.checked) {\n radio_store[element.name] = true;\n }\n }\n\n // if options empty is true, continue only if its radio\n if (!val && element.type == 'radio') {\n continue;\n }\n }\n else {\n // value-less fields are ignored unless options.empty is true\n if (!val) {\n continue;\n }\n }\n\n // multi select boxes\n if (element.type === 'select-multiple') {\n val = [];\n\n var selectOptions = element.options;\n var isSelectedOptions = false;\n for (var j=0 ; j<selectOptions.length ; ++j) {\n var option = selectOptions[j];\n var allowedEmpty = options.empty && !option.value;\n var hasValue = (option.value || allowedEmpty);\n if (option.selected && hasValue) {\n isSelectedOptions = true;\n\n // If using a hash serializer be sure to add the\n // correct notation for an array in the multi-select\n // context. Here the name attribute on the select element\n // might be missing the trailing bracket pair. Both names\n // \"foo\" and \"foo[]\" should be arrays.\n if (options.hash && key.slice(key.length - 2) !== '[]') {\n result = serializer(result, key + '[]', option.value);\n }\n else {\n result = serializer(result, key, option.value);\n }\n }\n }\n\n // Serialize if no selected options and options.empty is true\n if (!isSelectedOptions && options.empty) {\n result = serializer(result, key, '');\n }\n\n continue;\n }\n\n result = serializer(result, key, val);\n }\n\n // Check for all empty radio buttons and serialize them with key=\"\"\n if (options.empty) {\n for (var key in radio_store) {\n if (!radio_store[key]) {\n result = serializer(result, key, '');\n }\n }\n }\n\n return result;\n}\n\nfunction parse_keys(string) {\n var keys = [];\n var prefix = /^([^\\[\\]]*)/;\n var children = new RegExp(brackets);\n var match = prefix.exec(string);\n\n if (match[1]) {\n keys.push(match[1]);\n }\n\n while ((match = children.exec(string)) !== null) {\n keys.push(match[1]);\n }\n\n return keys;\n}\n\nfunction hash_assign(result, keys, value) {\n if (keys.length === 0) {\n result = value;\n return result;\n }\n\n var key = keys.shift();\n var between = key.match(/^\\[(.+?)\\]$/);\n\n if (key === '[]') {\n result = result || [];\n\n if (Array.isArray(result)) {\n result.push(hash_assign(null, keys, value));\n }\n else {\n // This might be the result of bad name attributes like \"[][foo]\",\n // in this case the original `result` object will already be\n // assigned to an object literal. Rather than coerce the object to\n // an array, or cause an exception the attribute \"_values\" is\n // assigned as an array.\n result._values = result._values || [];\n result._values.push(hash_assign(null, keys, value));\n }\n\n return result;\n }\n\n // Key is an attribute name and can be assigned directly.\n if (!between) {\n result[key] = hash_assign(result[key], keys, value);\n }\n else {\n var string = between[1];\n // +var converts the variable into a number\n // better than parseInt because it doesn't truncate away trailing\n // letters and actually fails if whole thing is not a number\n var index = +string;\n\n // If the characters between the brackets is not a number it is an\n // attribute name and can be assigned directly.\n if (isNaN(index)) {\n result = result || {};\n result[string] = hash_assign(result[string], keys, value);\n }\n else {\n result = result || [];\n result[index] = hash_assign(result[index], keys, value);\n }\n }\n\n return result;\n}\n\n// Object/hash encoding serializer.\nfunction hash_serializer(result, key, value) {\n var matches = key.match(brackets);\n\n // Has brackets? Use the recursive assignment function to walk the keys,\n // construct any missing objects in the result tree and make the assignment\n // at the end of the chain.\n if (matches) {\n var keys = parse_keys(key);\n hash_assign(result, keys, value);\n }\n else {\n // Non bracket notation can make assignments directly.\n var existing = result[key];\n\n // If the value has been assigned already (for instance when a radio and\n // a checkbox have the same name attribute) convert the previous value\n // into an array before pushing into it.\n //\n // NOTE: If this requirement were removed all hash creation and\n // assignment could go through `hash_assign`.\n if (existing) {\n if (!Array.isArray(existing)) {\n result[key] = [ existing ];\n }\n\n result[key].push(value);\n }\n else {\n result[key] = value;\n }\n }\n\n return result;\n}\n\n// urlform encoding serializer\nfunction str_serialize(result, key, value) {\n // encode newlines as \\r\\n cause the html spec says so\n value = value.replace(/(\\r)?\\n/g, '\\r\\n');\n value = encodeURIComponent(value);\n\n // spaces should be '+' rather than '%20'.\n value = value.replace(/%20/g, '+');\n return result + (result ? '&' : '') + encodeURIComponent(key) + '=' + value;\n}\n\nmodule.exports = serialize;\n\n},{}],5:[function(require,module,exports){\n/**\n * Copyright 2014 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * GATOR.JS\n * Simple Event Delegation\n *\n * @version 1.2.4\n *\n * Compatible with IE 9+, FF 3.6+, Safari 5+, Chrome\n *\n * Include legacy.js for compatibility with older browsers\n *\n * .-._ _ _ _ _ _ _ _ _\n * .-''-.__.-'00 '-' ' ' ' ' ' ' ' '-.\n * '.___ ' . .--_'-' '-' '-' _'-' '._\n * V: V 'vv-' '_ '. .' _..' '.'.\n * '=.____.=_.--' :_.__.__:_ '. : :\n * (((____.-' '-. / : :\n * (((-'\\ .' /\n * _____..' .'\n * '-._____.-'\n */\n(function() {\n var _matcher,\n _level = 0,\n _id = 0,\n _handlers = {},\n _gatorInstances = {};\n\n function _addEvent(gator, type, callback) {\n\n // blur and focus do not bubble up but if you use event capturing\n // then you will get them\n var useCapture = type == 'blur' || type == 'focus';\n gator.element.addEventListener(type, callback, useCapture);\n }\n\n function _cancel(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n /**\n * returns function to use for determining if an element\n * matches a query selector\n *\n * @returns {Function}\n */\n function _getMatcher(element) {\n if (_matcher) {\n return _matcher;\n }\n\n if (element.matches) {\n _matcher = element.matches;\n return _matcher;\n }\n\n if (element.webkitMatchesSelector) {\n _matcher = element.webkitMatchesSelector;\n return _matcher;\n }\n\n if (element.mozMatchesSelector) {\n _matcher = element.mozMatchesSelector;\n return _matcher;\n }\n\n if (element.msMatchesSelector) {\n _matcher = element.msMatchesSelector;\n return _matcher;\n }\n\n if (element.oMatchesSelector) {\n _matcher = element.oMatchesSelector;\n return _matcher;\n }\n\n // if it doesn't match a native browser method\n // fall back to the gator function\n _matcher = Gator.matchesSelector;\n return _matcher;\n }\n\n /**\n * determines if the specified element matches a given selector\n *\n * @param {Node} element - the element to compare against the selector\n * @param {string} selector\n * @param {Node} boundElement - the element the listener was attached to\n * @returns {void|Node}\n */\n function _matchesSelector(element, selector, boundElement) {\n\n // no selector means this event was bound directly to this element\n if (selector == '_root') {\n return boundElement;\n }\n\n // if we have moved up to the element you bound the event to\n // then we have come too far\n if (element === boundElement) {\n return;\n }\n\n // if this is a match then we are done!\n if (_getMatcher(element).call(element, selector)) {\n return element;\n }\n\n // if this element did not match but has a parent we should try\n // going up the tree to see if any of the parent elements match\n // for example if you are looking for a click on an <a> tag but there\n // is a <span> inside of the a tag that it is the target,\n // it should still work\n if (element.parentNode) {\n _level++;\n return _matchesSelector(element.parentNode, selector, boundElement);\n }\n }\n\n function _addHandler(gator, event, selector, callback) {\n if (!_handlers[gator.id]) {\n _handlers[gator.id] = {};\n }\n\n if (!_handlers[gator.id][event]) {\n _handlers[gator.id][event] = {};\n }\n\n if (!_handlers[gator.id][event][selector]) {\n _handlers[gator.id][event][selector] = [];\n }\n\n _handlers[gator.id][event][selector].push(callback);\n }\n\n function _removeHandler(gator, event, selector, callback) {\n\n // if there are no events tied to this element at all\n // then don't do anything\n if (!_handlers[gator.id]) {\n return;\n }\n\n // if there is no event type specified then remove all events\n // example: Gator(element).off()\n if (!event) {\n for (var type in _handlers[gator.id]) {\n if (_handlers[gator.id].hasOwnProperty(type)) {\n _handlers[gator.id][type] = {};\n }\n }\n return;\n }\n\n // if no callback or selector is specified remove all events of this type\n // example: Gator(element).off('click')\n if (!callback && !selector) {\n _handlers[gator.id][event] = {};\n return;\n }\n\n // if a selector is specified but no callback remove all events\n // for this selector\n // example: Gator(element).off('click', '.sub-element')\n if (!callback) {\n delete _handlers[gator.id][event][selector];\n return;\n }\n\n // if we have specified an event type, selector, and callback then we\n // need to make sure there are callbacks tied to this selector to\n // begin with. if there aren't then we can stop here\n if (!_handlers[gator.id][event][selector]) {\n return;\n }\n\n // if there are then loop through all the callbacks and if we find\n // one that matches remove it from the array\n for (var i = 0; i < _handlers[gator.id][event][selector].length; i++) {\n if (_handlers[gator.id][event][selector][i] === callback) {\n _handlers[gator.id][event][selector].splice(i, 1);\n break;\n }\n }\n }\n\n function _handleEvent(id, e, type) {\n if (!_handlers[id][type]) {\n return;\n }\n\n var target = e.target || e.srcElement,\n selector,\n match,\n matches = {},\n i = 0,\n j = 0;\n\n // find all events that match\n _level = 0;\n for (selector in _handlers[id][type]) {\n if (_handlers[id][type].hasOwnProperty(selector)) {\n match = _matchesSelector(target, selector, _gatorInstances[id].element);\n\n if (match && Gator.matchesEvent(type, _gatorInstances[id].element, match, selector == '_root', e)) {\n _level++;\n _handlers[id][type][selector].match = match;\n matches[_level] = _handlers[id][type][selector];\n }\n }\n }\n\n // stopPropagation() fails to set cancelBubble to true in Webkit\n // @see http://code.google.com/p/chromium/issues/detail?id=162270\n e.stopPropagation = function() {\n e.cancelBubble = true;\n };\n\n for (i = 0; i <= _level; i++) {\n if (matches[i]) {\n for (j = 0; j < matches[i].length; j++) {\n if (matches[i][j].call(matches[i].match, e) === false) {\n Gator.cancel(e);\n return;\n }\n\n if (e.cancelBubble) {\n return;\n }\n }\n }\n }\n }\n\n /**\n * binds the specified events to the element\n *\n * @param {string|Array} events\n * @param {string} selector\n * @param {Function} callback\n * @param {boolean=} remove\n * @returns {Object}\n */\n function _bind(events, selector, callback, remove) {\n\n // fail silently if you pass null or undefined as an alement\n // in the Gator constructor\n if (!this.element) {\n return;\n }\n\n if (!(events instanceof Array)) {\n events = [events];\n }\n\n if (!callback && typeof(selector) == 'function') {\n callback = selector;\n selector = '_root';\n }\n\n var id = this.id,\n i;\n\n function _getGlobalCallback(type) {\n return function(e) {\n _handleEvent(id, e, type);\n };\n }\n\n for (i = 0; i < events.length; i++) {\n if (remove) {\n _removeHandler(this, events[i], selector, callback);\n continue;\n }\n\n if (!_handlers[id] || !_handlers[id][events[i]]) {\n Gator.addEvent(this, events[i], _getGlobalCallback(events[i]));\n }\n\n _addHandler(this, events[i], selector, callback);\n }\n\n return this;\n }\n\n /**\n * Gator object constructor\n *\n * @param {Node} element\n */\n function Gator(element, id) {\n\n // called as function\n if (!(this instanceof Gator)) {\n // only keep one Gator instance per node to make sure that\n // we don't create a ton of new objects if you want to delegate\n // multiple events from the same node\n //\n // for example: Gator(document).on(...\n for (var key in _gatorInstances) {\n if (_gatorInstances[key].element === element) {\n return _gatorInstances[key];\n }\n }\n\n _id++;\n _gatorInstances[_id] = new Gator(element, _id);\n\n return _gatorInstances[_id];\n }\n\n this.element = element;\n this.id = id;\n }\n\n /**\n * adds an event\n *\n * @param {string|Array} events\n * @param {string} selector\n * @param {Function} callback\n * @returns {Object}\n */\n Gator.prototype.on = function(events, selector, callback) {\n return _bind.call(this, events, selector, callback);\n };\n\n /**\n * removes an event\n *\n * @param {string|Array} events\n * @param {string} selector\n * @param {Function} callback\n * @returns {Object}\n */\n Gator.prototype.off = function(events, selector, callback) {\n return _bind.call(this, events, selector, callback, true);\n };\n\n Gator.matchesSelector = function() {};\n Gator.cancel = _cancel;\n Gator.addEvent = _addEvent;\n Gator.matchesEvent = function() {\n return true;\n };\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Gator;\n }\n\n window.Gator = Gator;\n}) ();\n\n},{}],6:[function(require,module,exports){\n/*! populate.js v1.0.2 by @dannyvankooten | MIT license */\n;(function(root) {\n\n\t/**\n\t * Populate form fields from a JSON object.\n\t *\n\t * @param form object The form element containing your input fields.\n\t * @param data array JSON data to populate the fields with.\n\t * @param basename string Optional basename which is added to `name` attributes\n\t */\n\tvar populate = function( form, data, basename) {\n\n\t\tfor(var key in data) {\n\n\t\t\tif( ! data.hasOwnProperty( key ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar name = key;\n\t\t\tvar value = data[key];\n\n if ('undefined' === typeof value) {\n value = '';\n }\n\n if (null === value) {\n value = '';\n }\n\n\t\t\t// handle array name attributes\n\t\t\tif(typeof(basename) !== \"undefined\") {\n\t\t\t\tname = basename + \"[\" + key + \"]\";\n\t\t\t}\n\n\t\t\tif(value.constructor === Array) {\n\t\t\t\tname += '[]';\n\t\t\t} else if(typeof value == \"object\") {\n\t\t\t\tpopulate( form, value, name);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// only proceed if element is set\n\t\t\tvar element = form.elements.namedItem( name );\n\t\t\tif( ! element ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar type = element.type || element[0].type;\n\n\t\t\tswitch(type ) {\n\t\t\t\tdefault:\n\t\t\t\t\telement.value = value;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'radio':\n\t\t\t\tcase 'checkbox':\n\t\t\t\t\tfor( var j=0; j < element.length; j++ ) {\n\t\t\t\t\t\telement[j].checked = ( value.indexOf(element[j].value) > -1 );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select-multiple':\n\t\t\t\t\tvar values = value.constructor == Array ? value : [value];\n\n\t\t\t\t\tfor(var k = 0; k < element.options.length; k++) {\n\t\t\t\t\t\telement.options[k].selected |= (values.indexOf(element.options[k].value) > -1 );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'select':\n\t\t\t\tcase 'select-one':\n\t\t\t\t\telement.value = value.toString() || value;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'date':\n \t\t\t\telement.value = new Date(value).toISOString().split('T')[0];\t\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\n\t};\n\n\t// Play nice with AMD, CommonJS or a plain global object.\n\tif ( typeof define == 'function' && typeof define.amd == 'object' && define.amd ) {\n\t\tdefine(function() {\n\t\t\treturn populate;\n\t\t});\n\t}\telse if ( typeof module !== 'undefined' && module.exports ) {\n\t\tmodule.exports = populate;\n\t} else {\n\t\troot.populate = populate;\n\t}\n\n}(this));\n\n},{}],7:[function(require,module,exports){\n/*!\n * EventEmitter v5.1.0 - git.io/ee\n * Unlicense - http://unlicense.org/\n * Oliver Caldwell - http://oli.me.uk/\n * @preserve\n */\n\n;(function (exports) {\n 'use strict';\n\n /**\n * Class for managing events.\n * Can be extended to provide event functionality in other classes.\n *\n * @class EventEmitter Manages event registering and emitting.\n */\n function EventEmitter() {}\n\n // Shortcuts to improve speed and size\n var proto = EventEmitter.prototype;\n var originalGlobalValue = exports.EventEmitter;\n\n /**\n * Finds the index of the listener for the event in its storage array.\n *\n * @param {Function[]} listeners Array of listeners to search through.\n * @param {Function} listener Method to look for.\n * @return {Number} Index of the specified listener, -1 if not found\n * @api private\n */\n function indexOfListener(listeners, listener) {\n var i = listeners.length;\n while (i--) {\n if (listeners[i].listener === listener) {\n return i;\n }\n }\n\n return -1;\n }\n\n /**\n * Alias a method while keeping the context correct, to allow for overwriting of target method.\n *\n * @param {String} name The name of the target method.\n * @return {Function} The aliased method\n * @api private\n */\n function alias(name) {\n return function aliasClosure() {\n return this[name].apply(this, arguments);\n };\n }\n\n /**\n * Returns the listener array for the specified event.\n * Will initialise the event object and listener arrays if required.\n * Will return an object if you use a regex search. The object contains keys for each matched event. So /ba[rz]/ might return an object containing bar and baz. But only if you have either defined them with defineEvent or added some listeners to them.\n * Each property in the object response is an array of listener functions.\n *\n * @param {String|RegExp} evt Name of the event to return the listeners from.\n * @return {Function[]|Object} All listener functions for the event.\n */\n proto.getListeners = function getListeners(evt) {\n var events = this._getEvents();\n var response;\n var key;\n\n // Return a concatenated array of all matching events if\n // the selector is a regular expression.\n if (evt instanceof RegExp) {\n response = {};\n for (key in events) {\n if (events.hasOwnProperty(key) && evt.test(key)) {\n response[key] = events[key];\n }\n }\n }\n else {\n response = events[evt] || (events[evt] = []);\n }\n\n return response;\n };\n\n /**\n * Takes a list of listener objects and flattens it into a list of listener functions.\n *\n * @param {Object[]} listeners Raw listener objects.\n * @return {Function[]} Just the listener functions.\n */\n proto.flattenListeners = function flattenListeners(listeners) {\n var flatListeners = [];\n var i;\n\n for (i = 0; i < listeners.length; i += 1) {\n flatListeners.push(listeners[i].listener);\n }\n\n return flatListeners;\n };\n\n /**\n * Fetches the requested listeners via getListeners but will always return the results inside an object. This is mainly for internal use but others may find it useful.\n *\n * @param {String|RegExp} evt Name of the event to return the listeners from.\n * @return {Object} All listener functions for an event in an object.\n */\n proto.getListenersAsObject = function getListenersAsObject(evt) {\n var listeners = this.getListeners(evt);\n var response;\n\n if (listeners instanceof Array) {\n response = {};\n response[evt] = listeners;\n }\n\n return response || listeners;\n };\n\n function isValidListener (listener) {\n if (typeof listener === 'function' || listener instanceof RegExp) {\n return true\n } else if (listener && typeof listener === 'object') {\n return isValidListener(listener.listener)\n } else {\n return false\n }\n }\n\n /**\n * Adds a listener function to the specified event.\n * The listener will not be added if it is a duplicate.\n * If the listener returns true then it will be removed after it is called.\n * If you pass a regular expression as the event name then the listener will be added to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to attach the listener to.\n * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addListener = function addListener(evt, listener) {\n if (!isValidListener(listener)) {\n throw new TypeError('listener must be a function');\n }\n\n var listeners = this.getListenersAsObject(evt);\n var listenerIsWrapped = typeof listener === 'object';\n var key;\n\n for (key in listeners) {\n if (listeners.hasOwnProperty(key) && indexOfListener(listeners[key], listener) === -1) {\n listeners[key].push(listenerIsWrapped ? listener : {\n listener: listener,\n once: false\n });\n }\n }\n\n return this;\n };\n\n /**\n * Alias of addListener\n */\n proto.on = alias('addListener');\n\n /**\n * Semi-alias of addListener. It will add a listener that will be\n * automatically removed after its first execution.\n *\n * @param {String|RegExp} evt Name of the event to attach the listener to.\n * @param {Function} listener Method to be called when the event is emitted. If the function returns true then it will be removed after calling.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addOnceListener = function addOnceListener(evt, listener) {\n return this.addListener(evt, {\n listener: listener,\n once: true\n });\n };\n\n /**\n * Alias of addOnceListener.\n */\n proto.once = alias('addOnceListener');\n\n /**\n * Defines an event name. This is required if you want to use a regex to add a listener to multiple events at once. If you don't do this then how do you expect it to know what event to add to? Should it just add to every possible match for a regex? No. That is scary and bad.\n * You need to tell it what event names should be matched by a regex.\n *\n * @param {String} evt Name of the event to create.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.defineEvent = function defineEvent(evt) {\n this.getListeners(evt);\n return this;\n };\n\n /**\n * Uses defineEvent to define multiple events.\n *\n * @param {String[]} evts An array of event names to define.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.defineEvents = function defineEvents(evts) {\n for (var i = 0; i < evts.length; i += 1) {\n this.defineEvent(evts[i]);\n }\n return this;\n };\n\n /**\n * Removes a listener function from the specified event.\n * When passed a regular expression as the event name, it will remove the listener from all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to remove the listener from.\n * @param {Function} listener Method to remove from the event.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeListener = function removeListener(evt, listener) {\n var listeners = this.getListenersAsObject(evt);\n var index;\n var key;\n\n for (key in listeners) {\n if (listeners.hasOwnProperty(key)) {\n index = indexOfListener(listeners[key], listener);\n\n if (index !== -1) {\n listeners[key].splice(index, 1);\n }\n }\n }\n\n return this;\n };\n\n /**\n * Alias of removeListener\n */\n proto.off = alias('removeListener');\n\n /**\n * Adds listeners in bulk using the manipulateListeners method.\n * If you pass an object as the second argument you can add to multiple events at once. The object should contain key value pairs of events and listeners or listener arrays. You can also pass it an event name and an array of listeners to be added.\n * You can also pass it a regular expression to add the array of listeners to all events that match it.\n * Yeah, this function does quite a bit. That's probably a bad thing.\n *\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add to multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to add.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.addListeners = function addListeners(evt, listeners) {\n // Pass through to manipulateListeners\n return this.manipulateListeners(false, evt, listeners);\n };\n\n /**\n * Removes listeners in bulk using the manipulateListeners method.\n * If you pass an object as the second argument you can remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n * You can also pass it an event name and an array of listeners to be removed.\n * You can also pass it a regular expression to remove the listeners from all events that match it.\n *\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to remove from multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to remove.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeListeners = function removeListeners(evt, listeners) {\n // Pass through to manipulateListeners\n return this.manipulateListeners(true, evt, listeners);\n };\n\n /**\n * Edits listeners in bulk. The addListeners and removeListeners methods both use this to do their job. You should really use those instead, this is a little lower level.\n * The first argument will determine if the listeners are removed (true) or added (false).\n * If you pass an object as the second argument you can add/remove from multiple events at once. The object should contain key value pairs of events and listeners or listener arrays.\n * You can also pass it an event name and an array of listeners to be added/removed.\n * You can also pass it a regular expression to manipulate the listeners of all events that match it.\n *\n * @param {Boolean} remove True if you want to remove listeners, false if you want to add.\n * @param {String|Object|RegExp} evt An event name if you will pass an array of listeners next. An object if you wish to add/remove from multiple events at once.\n * @param {Function[]} [listeners] An optional array of listener functions to add/remove.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.manipulateListeners = function manipulateListeners(remove, evt, listeners) {\n var i;\n var value;\n var single = remove ? this.removeListener : this.addListener;\n var multiple = remove ? this.removeListeners : this.addListeners;\n\n // If evt is an object then pass each of its properties to this method\n if (typeof evt === 'object' && !(evt instanceof RegExp)) {\n for (i in evt) {\n if (evt.hasOwnProperty(i) && (value = evt[i])) {\n // Pass the single listener straight through to the singular method\n if (typeof value === 'function') {\n single.call(this, i, value);\n }\n else {\n // Otherwise pass back to the multiple function\n multiple.call(this, i, value);\n }\n }\n }\n }\n else {\n // So evt must be a string\n // And listeners must be an array of listeners\n // Loop over it and pass each one to the multiple method\n i = listeners.length;\n while (i--) {\n single.call(this, evt, listeners[i]);\n }\n }\n\n return this;\n };\n\n /**\n * Removes all listeners from a specified event.\n * If you do not specify an event then all listeners will be removed.\n * That means every event will be emptied.\n * You can also pass a regex to remove all events that match it.\n *\n * @param {String|RegExp} [evt] Optional name of the event to remove all listeners for. Will remove from every event if not passed.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.removeEvent = function removeEvent(evt) {\n var type = typeof evt;\n var events = this._getEvents();\n var key;\n\n // Remove different things depending on the state of evt\n if (type === 'string') {\n // Remove all listeners for the specified event\n delete events[evt];\n }\n else if (evt instanceof RegExp) {\n // Remove all events matching the regex.\n for (key in events) {\n if (events.hasOwnProperty(key) && evt.test(key)) {\n delete events[key];\n }\n }\n }\n else {\n // Remove all listeners in all events\n delete this._events;\n }\n\n return this;\n };\n\n /**\n * Alias of removeEvent.\n *\n * Added to mirror the node API.\n */\n proto.removeAllListeners = alias('removeEvent');\n\n /**\n * Emits an event of your choice.\n * When emitted, every listener attached to that event will be executed.\n * If you pass the optional argument array then those arguments will be passed to every listener upon execution.\n * Because it uses `apply`, your array of arguments will be passed as if you wrote them out separately.\n * So they will not arrive within the array on the other side, they will be separate.\n * You can also pass a regular expression to emit to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n * @param {Array} [args] Optional array of arguments to be passed to each listener.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.emitEvent = function emitEvent(evt, args) {\n var listenersMap = this.getListenersAsObject(evt);\n var listeners;\n var listener;\n var i;\n var key;\n var response;\n\n for (key in listenersMap) {\n if (listenersMap.hasOwnProperty(key)) {\n listeners = listenersMap[key].slice(0);\n\n for (i = 0; i < listeners.length; i++) {\n // If the listener returns true then it shall be removed from the event\n // The function is executed either with a basic call or an apply if there is an args array\n listener = listeners[i];\n\n if (listener.once === true) {\n this.removeListener(evt, listener.listener);\n }\n\n response = listener.listener.apply(this, args || []);\n\n if (response === this._getOnceReturnValue()) {\n this.removeListener(evt, listener.listener);\n }\n }\n }\n }\n\n return this;\n };\n\n /**\n * Alias of emitEvent\n */\n proto.trigger = alias('emitEvent');\n\n /**\n * Subtly different from emitEvent in that it will pass its arguments on to the listeners, as opposed to taking a single array of arguments to pass on.\n * As with emitEvent, you can pass a regex in place of the event name to emit to all events that match it.\n *\n * @param {String|RegExp} evt Name of the event to emit and execute listeners for.\n * @param {...*} Optional additional arguments to be passed to each listener.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.emit = function emit(evt) {\n var args = Array.prototype.slice.call(arguments, 1);\n return this.emitEvent(evt, args);\n };\n\n /**\n * Sets the current value to check against when executing listeners. If a\n * listeners return value matches the one set here then it will be removed\n * after execution. This value defaults to true.\n *\n * @param {*} value The new value to check for when executing listeners.\n * @return {Object} Current instance of EventEmitter for chaining.\n */\n proto.setOnceReturnValue = function setOnceReturnValue(value) {\n this._onceReturnValue = value;\n return this;\n };\n\n /**\n * Fetches the current value to check against when executing listeners. If\n * the listeners return value matches this one then it should be removed\n * automatically. It will return true by default.\n *\n * @return {*|Boolean} The current value to check for or the default, true.\n * @api private\n */\n proto._getOnceReturnValue = function _getOnceReturnValue() {\n if (this.hasOwnProperty('_onceReturnValue')) {\n return this._onceReturnValue;\n }\n else {\n return true;\n }\n };\n\n /**\n * Fetches the events object and creates one if required.\n *\n * @return {Object} The events storage object.\n * @api private\n */\n proto._getEvents = function _getEvents() {\n return this._events || (this._events = {});\n };\n\n /**\n * Reverts the global {@link EventEmitter} to its previous value and returns a reference to this version.\n *\n * @return {Function} Non conflicting EventEmitter class.\n */\n EventEmitter.noConflict = function noConflict() {\n exports.EventEmitter = originalGlobalValue;\n return EventEmitter;\n };\n\n // Expose the class either via AMD, CommonJS or the global object\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return EventEmitter;\n });\n }\n else if (typeof module === 'object' && module.exports){\n module.exports = EventEmitter;\n }\n else {\n exports.EventEmitter = EventEmitter;\n }\n}(this || {}));\n\n},{}]},{},[1]);\n })();"]}
includes/admin/class-admin-texts.php CHANGED
@@ -77,7 +77,7 @@ class MC4WP_Admin_Texts {
77
  return $links;
78
  }
79
 
80
- $links[] = '<a href="https://mc4wp.com/kb/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page">'. __( 'Documentation', 'mailchimp-for-wp' ) . '</a>';
81
 
82
  /**
83
  * Filters meta links shown on the Plugins overview page
77
  return $links;
78
  }
79
 
80
+ $links[] = '<a href="https://kb.mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page">'. __( 'Documentation', 'mailchimp-for-wp' ) . '</a>';
81
 
82
  /**
83
  * Filters meta links shown on the Plugins overview page
includes/admin/class-admin.php CHANGED
@@ -413,7 +413,7 @@ class MC4WP_Admin {
413
  $connected = $this->get_api()->is_connected();
414
  } catch( MC4WP_API_Connection_Exception $e ) {
415
  $message = sprintf( "<strong>%s</strong><br /> %s", __( "Error connecting to MailChimp:", 'mailchimp-for-wp' ), $e );
416
- $message .= '<br /><br />' . sprintf( '<a href="%s">' . __( 'Here\'s some info on solving common connectivity issues.', 'mailchimp-for-wp' ) . '</a>', 'https://mc4wp.com/kb/solving-connectivity-issues/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-notice' );
417
  $this->messages->flash( $message, 'error' );
418
  $connected = false;
419
  } catch( MC4WP_API_Exception $e ) {
413
  $connected = $this->get_api()->is_connected();
414
  } catch( MC4WP_API_Connection_Exception $e ) {
415
  $message = sprintf( "<strong>%s</strong><br /> %s", __( "Error connecting to MailChimp:", 'mailchimp-for-wp' ), $e );
416
+ $message .= '<br /><br />' . sprintf( '<a href="%s">' . __( 'Here\'s some info on solving common connectivity issues.', 'mailchimp-for-wp' ) . '</a>', 'https://kb.mc4wp.com/solving-connectivity-issues/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-notice' );
417
  $this->messages->flash( $message, 'error' );
418
  $connected = false;
419
  } catch( MC4WP_API_Exception $e ) {
includes/admin/class-ads.php CHANGED
@@ -36,7 +36,7 @@ class MC4WP_Admin_Ads {
36
  echo '<tr valign="top">';
37
  echo '<td colspan="2">';
38
  echo '<p class="help">';
39
- echo sprintf( __( 'Want to customize the style of your form? <a href="%s">Try our Styles Builder</a> & edit the look of your forms with just a few clicks.', 'mailchimp-for-wp' ), 'https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=form-settings-link' );
40
  echo '</p>';
41
  echo '</td>';
42
  echo '</tr>';
@@ -51,9 +51,9 @@ class MC4WP_Admin_Ads {
51
  echo '<p class="help">';
52
 
53
  if( rand( 1, 2 ) === 1 ) {
54
- echo sprintf( __( 'Be notified whenever someone subscribes? <a href="%s">MailChimp for WordPress Premium</a> allows you to set up email notifications for your forms.', 'mailchimp-for-wp' ), 'https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' );
55
  } else {
56
- echo sprintf( __( 'Increased conversions? <a href="%s">MailChimp for WordPress Premium</a> submits forms without reloading the entire page, resulting in a much better experience for your visitors.', 'mailchimp-for-wp' ), 'https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=form-settings-link' );
57
  }
58
 
59
  echo '</p>';
@@ -67,7 +67,7 @@ class MC4WP_Admin_Ads {
67
  * @return array
68
  */
69
  public function plugin_meta_links( $links ) {
70
- $links[] = '<a href="https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-upgrade-link">' . __( 'Upgrade to Premium', 'mailchimp-for-wp' ) . '</a>';
71
  return $links;
72
  }
73
 
@@ -80,17 +80,17 @@ class MC4WP_Admin_Ads {
80
 
81
  // WPML & Polylang specific message
82
  if( defined( 'ICL_LANGUAGE_CODE' ) ) {
83
- echo '<p class="help">' . sprintf( __( 'Do you want translated forms for all of your languages? <a href="%s">Try MailChimp for WordPress Premium</a>, which does just that plus more.', 'mailchimp-for-wp' ), 'https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' ) . '</p>';
84
  return;
85
  }
86
 
87
  // General "edit form" message
88
- echo '<p class="help">' . sprintf( __( 'Do you want to create more than one form? Our Premium add-on does just that! <a href="%s">Have a look at all Premium benefits</a>.', 'mailchimp-for-wp' ), 'https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' ) . '</p>';
89
  return;
90
  }
91
 
92
  // General message
93
- echo '<p class="help">' . sprintf( __( 'Are you enjoying this plugin? The Premium add-on unlocks several powerful features. <a href="%s">Find out about all benefits now</a>.', 'mailchimp-for-wp' ), 'https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' ) . '</p>';
94
  }
95
 
96
  /**
@@ -101,7 +101,7 @@ class MC4WP_Admin_Ads {
101
  echo '<div class="mc4wp-box">';
102
  echo '<div style="border: 5px dotted #cc4444; padding: 0 20px; background: white;">';
103
  echo '<h3>MailChimp for WordPress Premium</h3>';
104
- echo '<p>This plugin has a Premium add-on, unlocking several powerful features. <a href="https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=upgrade-box">Have a look at its benefits</a>!</p>';
105
  echo '</div>';
106
  echo '</div>';
107
 
@@ -152,7 +152,7 @@ class MC4WP_Admin_Ads {
152
  echo __( 'Do you want to track all WooCommerce orders in MailChimp so you can send emails based on the purchase activity of your subscribers?', 'mailchimp-for-wp' );
153
  echo '</p>';
154
  echo '<p>';
155
- echo sprintf( __( '<a href="%s">Upgrade to MailChimp for WordPress Premium</a> or <a href="%s">read more about MailChimp\'s E-Commerce features</a>.', 'mailchimp-for-wp' ) . '</p>', 'https://mc4wp.com/features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=other-settings-link', 'https://mc4wp.com/kb/what-is-ecommerce360/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=other-settings-link' );
156
  echo '</p>';
157
  echo '</div>';
158
  }
36
  echo '<tr valign="top">';
37
  echo '<td colspan="2">';
38
  echo '<p class="help">';
39
+ echo sprintf( __( 'Want to customize the style of your form? <a href="%s">Try our Styles Builder</a> & edit the look of your forms with just a few clicks.', 'mailchimp-for-wp' ), 'https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=form-settings-link' );
40
  echo '</p>';
41
  echo '</td>';
42
  echo '</tr>';
51
  echo '<p class="help">';
52
 
53
  if( rand( 1, 2 ) === 1 ) {
54
+ echo sprintf( __( 'Be notified whenever someone subscribes? <a href="%s">MailChimp for WordPress Premium</a> allows you to set up email notifications for your forms.', 'mailchimp-for-wp' ), 'https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' );
55
  } else {
56
+ echo sprintf( __( 'Increased conversions? <a href="%s">MailChimp for WordPress Premium</a> submits forms without reloading the entire page, resulting in a much better experience for your visitors.', 'mailchimp-for-wp' ), 'https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=form-settings-link' );
57
  }
58
 
59
  echo '</p>';
67
  * @return array
68
  */
69
  public function plugin_meta_links( $links ) {
70
+ $links[] = '<a href="https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-upgrade-link">' . __( 'Upgrade to Premium', 'mailchimp-for-wp' ) . '</a>';
71
  return $links;
72
  }
73
 
80
 
81
  // WPML & Polylang specific message
82
  if( defined( 'ICL_LANGUAGE_CODE' ) ) {
83
+ echo '<p class="help">' . sprintf( __( 'Do you want translated forms for all of your languages? <a href="%s">Try MailChimp for WordPress Premium</a>, which does just that plus more.', 'mailchimp-for-wp' ), 'https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' ) . '</p>';
84
  return;
85
  }
86
 
87
  // General "edit form" message
88
+ echo '<p class="help">' . sprintf( __( 'Do you want to create more than one form? Our Premium add-on does just that! <a href="%s">Have a look at all Premium benefits</a>.', 'mailchimp-for-wp' ), 'https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' ) . '</p>';
89
  return;
90
  }
91
 
92
  // General message
93
+ echo '<p class="help">' . sprintf( __( 'Are you enjoying this plugin? The Premium add-on unlocks several powerful features. <a href="%s">Find out about all benefits now</a>.', 'mailchimp-for-wp' ), 'https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=footer-link' ) . '</p>';
94
  }
95
 
96
  /**
101
  echo '<div class="mc4wp-box">';
102
  echo '<div style="border: 5px dotted #cc4444; padding: 0 20px; background: white;">';
103
  echo '<h3>MailChimp for WordPress Premium</h3>';
104
+ echo '<p>This plugin has a Premium add-on, unlocking several powerful features. <a href="https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=upgrade-box">Have a look at its benefits</a>!</p>';
105
  echo '</div>';
106
  echo '</div>';
107
 
152
  echo __( 'Do you want to track all WooCommerce orders in MailChimp so you can send emails based on the purchase activity of your subscribers?', 'mailchimp-for-wp' );
153
  echo '</p>';
154
  echo '<p>';
155
+ echo sprintf( __( '<a href="%s">Upgrade to MailChimp for WordPress Premium</a> or <a href="%s">read more about MailChimp\'s E-Commerce features</a>.', 'mailchimp-for-wp' ) . '</p>', 'https://mc4wp.com/premium-features/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=other-settings-link', 'https://kb.mc4wp.com/what-is-ecommerce360/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=other-settings-link' );
156
  echo '</p>';
157
  echo '</div>';
158
  }
includes/admin/class-review-notice.php CHANGED
@@ -70,7 +70,6 @@ class MC4WP_Admin_Review_Notice {
70
  echo '</p>';
71
  echo '<form method="POST" id="mc4wp-dismiss-review-form"><button type="submit" class="notice-dismiss"><span class="screen-reader-text">'. __( 'Dismiss this notice.', 'mailchimp-for-wp' ) .'</span></button><input type="hidden" name="_mc4wp_action" value="dismiss_review_notice"/></form>';
72
  echo '</div>';
73
- echo "<script>window.jQuery('#mc4wp-review-notice form').submit(function(e) { e.preventDefault(); window.jQuery.post( ajaxurl, { _mc4wp_action: 'dismiss_review_notice' }, function() { window.jQuery('#mc4wp-review-notice').fadeOut(); }); });</script>";
74
  return true;
75
  }
76
 
70
  echo '</p>';
71
  echo '<form method="POST" id="mc4wp-dismiss-review-form"><button type="submit" class="notice-dismiss"><span class="screen-reader-text">'. __( 'Dismiss this notice.', 'mailchimp-for-wp' ) .'</span></button><input type="hidden" name="_mc4wp_action" value="dismiss_review_notice"/></form>';
72
  echo '</div>';
 
73
  return true;
74
  }
75
 
includes/api/class-api.php CHANGED
@@ -81,7 +81,7 @@ class MC4WP_API {
81
  * @return bool
82
  */
83
  private function show_connection_error( $message ) {
84
- $message .= '<br /><br />' . sprintf( '<a href="%s">' . __( 'Read more about common connectivity issues.', 'mailchimp-for-wp' ) . '</a>', 'https://mc4wp.com/kb/solving-connectivity-issues/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-notice' );
85
  return $this->show_error( $message );
86
  }
87
 
81
  * @return bool
82
  */
83
  private function show_connection_error( $message ) {
84
+ $message .= '<br /><br />' . sprintf( '<a href="%s">' . __( 'Read more about common connectivity issues.', 'mailchimp-for-wp' ) . '</a>', 'https://kb.mc4wp.com/solving-connectivity-issues/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-notice' );
85
  return $this->show_error( $message );
86
  }
87
 
includes/forms/views/parts/dynamic-content-tags.php CHANGED
@@ -5,7 +5,7 @@ $tags = mc4wp('forms')->get_tags();
5
  ?>
6
  <h2><?php _e( 'Add dynamic form variable', 'mailchimp-for-wp' ); ?></h2>
7
  <p>
8
- <?php echo sprintf( __( 'The following list of variables can be used to <a href="%s">add some dynamic content to your form or success and error messages</a>.', 'mailchimp-for-wp' ), 'https://mc4wp.com/kb/using-variables-in-your-form-or-messages/' ) . ' ' . __( 'This allows you to personalise your form or response messages.', 'mailchimp-for-wp' ); ?>
9
  </p>
10
  <table class="widefat striped">
11
  <?php foreach( $tags as $tag => $config ) {
5
  ?>
6
  <h2><?php _e( 'Add dynamic form variable', 'mailchimp-for-wp' ); ?></h2>
7
  <p>
8
+ <?php echo sprintf( __( 'The following list of variables can be used to <a href="%s">add some dynamic content to your form or success and error messages</a>.', 'mailchimp-for-wp' ), 'https://kb.mc4wp.com/using-variables-in-your-form-or-messages/' ) . ' ' . __( 'This allows you to personalise your form or response messages.', 'mailchimp-for-wp' ); ?>
9
  </p>
10
  <table class="widefat striped">
11
  <?php foreach( $tags as $tag => $config ) {
includes/forms/views/tabs/form-settings.php CHANGED
@@ -77,7 +77,7 @@
77
  </label>
78
  <p class="help">
79
  <?php _e( 'Select "no" if you want to add the selected interests to any previously selected interests when updating a subscriber.', 'mailchimp-for-wp' ); ?>
80
- <?php printf( ' <a href="%s" target="_blank">' . __( 'What does this do?', 'mailchimp-for-wp' ) . '</a>', 'https://mc4wp.com/kb/what-does-replace-groupings-mean/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-page' ); ?>
81
  </p>
82
  </td>
83
  </tr>
77
  </label>
78
  <p class="help">
79
  <?php _e( 'Select "no" if you want to add the selected interests to any previously selected interests when updating a subscriber.', 'mailchimp-for-wp' ); ?>
80
+ <?php printf( ' <a href="%s" target="_blank">' . __( 'What does this do?', 'mailchimp-for-wp' ) . '</a>', 'https://kb.mc4wp.com/what-does-replace-groupings-mean/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-page' ); ?>
81
  </p>
82
  </td>
83
  </tr>
includes/integrations/views/integration-settings.php CHANGED
@@ -25,7 +25,7 @@
25
 
26
  <div id="notice-additional-fields" class="notice notice-info" style="display: none;">
27
  <p><?php _e( 'The selected MailChimp lists require non-default fields, which may prevent this integration from working.', 'mailchimp-for-wp' ); ?></p>
28
- <p><?php echo sprintf( __( 'Please ensure you <a href="%s">configure the plugin to send all required fields</a> or <a href="%s">log into your MailChimp account</a> and make sure only the email & name fields are marked as required fields for the selected list(s).', 'mailchimp-for-wp' ), 'https://mc4wp.com/kb/send-additional-fields-from-integrations/', 'https://admin.mailchimp.com/lists/' ); ?></p>
29
  </div>
30
 
31
  <p>
@@ -199,7 +199,7 @@
199
  </label>
200
  <p class="help">
201
  <?php _e( 'Select "no" if you want to add the selected interests to any previously selected interests when updating a subscriber.', 'mailchimp-for-wp' ); ?>
202
- <?php printf( ' <a href="%s" target="_blank">' . __( 'What does this do?', 'mailchimp-for-wp' ) . '</a>', 'https://mc4wp.com/kb/what-does-replace-groupings-mean/' ); ?>
203
  </p>
204
  </td>
205
  </tr>
25
 
26
  <div id="notice-additional-fields" class="notice notice-info" style="display: none;">
27
  <p><?php _e( 'The selected MailChimp lists require non-default fields, which may prevent this integration from working.', 'mailchimp-for-wp' ); ?></p>
28
+ <p><?php echo sprintf( __( 'Please ensure you <a href="%s">configure the plugin to send all required fields</a> or <a href="%s">log into your MailChimp account</a> and make sure only the email & name fields are marked as required fields for the selected list(s).', 'mailchimp-for-wp' ), 'https://kb.mc4wp.com/send-additional-fields-from-integrations/', 'https://admin.mailchimp.com/lists/' ); ?></p>
29
  </div>
30
 
31
  <p>
199
  </label>
200
  <p class="help">
201
  <?php _e( 'Select "no" if you want to add the selected interests to any previously selected interests when updating a subscriber.', 'mailchimp-for-wp' ); ?>
202
+ <?php printf( ' <a href="%s" target="_blank">' . __( 'What does this do?', 'mailchimp-for-wp' ) . '</a>', 'https://kb.mc4wp.com/what-does-replace-groupings-mean/' ); ?>
203
  </p>
204
  </td>
205
  </tr>
includes/views/other-settings.php CHANGED
@@ -27,7 +27,7 @@ function _mc4wp_usage_tracking_setting( $opts ) {
27
 
28
  <p class="help">
29
  <?php echo __( 'Allow us to anonymously track how this plugin is used to help us make it better fit your needs.', 'mailchimp-for-wp' ); ?>
30
- <a href="https://mc4wp.com/kb/what-is-usage-tracking/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-page" target="_blank">
31
  <?php _e( 'This is what we track.', 'mailchimp-for-wp' ); ?>
32
  </a>
33
  </p>
@@ -41,7 +41,7 @@ function _mc4wp_usage_tracking_setting( $opts ) {
41
  <option value="debug" <?php selected( 'debug', $opts['debug_log_level'] ); ?>><?php _e( 'Everything', 'mc4wp-ecommerce' ); ?></option>
42
  </select>
43
  <p class="help">
44
- <?php printf( __( 'Determines what events should be written to <a href="%s">the debug log</a> (see below).', 'mailchimp-for-wp' ), 'https://mc4wp.com/kb/how-to-enable-log-debugging/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-page' ); ?>
45
  </p>
46
  </td>
47
  </tr>
27
 
28
  <p class="help">
29
  <?php echo __( 'Allow us to anonymously track how this plugin is used to help us make it better fit your needs.', 'mailchimp-for-wp' ); ?>
30
+ <a href="https://kb.mc4wp.com/what-is-usage-tracking/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-page" target="_blank">
31
  <?php _e( 'This is what we track.', 'mailchimp-for-wp' ); ?>
32
  </a>
33
  </p>
41
  <option value="debug" <?php selected( 'debug', $opts['debug_log_level'] ); ?>><?php _e( 'Everything', 'mc4wp-ecommerce' ); ?></option>
42
  </select>
43
  <p class="help">
44
+ <?php printf( __( 'Determines what events should be written to <a href="%s">the debug log</a> (see below).', 'mailchimp-for-wp' ), 'https://kb.mc4wp.com/how-to-enable-log-debugging/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=settings-page' ); ?>
45
  </p>
46
  </td>
47
  </tr>
includes/views/parts/admin-sidebar.php CHANGED
@@ -11,9 +11,8 @@ function _mc4wp_admin_sidebar_support_notice() {
11
  <h4 class="mc4wp-title"><?php echo esc_html__( 'Looking for help?', 'mailchimp-for-wp' ); ?></h4>
12
  <p><?php echo __( 'We have some resources available to help you in the right direction.', 'mailchimp-for-wp' ); ?></p>
13
  <ul class="ul-square">
14
- <li><a href="https://mc4wp.com/kb/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=sidebar"><?php echo esc_html__( 'Knowledge Base', 'mailchimp-for-wp' ); ?></a></li>
15
  <li><a href="https://wordpress.org/plugins/mailchimp-for-wp/faq/"><?php echo esc_html__( 'Frequently Asked Questions', 'mailchimp-for-wp' ); ?></a></li>
16
- <li><a href="http://developer.mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=sidebar"><?php echo esc_html__( 'Code reference for developers', 'mailchimp-for-wp' ); ?></a></li>
17
  </ul>
18
  <p><?php echo sprintf( __( 'If your answer can not be found in the resources listed above, please use the <a href="%s">support forums on WordPress.org</a>.' ), 'https://wordpress.org/support/plugin/mailchimp-for-wp' ); ?></p>
19
  <p><?php echo sprintf( __( 'Found a bug? Please <a href="%s">open an issue on GitHub</a>.' ), 'https://github.com/ibericode/mailchimp-for-wordpress/issues' ); ?></p>
11
  <h4 class="mc4wp-title"><?php echo esc_html__( 'Looking for help?', 'mailchimp-for-wp' ); ?></h4>
12
  <p><?php echo __( 'We have some resources available to help you in the right direction.', 'mailchimp-for-wp' ); ?></p>
13
  <ul class="ul-square">
14
+ <li><a href="https://kb.mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=sidebar"><?php echo esc_html__( 'Knowledge Base', 'mailchimp-for-wp' ); ?></a></li>
15
  <li><a href="https://wordpress.org/plugins/mailchimp-for-wp/faq/"><?php echo esc_html__( 'Frequently Asked Questions', 'mailchimp-for-wp' ); ?></a></li>
 
16
  </ul>
17
  <p><?php echo sprintf( __( 'If your answer can not be found in the resources listed above, please use the <a href="%s">support forums on WordPress.org</a>.' ), 'https://wordpress.org/support/plugin/mailchimp-for-wp' ); ?></p>
18
  <p><?php echo sprintf( __( 'Found a bug? Please <a href="%s">open an issue on GitHub</a>.' ), 'https://github.com/ibericode/mailchimp-for-wordpress/issues' ); ?></p>
integrations/wp-registration-form/class-registration-form.php CHANGED
@@ -26,6 +26,7 @@ class MC4WP_Registration_Form_Integration extends MC4WP_User_Integration {
26
  if( ! $this->options['implicit'] ) {
27
  add_action( 'login_head', array( $this, 'print_css_reset' ) );
28
  add_action( 'register_form', array( $this, 'output_checkbox' ), 20 );
 
29
  }
30
 
31
  add_action( 'user_register', array( $this, 'subscribe_from_registration' ), 90, 1 );
26
  if( ! $this->options['implicit'] ) {
27
  add_action( 'login_head', array( $this, 'print_css_reset' ) );
28
  add_action( 'register_form', array( $this, 'output_checkbox' ), 20 );
29
+ add_action( 'woocommerce_register_form', array( $this, 'output_checkbox' ), 20 );
30
  }
31
 
32
  add_action( 'user_register', array( $this, 'subscribe_from_registration' ), 90, 1 );
languages/mailchimp-for-wp-fa_IR.mo CHANGED
Binary file
languages/mailchimp-for-wp-fa_IR.po CHANGED
@@ -1,74 +1,28 @@
1
- # Copyright (C) 2015 MailChimp for WordPress
2
- # This file is distributed under the same license as the MailChimp for WordPress package.
3
  # Translators:
4
  # A.Mehraban <Mehr.Ban@chmail.ir>, 2015
5
  # Ardavan Afrasiyabi <abox@usa.com>, 2015
6
  # mahnaz vahedi <mahnazvn@yahoo.com>, 2016
 
7
  msgid ""
8
  msgstr ""
9
  "Project-Id-Version: MailChimp for WordPress\n"
10
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mailchimp-for-wp\n"
11
- "POT-Creation-Date: 2015-11-30 10:15:18+00:00\n"
12
- "PO-Revision-Date: 2016-01-04 11:57+0000\n"
13
- "Last-Translator: mahnaz vahedi <mahnazvn@yahoo.com>\n"
14
  "Language-Team: Persian (Iran) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/fa_IR/)\n"
15
  "MIME-Version: 1.0\n"
16
  "Content-Type: text/plain; charset=UTF-8\n"
17
  "Content-Transfer-Encoding: 8bit\n"
18
  "Language: fa_IR\n"
19
  "Plural-Forms: nplurals=1; plural=0;\n"
 
 
 
 
 
20
 
21
- #: config/default-form-content.php:3
22
- msgid "Email address"
23
- msgstr "آدرس ایمیل"
24
-
25
- #: config/default-form-content.php:4
26
- msgid "Your email address"
27
- msgstr "ایمیل شما"
28
-
29
- #: config/default-form-content.php:5
30
- msgid "Sign up"
31
- msgstr "ثبت نام"
32
-
33
- #: config/default-form-messages.php:5
34
- msgid ""
35
- "Thank you, your sign-up request was successful! Please check your email "
36
- "inbox to confirm."
37
- msgstr "باتشکر از شما, درخواست ثبت نام شما با موفق آمیز بود! لطفا ایمیلتان را برای تایید چک کنید."
38
-
39
- #: config/default-form-messages.php:9
40
- msgid "Oops. Something went wrong. Please try again later."
41
- msgstr "متاسفیم ! مشکلی پیش آمده ، لطفا دوباره تلاش کنید."
42
-
43
- #: config/default-form-messages.php:13
44
- msgid "Please provide a valid email address."
45
- msgstr "لطفا یک ایمیل معتبر وارد کنید."
46
-
47
- #: config/default-form-messages.php:17
48
- msgid "Given email address is already subscribed, thank you!"
49
- msgstr "این آدرس ایمیل هم اکنون در سایت ثبت شده و جزو مشترکین خبرنامه ما می باشد. ممنون از شما!"
50
-
51
- #: config/default-form-messages.php:21
52
- msgid "Please fill in the required fields."
53
- msgstr "لطفا موارد ضروری را وارد نمایید."
54
-
55
- #: config/default-form-messages.php:25
56
- msgid "You were successfully unsubscribed."
57
- msgstr "با موفقیت اشتراک شما لغو شد."
58
-
59
- #: config/default-form-messages.php:29
60
- msgid "Given email address is not subscribed."
61
- msgstr "آدرس ایمیل داده شده جزو مشترکین نیست."
62
-
63
- #: config/default-form-messages.php:33
64
- msgid "Please select at least one list."
65
- msgstr "لطفا حداقل یک لیست را انتخاب نمایید"
66
-
67
- #: config/default-integration-options.php:5
68
- msgid "Sign me up for the newsletter!"
69
- msgstr "من را در خبرنامه ثبت نام کن!"
70
-
71
- #: includes/admin/class-admin-texts.php:62
72
  #: includes/forms/views/edit-form.php:6
73
  msgid "Settings"
74
  msgstr "تنظیمات"
@@ -77,141 +31,388 @@ msgstr "تنظیمات"
77
  msgid "Documentation"
78
  msgstr "مستندات"
79
 
80
- #: includes/admin/class-admin.php:167
81
  msgid ""
82
  "Success! The cached configuration for your MailChimp lists has been renewed."
83
  msgstr "تبریک می گوییم! تنظیمات مربوط به لیست های MailChimp که در سیستم شما کش شده بودند مجددا بارگزرای و بروز شدند."
84
 
85
- #: includes/admin/class-admin.php:257
86
  msgid ""
87
  "This is a pro-only feature. Please upgrade to the premium version to be able"
88
  " to use it."
89
  msgstr "این ویژگی تنها در نسخه پیشرفته این افزونه در دسترس است به همین دلیل اگر تمایل به استفاده از آن را دارید باید نسخه MailChimp خود را به نسخه پیشرفته ارتقا دهید."
90
 
91
- #: includes/admin/class-admin.php:323 includes/views/general-settings.php:28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  msgid "MailChimp API Settings"
93
  msgstr "تنظیمات API مربوط به MailChimp"
94
 
95
- #: includes/admin/class-admin.php:324
96
- #: integrations/ninja-forms/class-ninja-forms.php:34
97
  msgid "MailChimp"
98
  msgstr "MailChimp"
99
 
100
- #: includes/admin/class-ads.php:33
101
- msgid "Upgrade to MailChimp for WordPress Pro"
102
- msgstr "به MailChimp for WordPress Pro ارتقاع دهید"
 
103
 
104
- #: includes/admin/class-ads.php:41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  msgid ""
106
- "Enjoying this plugin? <a href=\"%s\">Purchase our bundle of premium "
107
- "features</a> for an even better plugin."
108
- msgstr "آیا از این پلاگین و امکانات آن کمال رضایت را دارید؟ اگر پاسخ شما مثبت است دعوتتان می کنیم که اقدام به تهیه <a href=\"%s\">نسخه پیشرفته</a> ما نمایید تا از امکانات بیشتری بهره مند شوید."
109
 
110
- #: includes/admin/class-ads.php:62
111
  msgid "More subscribers, better newsletters."
112
  msgstr "داشتن مشترکین بیشتر منجر به داشتن خبرنامه بهتر می شود"
113
 
114
- #: includes/admin/class-ads.php:63
115
  msgid ""
116
  "Learn how to best grow your lists & write better emails by subscribing to "
117
  "our monthly tips."
118
  msgstr "با اتشراک در خبرنامه ما با دریافت نکات ماهانه می آموزید که چگونه لیستها و ایمیلهای بهتری بسازید."
119
 
120
- #: includes/admin/class-ads.php:66
121
  msgid "Email Address"
122
  msgstr "آدرس ایمیل"
123
 
124
- #: includes/admin/class-ads.php:70
125
  msgid "First Name"
126
  msgstr "نام"
127
 
128
- #: includes/admin/class-ads.php:77
129
  msgid "Subscribe"
130
  msgstr "اشتراک"
131
 
132
- #: includes/admin/class-usage-tracking.php:57
133
- msgid "Once a month"
134
- msgstr "ماهی یک بار"
 
 
135
 
136
- #: includes/admin/migrations/3.0-form-1-post-type.php:35
137
- msgid "Default sign-up form"
138
- msgstr "فرم پیش فرض جهت ثبت نام"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
 
140
- #: includes/class-api.php:83
 
 
 
 
141
  msgid "Read more about common connectivity issues."
142
  msgstr "درباره خطاهای متداول اتصال می توانید در این قسمت مطالعه بیشتری داشته باشید."
143
 
144
- #: includes/forms/class-admin.php:71 includes/forms/class-admin.php:72
145
- #: includes/forms/views/edit-form.php:17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  msgid "Forms"
147
  msgstr "فرم‌ها"
148
 
149
- #: includes/forms/class-admin.php:101 includes/forms/class-admin.php:176
150
  msgid "<strong>Success!</strong> Form successfully saved."
151
  msgstr "فرم با موفقیت ذخیره شد."
152
 
153
- #: includes/forms/class-admin.php:176
154
  msgid "Preview form"
155
  msgstr "پیش نمایش فرم"
156
 
157
- #: includes/forms/class-admin.php:279
158
- msgid "Form not found."
159
- msgstr "فرم پیدا نشد."
160
 
161
- #: includes/forms/class-admin.php:281
162
- msgid "Go back"
163
- msgstr "بازگشت"
164
 
165
- #: includes/forms/class-form-previewer.php:162
166
  msgid "Form preview"
167
  msgstr "پیش نمایش فرم"
168
 
169
- #: includes/forms/class-form-tags.php:51
170
  msgid "Replaced with the form response (error or success messages)."
171
  msgstr "جایگزین با فرم پاسخگو ( پیام های خطا یا موفقیت آمیز)."
172
 
173
- #: includes/forms/class-form-tags.php:56
174
  msgid "Data from the URL or a submitted form."
175
  msgstr "داده دریافتی از آدرس مشخص یا فرم ثبت نام"
176
 
177
- #: includes/forms/class-form-tags.php:62
 
 
 
 
178
  #: includes/integrations/class-integration-tags.php:45
179
  msgid "Replaced with the number of subscribers on the selected list(s)"
180
  msgstr "جایگزین با تعداد مشترکینی که از لیست انتخاب شده اند."
181
 
182
- #: includes/forms/class-form-tags.php:67
183
  msgid "The email address of the current visitor (if known)."
184
  msgstr "آدرس ایمیل کاربر فعلی (در صورت تشخیص)"
185
 
186
- #: includes/forms/class-form-tags.php:72
187
  msgid "The URL of the page."
188
  msgstr "آدرس صفحه (URL)"
189
 
190
- #: includes/forms/class-form-tags.php:77
191
  msgid "The path of the page."
192
  msgstr "مسیر صفحه"
193
 
194
- #: includes/forms/class-form-tags.php:82
195
  msgid "The current date. Example: %s."
196
  msgstr "تاریخ جاری. مثال : %s."
197
 
198
- #: includes/forms/class-form-tags.php:87
199
  msgid "The current time. Example: %s."
200
  msgstr "زمان جاری. مثال: %s."
201
 
202
- #: includes/forms/class-form-tags.php:92
203
  msgid "The site's language. Example: %s."
204
  msgstr "زبان سایت. مثال: %s."
205
 
206
- #: includes/forms/class-form-tags.php:97
207
  msgid "The visitor's IP address. Example: %s."
208
  msgstr "آدرس آی پی کاربر. مثال : %s."
209
 
210
- #: includes/forms/class-form-tags.php:102
211
  msgid "The property of the currently logged-in user."
212
  msgstr "مشخصه های کاربر حاضر در سایت"
213
 
214
- #: includes/forms/class-form.php:128
 
 
 
 
215
  msgid "There is no form with ID %d, perhaps it was deleted?"
216
  msgstr "هیچ فرمی با شناسه %d, یافت نشد شاید این فرم پاک شده باشد؟"
217
 
@@ -219,10 +420,6 @@ msgstr "هیچ فرمی با شناسه %d, یافت نشد شاید این فر
219
  msgid "Newsletter"
220
  msgstr "خبرنامه"
221
 
222
- #: includes/forms/class-widget.php:30
223
- msgid "MailChimp Sign-Up Form"
224
- msgstr "فرم ثبت نام MailChimp"
225
-
226
  #: includes/forms/class-widget.php:32
227
  msgid "Displays your MailChimp for WordPress sign-up form"
228
  msgstr "نمایش فرم ثبت نام MailChimp for WordPress شما"
@@ -237,7 +434,114 @@ msgid ""
237
  " form settings</a>."
238
  msgstr "شما می توانید فرم ثبت نام خود را از<a href=\"%s\">بخش تنظیمات میل چمپ</a> ویرایش کنید."
239
 
240
- #: includes/forms/views/add-form.php:10 includes/forms/views/add-form.php:60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  msgid "Add new form"
242
  msgstr "اضافه نمودن فرم جدید"
243
 
@@ -265,38 +569,266 @@ msgstr "فیلدها"
265
  msgid "Messages"
266
  msgstr "پیغام ها"
267
 
268
- #: includes/forms/views/edit-form.php:7
269
- msgid "Appearance"
270
- msgstr "ظاهر"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
 
272
- #: includes/forms/views/edit-form.php:15
273
- #: includes/integrations/views/integration-settings.php:8
274
- #: includes/integrations/views/integrations.php:7
275
- #: includes/views/general-settings.php:7
276
- msgid "You are here: "
277
- msgstr "شما اینجا هستید:"
278
 
279
- #: includes/forms/views/edit-form.php:27
280
- msgid "Edit Form"
281
- msgstr "ویرایش فرم"
282
 
283
- #: includes/forms/views/edit-form.php:45
284
- msgid "Enter form title here"
285
- msgstr "عنوان فرم را در این قسمت وارد نمایید"
286
 
287
- #: includes/forms/views/edit-form.php:46
288
- msgid "Enter the title of your sign-up form"
289
- msgstr "عنوان فرم اشتراک خود را در این قسمت وارد نمایید"
290
 
291
- #: includes/forms/views/edit-form.php:54
292
- msgid "Get shortcode"
293
- msgstr "دریافت کد کوتاه"
294
 
295
- #: includes/forms/views/edit-form.php:59
296
- msgid "Preview this form"
297
- msgstr "پیش نمایش این فرم"
298
 
299
- #: includes/forms/views/parts/add-fields-help.php:4
300
  #: includes/forms/views/tabs/form-fields.php:10
301
  msgid "Add more fields"
302
  msgstr "اضافه نمودن فیلدهای بیشتر"
@@ -333,11 +865,6 @@ msgid ""
333
  "changes."
334
  msgstr "برای آنکه افزونه خبرنامه MailChimp تغیرات شما را برداشته و دائما بروز باشد این دکمه را انتخاب نمایید."
335
 
336
- #: includes/forms/views/parts/add-fields-help.php:43
337
- #: includes/views/parts/lists-overview.php:8
338
- msgid "Renew MailChimp lists"
339
- msgstr "تازه سازی لیست های MailChimp"
340
-
341
  #: includes/forms/views/parts/dynamic-content-tags.php:6
342
  msgid "Add dynamic form variable"
343
  msgstr "اضافه نمودنمتغیرهای داینامیک به فرم"
@@ -410,87 +937,101 @@ msgstr "فیلدهای فرم"
410
  msgid "Enter the HTML code for your form fields.."
411
  msgstr "کد HTML مربوط به فیلدهای فرم خود را وارد کنید..."
412
 
413
- #: includes/forms/views/tabs/form-fields.php:27
414
- msgid "Your form is missing the following (required) form fields:"
415
- msgstr "یکی از فیلد های (ضروری) که در زیر میبینید وجود ندارد:"
416
-
417
- #: includes/forms/views/tabs/form-fields.php:34
418
  msgid ""
419
  "Use the shortcode %s to display this form inside a post, page or text "
420
  "widget."
421
  msgstr "از کدکوتاه %s برای نمایش این فرم در داخل ویجت، پست ، برگه و یا متن استفاده کنید."
422
 
423
- #: includes/forms/views/tabs/form-messages.php:3
424
  msgid "Form Messages"
425
  msgstr "پیام های فرم"
426
 
427
- #: includes/forms/views/tabs/form-messages.php:10
428
  msgid "Successfully subscribed"
429
  msgstr "اشتراک با موفقیت انجام شد"
430
 
431
- #: includes/forms/views/tabs/form-messages.php:13
432
  msgid ""
433
  "The text that shows when an email address is successfully subscribed to the "
434
  "selected list(s)."
435
  msgstr "این نوشته وقتی که آدرس ایمیلی با موفقیت در لیست انتخاب شده مشترک میشود نشان داده میشود."
436
 
437
- #: includes/forms/views/tabs/form-messages.php:17
438
  msgid "Invalid email address"
439
  msgstr "آدرس ایمیل نامعتبر"
440
 
441
- #: includes/forms/views/tabs/form-messages.php:20
442
  msgid "The text that shows when an invalid email address is given."
443
  msgstr "این نوشته وقتی که آدرس ایمیل نا معتبر باشد نمایش داده میشود."
444
 
445
- #: includes/forms/views/tabs/form-messages.php:24
446
  msgid "Required field missing"
447
  msgstr "فیلد های فراموش شده"
448
 
449
- #: includes/forms/views/tabs/form-messages.php:27
450
  msgid ""
451
  "The text that shows when a required field for the selected list(s) is "
452
  "missing."
453
  msgstr "این نوشته وقتی که فیلدهای ضروری فراموش و یا پرنشده باشد نمایش داده میشود."
454
 
455
- #: includes/forms/views/tabs/form-messages.php:31
456
  msgid "Already subscribed"
457
  msgstr "از قبل مشترک شده"
458
 
459
- #: includes/forms/views/tabs/form-messages.php:34
460
  msgid ""
461
  "The text that shows when the given email is already subscribed to the "
462
  "selected list(s)."
463
  msgstr "این نوشته وقتی که ایمیل دریافتی از قبل در لیست انتخاب شده مشترک شده باشد نمایش داده میشود."
464
 
465
- #: includes/forms/views/tabs/form-messages.php:38
466
  msgid "General error"
467
  msgstr "خطا عمومی"
468
 
469
- #: includes/forms/views/tabs/form-messages.php:41
470
  msgid "The text that shows when a general error occured."
471
  msgstr "این نوشته وقتی خطای عمومی رخ دهد نمایش داده میشود."
472
 
473
- #: includes/forms/views/tabs/form-messages.php:45
474
  msgid "Unsubscribed"
475
  msgstr "لغو اشتراک"
476
 
477
- #: includes/forms/views/tabs/form-messages.php:48
478
  msgid ""
479
  "When using the unsubscribe method, this is the text that shows when the "
480
  "given email address is successfully unsubscribed from the selected list(s)."
481
  msgstr "وقتی که از متد لغو اشتراک استفاده شده این نوشته برای ایمیل هایی که با موفقیت اشتراکشان از لیست لغو شده نشان داده میشود."
482
 
483
- #: includes/forms/views/tabs/form-messages.php:52
484
  msgid "Not subscribed"
485
  msgstr "مشترک نشده"
486
 
487
- #: includes/forms/views/tabs/form-messages.php:55
488
  msgid ""
489
  "When using the unsubscribe method, this is the text that shows when the "
490
  "given email address is not on the selected list(s)."
491
  msgstr "وقتی که از متد لغو اشتراک استفاده شود ، این نوشته برای ایمیل هایی که جزو مشترکین نبوده اند نمایش داده میشود."
492
 
493
- #: includes/forms/views/tabs/form-messages.php:64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
494
  msgid "HTML tags like %s are allowed in the message fields."
495
  msgstr "برچسب های HTML مانند %s را در فیلدهای پیام مجاز می باشد."
496
 
@@ -502,379 +1043,52 @@ msgstr "تنظیمات فرم"
502
  msgid "MailChimp specific settings"
503
  msgstr "تنظیمات اختصاصی MailChimp "
504
 
505
- #: includes/forms/views/tabs/form-settings.php:12
506
  msgid "Lists this form subscribes to"
507
  msgstr "لیستی که مشترک آن میشوند"
508
 
509
- #: includes/forms/views/tabs/form-settings.php:15
510
- #: includes/integrations/views/integration-settings.php:93
511
- msgid "No lists found, <a href=\"%s\">are you connected to MailChimp</a>?"
512
- msgstr "هیچ لیستی پیدا نشد ، %s شما به MailChimp متصل هستید؟%s"
513
-
514
- #: includes/forms/views/tabs/form-settings.php:29
515
  msgid ""
516
  "Select the list(s) to which people who submit this form should be "
517
  "subscribed."
518
  msgstr "لیستی که می خواهید افرادی که پس از ارسال فرم مشترک آن شوند را انتخاب کنید."
519
 
520
- #: includes/forms/views/tabs/form-settings.php:35
521
  msgid "Use double opt-in?"
522
  msgstr "استفاده از قابلیت double opt-in؟"
523
 
524
- #: includes/forms/views/tabs/form-settings.php:39
525
- #: includes/forms/views/tabs/form-settings.php:54
526
- #: includes/forms/views/tabs/form-settings.php:69
527
- #: includes/forms/views/tabs/form-settings.php:85
528
- #: includes/forms/views/tabs/form-settings.php:115
529
- #: includes/integrations/views/integration-settings.php:53
530
- #: includes/integrations/views/integration-settings.php:66
531
- #: includes/integrations/views/integration-settings.php:117
532
- #: includes/integrations/views/integration-settings.php:129
533
- #: includes/integrations/views/integration-settings.php:142
534
- #: includes/integrations/views/integration-settings.php:163
535
- #: includes/integrations/views/integration-settings.php:180
536
- #: includes/integrations/views/integration-settings.php:199
537
- #: integrations/contact-form-7/class-contact-form-7.php:69
538
- msgid "Yes"
539
- msgstr "بله"
540
-
541
- #: includes/forms/views/tabs/form-settings.php:43
542
- #: includes/forms/views/tabs/form-settings.php:58
543
- #: includes/forms/views/tabs/form-settings.php:73
544
- #: includes/forms/views/tabs/form-settings.php:89
545
- #: includes/forms/views/tabs/form-settings.php:119
546
- #: includes/integrations/views/integration-settings.php:54
547
- #: includes/integrations/views/integration-settings.php:67
548
- #: includes/integrations/views/integration-settings.php:118
549
- #: includes/integrations/views/integration-settings.php:130
550
- #: includes/integrations/views/integration-settings.php:146
551
- #: includes/integrations/views/integration-settings.php:167
552
- #: includes/integrations/views/integration-settings.php:184
553
- #: includes/integrations/views/integration-settings.php:203
554
- #: integrations/contact-form-7/class-contact-form-7.php:69
555
- msgid "No"
556
- msgstr "خیر"
557
-
558
- #: includes/forms/views/tabs/form-settings.php:45
559
- #: includes/integrations/views/integration-settings.php:149
560
- msgid ""
561
- "Select \"yes\" if you want people to confirm their email address before "
562
- "being subscribed (recommended)"
563
- msgstr "اگر می خواهید افراد قبل از مشترک شدن ایمیل تایید دریافت کنند \"بله\" را انتخاب کنید. ( توصیه میشود)"
564
-
565
- #: includes/forms/views/tabs/form-settings.php:50
566
- msgid "Send final welcome email?"
567
- msgstr "ارسال ایمیل خوش آمدگویی نهایی؟"
568
-
569
- #: includes/forms/views/tabs/form-settings.php:60
570
- #: includes/integrations/views/integration-settings.php:169
571
- msgid ""
572
- "Select \"yes\" if you want to send your lists Welcome Email if a subscribe "
573
- "succeeds (only when double opt-in is disabled)."
574
- msgstr "اگر می خواهید ایمیل خوش آمدگویی برای مشترکینی که عضویتشان موفق بوده ارسال شود \"بله\" را انتخاب کنید."
575
-
576
- #: includes/forms/views/tabs/form-settings.php:65
577
- #: includes/integrations/views/integration-settings.php:176
578
- msgid "Update existing subscribers?"
579
- msgstr "بروزرسانی مشترکین موجود؟"
580
-
581
- #: includes/forms/views/tabs/form-settings.php:75
582
- #: includes/integrations/views/integration-settings.php:186
583
- msgid ""
584
- "Select \"yes\" if you want to update existing subscribers with the data that"
585
- " is sent."
586
- msgstr "اگر می خواهید به روزرسانی مشترکین موجود همرا با داده ها ارسال شود \"بله\" را انتخاب کنید."
587
-
588
- #: includes/forms/views/tabs/form-settings.php:81
589
- #: includes/integrations/views/integration-settings.php:195
590
- msgid "Replace interest groups?"
591
- msgstr "جایگزین interest groups؟"
592
 
593
- #: includes/forms/views/tabs/form-settings.php:92
594
- #: includes/integrations/views/integration-settings.php:206
595
  msgid ""
596
- "Select \"no\" if you want to add the selected groupings to any previously "
597
- "selected groupings when updating a subscriber."
598
- msgstr "اگر این گزینه را روی خیر تنظیم کنید زمانی که مشترکی را بروزرسانی می نمایید گروه های جدیدی که انتخاب نموده اید هم به لیست گروه های قبلی وی اضافه خواهد شد."
599
-
600
- #: includes/forms/views/tabs/form-settings.php:93
601
- #: includes/integrations/views/integration-settings.php:207
602
- msgid "What does this do?"
603
- msgstr "این گزینه چه کاری انجام می دهد؟"
604
 
605
- #: includes/forms/views/tabs/form-settings.php:104
606
  msgid "Form behaviour"
607
  msgstr "رفتار فرم"
608
 
609
- #: includes/forms/views/tabs/form-settings.php:111
610
  msgid "Hide form after a successful sign-up?"
611
  msgstr "پنهان کردن فرم پس از ثبت نام موفق؟"
612
 
613
- #: includes/forms/views/tabs/form-settings.php:122
614
  msgid "Select \"yes\" to hide the form fields after a successful sign-up."
615
  msgstr "اگر می خواهید بعد از آن که ثبت نام با موفقیت به پایان رسید فرم پنهان شود \"بله\" را انتخاب کنید."
616
 
617
- #: includes/forms/views/tabs/form-settings.php:127
618
  msgid "Redirect to URL after successful sign-ups"
619
  msgstr "انتقال به آدرس دلخواه بعد از اتمام موفق ثبت نام"
620
 
621
- #: includes/forms/views/tabs/form-settings.php:129
622
  msgid "Example: %s"
623
  msgstr "مثال: %s"
624
 
625
- #: includes/forms/views/tabs/form-settings.php:130
626
  msgid ""
627
  "Leave empty or enter <code>0</code> for no redirect. Otherwise, use complete"
628
  " (absolute) URLs, including <code>http://</code>."
629
  msgstr "برای عدم انتقال خالی بگذارید و یا <code>0</code> وارد کنید. و در صورت تمایل به انتقال آدرس را کامل وارد کنید، همراه با <code>http://</code>."
630
-
631
- #: includes/integrations/class-admin.php:79
632
- #: includes/integrations/class-admin.php:80
633
- #: includes/integrations/views/integration-settings.php:10
634
- #: includes/integrations/views/integrations.php:9
635
- #: includes/integrations/views/integrations.php:17
636
- msgid "Integrations"
637
- msgstr "انضمامها "
638
-
639
- #: includes/integrations/views/integration-settings.php:20
640
- msgid "%s integration"
641
- msgstr "انضمام %s"
642
-
643
- #: includes/integrations/views/integration-settings.php:51
644
- msgid "Enabled?"
645
- msgstr "فعال شده؟"
646
-
647
- #: includes/integrations/views/integration-settings.php:55
648
- msgid ""
649
- "Enable the %s integration? This will add a sign-up checkbox to the form."
650
- msgstr "فعال نمودن انضمام %s ؟ این گزینه یک چک باکس جهت اشتراک در فرم قرار می دهد."
651
-
652
- #: includes/integrations/views/integration-settings.php:64
653
- msgid "Implicit?"
654
- msgstr "مجازی؟"
655
-
656
- #: includes/integrations/views/integration-settings.php:68
657
- msgid ""
658
- "Select \"no\" if you want to ask your visitors before they are subscribed "
659
- "(recommended)."
660
- msgstr "در صورتیکه می خواهید از بازدیدکنندگانتان قبل از اشتراک در خبرنامه پرسیده شود این گزینه را روی خیر تنظیم نمایید(پیشنهاد می شود)"
661
-
662
- #: includes/integrations/views/integration-settings.php:78
663
- msgid "MailChimp Lists"
664
- msgstr "لیست های MailChimp"
665
-
666
- #: includes/integrations/views/integration-settings.php:89
667
- msgid ""
668
- "Select the list(s) to which people who check the checkbox should be "
669
- "subscribed."
670
- msgstr "لیستی که می خواهید افرادی که چک باکس را پرکرده اند مشترک آن شوند را انتخاب کنید."
671
-
672
- #: includes/integrations/views/integration-settings.php:102
673
- msgid "Checkbox label text"
674
- msgstr "نوشته برچسب چک باکس"
675
-
676
- #: includes/integrations/views/integration-settings.php:105
677
- msgid "HTML tags like %s are allowed in the label text."
678
- msgstr "برچسب های HTML مانند %s در نوشته برچسب مجاز می باشد."
679
-
680
- #: includes/integrations/views/integration-settings.php:115
681
- msgid "Pre-check the checkbox?"
682
- msgstr "کنترل مقدماتی چک باکس؟"
683
-
684
- #: includes/integrations/views/integration-settings.php:119
685
- msgid "Select \"yes\" if the checkbox should be pre-checked."
686
- msgstr "در صورتیکه تمایل دارید چک باکس به صورت پیش فرض تیک خورده باشد این گزینه را روی بله تنظیم نمایید."
687
-
688
- #: includes/integrations/views/integration-settings.php:127
689
- msgid "Load some default CSS?"
690
- msgstr "بارگیری برخی از CSS های پیشفرض"
691
-
692
- #: includes/integrations/views/integration-settings.php:131
693
- msgid "Select \"yes\" if the checkbox appears in a weird place."
694
- msgstr "اگر چک باکس در یک مکان عجیب و غریب ظاهر شده است \"بله\" را انتخاب کنید."
695
-
696
- #: includes/integrations/views/integration-settings.php:138
697
- msgid "Double opt-in?"
698
- msgstr "تکرار تایید؟"
699
-
700
- #: includes/integrations/views/integration-settings.php:159
701
- msgid "Send Welcome Email?"
702
- msgstr "ارسال ایمیل خوش آمدگویی؟"
703
-
704
- #: includes/integrations/views/integration-settings.php:244
705
- msgid ""
706
- "The selected MailChimp lists require non-default fields, which may prevent "
707
- "this integration from working."
708
- msgstr "لیستهای انتخابی MailChimp شما نیازمند فیلدهای هستند که به صورت پیش فرض وجود ندارند و همین امر منجز به این می شود که الحاقات شما کار نکند."
709
-
710
- #: includes/integrations/views/integration-settings.php:245
711
- msgid ""
712
- "Please ensure you <a href=\"%s\">configure the plugin to send all required "
713
- "fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
714
- "sure only the email & name fields are marked as required fields for the "
715
- "selected list(s)."
716
- msgstr "لطفا اطمینان حاصل نمایید که <a href=\"%s\">پلاگین را به گونه ای تنظیم نموده اید که تمامی فیلدهای اجباری را ارسال نماید</a> یا <a href=\"%s\">وارد حساب کاربری خود در MailChimp </a> شوید و اطمینان حاصل کنید که تنها فیلدهای ایمیل و نام به عنوان فیلدهای الزامی برای لیست یا لیستهای انتخابی برگزیده شده باشند."
717
-
718
- #: includes/integrations/views/integrations.php:30
719
- msgid "Enabled"
720
- msgstr "فعال"
721
-
722
- #: includes/integrations/views/integrations.php:31
723
- msgid "Name"
724
- msgstr "نام"
725
-
726
- #: includes/integrations/views/integrations.php:32
727
- msgid "Description"
728
- msgstr "توضیحات"
729
-
730
- #: includes/integrations/views/integrations.php:50
731
- msgid ""
732
- "This integration is enabled by default as it requires manual actions to "
733
- "work."
734
- msgstr "این الحاق به صورت پیش فرض فعال است زیرا نیازمند اعمال دستی برای کار است."
735
-
736
- #: includes/integrations/views/integrations.php:57
737
- msgid "Configure this integration"
738
- msgstr "تنظیم این افزونه"
739
-
740
- #: includes/views/general-settings.php:18
741
- msgid "General Settings"
742
- msgstr "تنظیمات عمومی"
743
-
744
- #: includes/views/general-settings.php:35
745
- msgid "Status"
746
- msgstr "وضعیت"
747
-
748
- #: includes/views/general-settings.php:39
749
- msgid "CONNECTED"
750
- msgstr "وصل شده"
751
-
752
- #: includes/views/general-settings.php:41
753
- msgid "NOT CONNECTED"
754
- msgstr "وصل نشده"
755
-
756
- #: includes/views/general-settings.php:48
757
- msgid "API Key"
758
- msgstr "کلید API"
759
-
760
- #: includes/views/general-settings.php:50
761
- msgid "Your MailChimp API key"
762
- msgstr "کلید API مربوط MailChimp شما"
763
-
764
- #: includes/views/general-settings.php:52
765
- msgid "The API key for connecting with your MailChimp account."
766
- msgstr "کلید API جهت ارتباط با حساب کاربری شما در MailChimp "
767
-
768
- #: includes/views/general-settings.php:53
769
- msgid "Get your API key here."
770
- msgstr "کلید API خود را از اینجا دریافت کنید."
771
-
772
- #: includes/views/general-settings.php:65
773
- msgid "Usage Tracking"
774
- msgstr "پیگیری مصرف"
775
-
776
- #: includes/views/general-settings.php:71
777
- msgid ""
778
- "Allow us to anonymously track how this plugin is used to help us make it "
779
- "better fit your needs."
780
- msgstr "به ما اجازه دهید تا به صورت ناشناس بررسی کنیم که این پلاگین چگونه عمل می کند تا بتوانیم از نتایج به دست امده از بررسی های برای بهبود عملکرد این خبرنامه استفاده نماییم."
781
-
782
- #: includes/views/general-settings.php:73
783
- msgid "This is what we track."
784
- msgstr "این مواردی است که ما بررسی می کنیم."
785
-
786
- #: includes/views/parts/admin-footer.php:11
787
- msgid ""
788
- "MailChimp for WordPress is in need of translations. Is the plugin not "
789
- "translated in your language or do you spot errors with the current "
790
- "translations? Helping out is easy! Head over to <a href=\"%s\">the "
791
- "translation project and click \"help translate\"</a>."
792
- msgstr "این افزونه به زبان فارسی توسط <a href=\"https://profiles.wordpress.org/mehrban\"> Mehr@ban </a> ترجمه شده است و با ارایه هر بروزرسانی افزونه بهینه تر خواهد شد. اگر مایل هستید که ترجمه های دیگری را از این افزونه ارایه دهید و به بهود آن کمک کنید از بخش <a href=\"%s\"> پروژه ترجمه بازدید کنید</a>."
793
-
794
- #: includes/views/parts/admin-footer.php:31
795
- msgid ""
796
- "This plugin is not developed by or affiliated with MailChimp in any way."
797
- msgstr "این افزونه به هیچ عنوان وابسته و یا توسط میل چمپ توسعه نیافته است ."
798
-
799
- #: includes/views/parts/lists-overview.php:1
800
- msgid "Your MailChimp Account"
801
- msgstr "حساب کاربری MailChimp شما"
802
-
803
- #: includes/views/parts/lists-overview.php:2
804
- msgid ""
805
- "The table below shows your MailChimp lists and their details. If you just "
806
- "applied changes to your MailChimp lists, please use the following button to "
807
- "renew the cached lists configuration."
808
- msgstr "جدول زیر لیستهایی را که شما در MailChimp تعریف نموده اید را به همراه جزئیات هر یک از آنها نمایش می دهد. درصورتیکه در حساب کاربری خود در سایت MailChimp تغییراتی روی هر یک از فرمها اعمال نموده اید لطفا از دکمه زیر برای بروزرسانی لیستها در سایت وردپرسی خود بهره بگیرید."
809
-
810
- #: includes/views/parts/lists-overview.php:14
811
- msgid "No lists were found in your MailChimp account"
812
- msgstr "هیچ لیستی در حساب MailChimp یافت نشد"
813
-
814
- #: includes/views/parts/lists-overview.php:16
815
- msgid "A total of %d lists were found in your MailChimp account."
816
- msgstr "%d لیست در حساب کاربری شما در سایت MailChimp وجود دارد."
817
-
818
- #: includes/views/parts/lists-overview.php:21
819
- msgid "List Name"
820
- msgstr "نام لیست"
821
-
822
- #: includes/views/parts/lists-overview.php:22
823
- msgid "ID"
824
- msgstr "شناسه"
825
-
826
- #: includes/views/parts/lists-overview.php:23
827
- msgid "Subscribers"
828
- msgstr "مشترکین"
829
-
830
- #: includes/views/parts/lists-overview.php:45
831
- msgid "Edit this list in MailChimp"
832
- msgstr "ویرایش این لیست در MailChimp "
833
-
834
- #: includes/views/parts/lists-overview.php:59
835
- msgid "%s (%s) with field type %s."
836
- msgstr "%s (%s) با نوع فیلد %s."
837
-
838
- #: includes/views/parts/lists-overview.php:83
839
- msgid "%s (ID: %s) with type %s."
840
- msgstr "%s (ID: %s) از نوع %s."
841
-
842
- #: integrations/contact-form-7/admin-before.php:2
843
- msgid ""
844
- "To integrate with Contact Form 7, configure the settings below and then add "
845
- "%s to your CF7 form mark-up."
846
- msgstr "برای الحاق افزونه Contact Form 7 تنظیمات زیر را انجام داده و سپس %s را به کد Contact Form 7 خود اضافه نمایید."
847
-
848
- #: integrations/custom/admin-before.php:2
849
- msgid ""
850
- "To get a custom integration to work, include the following HTML in the form "
851
- "you are trying to integrate with."
852
- msgstr "برای الحاق یک قابلیت شخصی سازی شده کد HTML زیر را به فرمی که قصد الحاق این قابلیت به آن را دارید اضافه کنید"
853
-
854
- #: integrations/woocommerce/class-woocommerce.php:102
855
- msgid "Order #%d"
856
- msgstr "مرتب سازی #%d"
857
-
858
- #. Plugin Name of the plugin/theme
859
- msgid "MailChimp for WordPress"
860
- msgstr "MailChimp for WordPress"
861
-
862
- #. Plugin URI of the plugin/theme
863
- msgid ""
864
- "https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-"
865
- "wp&utm_campaign=plugins-page"
866
- msgstr "https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page"
867
-
868
- #. Description of the plugin/theme
869
- msgid ""
870
- "MailChimp for WordPress by ibericode. Adds various highly effective sign-up "
871
- "methods to your site."
872
- msgstr "MailChimp برای وردپرس توسط ibericode. این افزونه متدهای موثر و متعددی را جهت ثبت نام و اشتراک به سایت شما اضافه می کند."
873
-
874
- #. Author of the plugin/theme
875
- msgid "ibericode"
876
- msgstr "ibericode"
877
-
878
- #. Author URI of the plugin/theme
879
- msgid "https://ibericode.com/"
880
- msgstr "https://ibericode.com/"
1
+ # Copyright (C) 2017 mailchimp-for-wp
2
+ # This file is distributed under the same license as the mailchimp-for-wp package.
3
  # Translators:
4
  # A.Mehraban <Mehr.Ban@chmail.ir>, 2015
5
  # Ardavan Afrasiyabi <abox@usa.com>, 2015
6
  # mahnaz vahedi <mahnazvn@yahoo.com>, 2016
7
+ # zeinab bakhtiari <carolinazb9@gmail.com>, 2017
8
  msgid ""
9
  msgstr ""
10
  "Project-Id-Version: MailChimp for WordPress\n"
11
+ "PO-Revision-Date: 2017-06-11 11:48+0000\n"
12
+ "Last-Translator: zeinab bakhtiari <carolinazb9@gmail.com>\n"
 
 
13
  "Language-Team: Persian (Iran) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/fa_IR/)\n"
14
  "MIME-Version: 1.0\n"
15
  "Content-Type: text/plain; charset=UTF-8\n"
16
  "Content-Transfer-Encoding: 8bit\n"
17
  "Language: fa_IR\n"
18
  "Plural-Forms: nplurals=1; plural=0;\n"
19
+ "X-Poedit-Basepath: ..\n"
20
+ "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
23
+ "X-Poedit-SourceCharset: UTF-8\n"
24
 
25
+ #: includes/admin/class-admin-texts.php62,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  #: includes/forms/views/edit-form.php:6
27
  msgid "Settings"
28
  msgstr "تنظیمات"
31
  msgid "Documentation"
32
  msgstr "مستندات"
33
 
34
+ #: includes/admin/class-admin.php:204
35
  msgid ""
36
  "Success! The cached configuration for your MailChimp lists has been renewed."
37
  msgstr "تبریک می گوییم! تنظیمات مربوط به لیست های MailChimp که در سیستم شما کش شده بودند مجددا بارگزرای و بروز شدند."
38
 
39
+ #: includes/admin/class-admin.php:304
40
  msgid ""
41
  "This is a pro-only feature. Please upgrade to the premium version to be able"
42
  " to use it."
43
  msgstr "این ویژگی تنها در نسخه پیشرفته این افزونه در دسترس است به همین دلیل اگر تمایل به استفاده از آن را دارید باید نسخه MailChimp خود را به نسخه پیشرفته ارتقا دهید."
44
 
45
+ #: includes/admin/class-admin.php305,
46
+ #: includes/views/parts/lists-overview.php10,
47
+ #: includes/forms/views/parts/add-fields-help.php:43
48
+ msgid "Renew MailChimp lists"
49
+ msgstr "تازه سازی لیست های MailChimp"
50
+
51
+ #: includes/admin/class-admin.php:306
52
+ msgid "Fetching MailChimp lists"
53
+ msgstr "تازه سازی لیست های MailChimp"
54
+
55
+ #: includes/admin/class-admin.php:307
56
+ msgid "Done! MailChimp lists renewed."
57
+ msgstr ""
58
+
59
+ #: includes/admin/class-admin.php:308
60
+ msgid "This can take a while if you have many MailChimp lists."
61
+ msgstr ""
62
+
63
+ #: includes/admin/class-admin.php336, includes/views/general-settings.php:31
64
  msgid "MailChimp API Settings"
65
  msgstr "تنظیمات API مربوط به MailChimp"
66
 
67
+ #: includes/admin/class-admin.php:337
 
68
  msgid "MailChimp"
69
  msgstr "MailChimp"
70
 
71
+ #: includes/admin/class-admin.php343, includes/views/other-settings.php60,
72
+ #: includes/views/other-settings.php:70
73
+ msgid "Other Settings"
74
+ msgstr "سایر تنظیمات"
75
 
76
+ #: includes/admin/class-admin.php:344
77
+ msgid "Other"
78
+ msgstr "سایر"
79
+
80
+ #: includes/admin/class-admin.php:458
81
+ msgid "Log successfully emptied."
82
+ msgstr "اشتراک با موفقیت انجام شد"
83
+
84
+ #: includes/admin/class-admin.php:488
85
+ msgid ""
86
+ "To get started with MailChimp for WordPress, please <a href=\"%s\">enter "
87
+ "your MailChimp API key on the settings page of the plugin</a>."
88
+ msgstr "برای شروع به کار میل چیمپ برای وردپرس لطفا کد API را در تنطیمات پلاگین وارد کنید."
89
+
90
+ #: includes/admin/class-ads.php:39
91
+ msgid ""
92
+ "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
93
+ "Builder</a> & edit the look of your forms with just a few clicks."
94
+ msgstr ""
95
+
96
+ #: includes/admin/class-ads.php:54
97
+ msgid ""
98
+ "Be notified whenever someone subscribes? <a href=\"%s\">MailChimp for "
99
+ "WordPress Premium</a> allows you to set up email notifications for your "
100
+ "forms."
101
+ msgstr ""
102
+
103
+ #: includes/admin/class-ads.php:56
104
+ msgid ""
105
+ "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
106
+ "submits forms without reloading the entire page, resulting in a much better "
107
+ "experience for your visitors."
108
+ msgstr ""
109
+
110
+ #: includes/admin/class-ads.php:70
111
+ msgid "Upgrade to Premium"
112
+ msgstr "بروز رسانی به نسخه حرفه ای"
113
+
114
+ #: includes/admin/class-ads.php:83
115
+ msgid ""
116
+ "Do you want translated forms for all of your languages? <a href=\"%s\">Try "
117
+ "MailChimp for WordPress Premium</a>, which does just that plus more."
118
+ msgstr ""
119
+
120
+ #: includes/admin/class-ads.php:88
121
+ msgid ""
122
+ "Do you want to create more than one form? Our Premium add-on does just that!"
123
+ " <a href=\"%s\">Have a look at all Premium benefits</a>."
124
+ msgstr ""
125
+
126
+ #: includes/admin/class-ads.php:93
127
  msgid ""
128
+ "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
129
+ "features. <a href=\"%s\">Find out about all benefits now</a>."
130
+ msgstr ""
131
 
132
+ #: includes/admin/class-ads.php:112
133
  msgid "More subscribers, better newsletters."
134
  msgstr "داشتن مشترکین بیشتر منجر به داشتن خبرنامه بهتر می شود"
135
 
136
+ #: includes/admin/class-ads.php:113
137
  msgid ""
138
  "Learn how to best grow your lists & write better emails by subscribing to "
139
  "our monthly tips."
140
  msgstr "با اتشراک در خبرنامه ما با دریافت نکات ماهانه می آموزید که چگونه لیستها و ایمیلهای بهتری بسازید."
141
 
142
+ #: includes/admin/class-ads.php:116
143
  msgid "Email Address"
144
  msgstr "آدرس ایمیل"
145
 
146
+ #: includes/admin/class-ads.php:120
147
  msgid "First Name"
148
  msgstr "نام"
149
 
150
+ #: includes/admin/class-ads.php127, includes/forms/class-admin.php:94
151
  msgid "Subscribe"
152
  msgstr "اشتراک"
153
 
154
+ #: includes/admin/class-ads.php:150
155
+ msgid ""
156
+ "Do you want to track all WooCommerce orders in MailChimp so you can send "
157
+ "emails based on the purchase activity of your subscribers?"
158
+ msgstr ""
159
 
160
+ #: includes/admin/class-ads.php:153
161
+ msgid ""
162
+ "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
163
+ "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
164
+ msgstr ""
165
+
166
+ #: includes/admin/class-review-notice.php:68
167
+ msgid ""
168
+ "You've been using MailChimp for WordPress for some time now; we hope you "
169
+ "love it!"
170
+ msgstr ""
171
+
172
+ #: includes/admin/class-review-notice.php:69
173
+ msgid ""
174
+ "If you do, please <a href=\"%s\">leave us a 5★ rating on WordPress.org</a>. "
175
+ "It would be of great help to us."
176
+ msgstr ""
177
 
178
+ #: includes/admin/class-review-notice.php:71
179
+ msgid "Dismiss this notice."
180
+ msgstr ""
181
+
182
+ #: includes/api/class-api.php:84
183
  msgid "Read more about common connectivity issues."
184
  msgstr "درباره خطاهای متداول اتصال می توانید در این قسمت مطالعه بیشتری داشته باشید."
185
 
186
+ #: includes/forms/class-admin.php:62
187
+ msgid "Add to form"
188
+ msgstr "اضافه کردن فرم"
189
+
190
+ #: includes/forms/class-admin.php:63
191
+ msgid "City"
192
+ msgstr "شهر"
193
+
194
+ #: includes/forms/class-admin.php:64
195
+ msgid "Checkboxes"
196
+ msgstr "چک باکس"
197
+
198
+ #: includes/forms/class-admin.php:65
199
+ msgid "Choices"
200
+ msgstr "انتخاب"
201
+
202
+ #: includes/forms/class-admin.php:66
203
+ msgid "Choice type"
204
+ msgstr ""
205
+
206
+ #: includes/forms/class-admin.php:67
207
+ msgid "Choose a field to add to the form"
208
+ msgstr ""
209
+
210
+ #: includes/forms/class-admin.php:68
211
+ msgid "Close"
212
+ msgstr ""
213
+
214
+ #: includes/forms/class-admin.php:69
215
+ msgid "Country"
216
+ msgstr ""
217
+
218
+ #: includes/forms/class-admin.php:70
219
+ msgid "Dropdown"
220
+ msgstr ""
221
+
222
+ #: includes/forms/class-admin.php:71
223
+ msgid "Field type"
224
+ msgstr ""
225
+
226
+ #: includes/forms/class-admin.php:72
227
+ msgid "Field label"
228
+ msgstr ""
229
+
230
+ #: includes/forms/class-admin.php:73
231
+ msgid "Form action"
232
+ msgstr ""
233
+
234
+ #: includes/forms/class-admin.php:74
235
+ msgid ""
236
+ "This field will allow your visitors to choose whether they would like to "
237
+ "subscribe or unsubscribe"
238
+ msgstr ""
239
+
240
+ #: includes/forms/class-admin.php:75
241
+ msgid "Form fields"
242
+ msgstr ""
243
+
244
+ #: includes/forms/class-admin.php:76
245
+ msgid "This field is marked as required in MailChimp."
246
+ msgstr ""
247
+
248
+ #: includes/forms/class-admin.php:77
249
+ msgid "Initial value"
250
+ msgstr ""
251
+
252
+ #: includes/forms/class-admin.php:78
253
+ msgid "Interest categories"
254
+ msgstr ""
255
+
256
+ #: includes/forms/class-admin.php:79
257
+ msgid "Is this field required?"
258
+ msgstr ""
259
+
260
+ #: includes/forms/class-admin.php:80
261
+ msgid "List choice"
262
+ msgstr ""
263
+
264
+ #: includes/forms/class-admin.php:81
265
+ msgid "This field will allow your visitors to choose a list to subscribe to."
266
+ msgstr ""
267
+
268
+ #: includes/forms/class-admin.php:82
269
+ msgid "List fields"
270
+ msgstr ""
271
+
272
+ #: includes/forms/class-admin.php:83
273
+ msgid "Min"
274
+ msgstr ""
275
+
276
+ #: includes/forms/class-admin.php:84
277
+ msgid "Max"
278
+ msgstr ""
279
+
280
+ #: includes/forms/class-admin.php:85
281
+ msgid ""
282
+ "No available fields. Did you select a MailChimp list in the form settings?"
283
+ msgstr ""
284
+
285
+ #: includes/forms/class-admin.php:86
286
+ msgid "Optional"
287
+ msgstr ""
288
+
289
+ #: includes/forms/class-admin.php:87
290
+ msgid "Placeholder"
291
+ msgstr ""
292
+
293
+ #: includes/forms/class-admin.php:88
294
+ msgid "Text to show when field has no value."
295
+ msgstr ""
296
+
297
+ #: includes/forms/class-admin.php:89
298
+ msgid "Preselect"
299
+ msgstr ""
300
+
301
+ #: includes/forms/class-admin.php:90
302
+ msgid "Remove"
303
+ msgstr ""
304
+
305
+ #: includes/forms/class-admin.php:91
306
+ msgid "Radio buttons"
307
+ msgstr ""
308
+
309
+ #: includes/forms/class-admin.php:92
310
+ msgid "Street Address"
311
+ msgstr ""
312
+
313
+ #: includes/forms/class-admin.php:93
314
+ msgid "State"
315
+ msgstr ""
316
+
317
+ #: includes/forms/class-admin.php:95
318
+ msgid "Submit button"
319
+ msgstr ""
320
+
321
+ #: includes/forms/class-admin.php:96
322
+ msgid "Wrap in paragraph tags?"
323
+ msgstr ""
324
+
325
+ #: includes/forms/class-admin.php:97
326
+ msgid "Value"
327
+ msgstr ""
328
+
329
+ #: includes/forms/class-admin.php:98
330
+ msgid "Text to prefill this field with."
331
+ msgstr ""
332
+
333
+ #: includes/forms/class-admin.php:99
334
+ msgid "ZIP"
335
+ msgstr ""
336
+
337
+ #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
338
+ #: includes/forms/views/edit-form.php:24
339
  msgid "Forms"
340
  msgstr "فرم‌ها"
341
 
342
+ #: includes/forms/class-admin.php152, includes/forms/class-admin.php:276
343
  msgid "<strong>Success!</strong> Form successfully saved."
344
  msgstr "فرم با موفقیت ذخیره شد."
345
 
346
+ #: includes/forms/class-admin.php:276
347
  msgid "Preview form"
348
  msgstr "پیش نمایش فرم"
349
 
350
+ #: includes/forms/class-admin.php449, includes/forms/class-widget.php:30
351
+ msgid "MailChimp Sign-Up Form"
352
+ msgstr "فرم ثبت نام MailChimp"
353
 
354
+ #: includes/forms/class-admin.php:453
355
+ msgid "Select the form to show"
356
+ msgstr "فرمی را برای نمایش انتخاب کنید"
357
 
358
+ #: includes/forms/class-form-previewer.php:146
359
  msgid "Form preview"
360
  msgstr "پیش نمایش فرم"
361
 
362
+ #: includes/forms/class-form-tags.php:60
363
  msgid "Replaced with the form response (error or success messages)."
364
  msgstr "جایگزین با فرم پاسخگو ( پیام های خطا یا موفقیت آمیز)."
365
 
366
+ #: includes/forms/class-form-tags.php:65
367
  msgid "Data from the URL or a submitted form."
368
  msgstr "داده دریافتی از آدرس مشخص یا فرم ثبت نام"
369
 
370
+ #: includes/forms/class-form-tags.php:71
371
+ msgid "Data from a cookie."
372
+ msgstr ""
373
+
374
+ #: includes/forms/class-form-tags.php77,
375
  #: includes/integrations/class-integration-tags.php:45
376
  msgid "Replaced with the number of subscribers on the selected list(s)"
377
  msgstr "جایگزین با تعداد مشترکینی که از لیست انتخاب شده اند."
378
 
379
+ #: includes/forms/class-form-tags.php:82
380
  msgid "The email address of the current visitor (if known)."
381
  msgstr "آدرس ایمیل کاربر فعلی (در صورت تشخیص)"
382
 
383
+ #: includes/forms/class-form-tags.php:87
384
  msgid "The URL of the page."
385
  msgstr "آدرس صفحه (URL)"
386
 
387
+ #: includes/forms/class-form-tags.php:92
388
  msgid "The path of the page."
389
  msgstr "مسیر صفحه"
390
 
391
+ #: includes/forms/class-form-tags.php:97
392
  msgid "The current date. Example: %s."
393
  msgstr "تاریخ جاری. مثال : %s."
394
 
395
+ #: includes/forms/class-form-tags.php:102
396
  msgid "The current time. Example: %s."
397
  msgstr "زمان جاری. مثال: %s."
398
 
399
+ #: includes/forms/class-form-tags.php:107
400
  msgid "The site's language. Example: %s."
401
  msgstr "زبان سایت. مثال: %s."
402
 
403
+ #: includes/forms/class-form-tags.php:112
404
  msgid "The visitor's IP address. Example: %s."
405
  msgstr "آدرس آی پی کاربر. مثال : %s."
406
 
407
+ #: includes/forms/class-form-tags.php:117
408
  msgid "The property of the currently logged-in user."
409
  msgstr "مشخصه های کاربر حاضر در سایت"
410
 
411
+ #: includes/forms/class-form-tags.php:123
412
+ msgid "Property of the current page or post."
413
+ msgstr ""
414
+
415
+ #: includes/forms/class-form.php:133
416
  msgid "There is no form with ID %d, perhaps it was deleted?"
417
  msgstr "هیچ فرمی با شناسه %d, یافت نشد شاید این فرم پاک شده باشد؟"
418
 
420
  msgid "Newsletter"
421
  msgstr "خبرنامه"
422
 
 
 
 
 
423
  #: includes/forms/class-widget.php:32
424
  msgid "Displays your MailChimp for WordPress sign-up form"
425
  msgstr "نمایش فرم ثبت نام MailChimp for WordPress شما"
434
  " form settings</a>."
435
  msgstr "شما می توانید فرم ثبت نام خود را از<a href=\"%s\">بخش تنظیمات میل چمپ</a> ویرایش کنید."
436
 
437
+ #: includes/integrations/class-admin.php79,
438
+ #: includes/integrations/class-admin.php80,
439
+ #: includes/integrations/views/integration-settings.php10,
440
+ #: includes/integrations/views/integrations.php57,
441
+ #: includes/integrations/views/integrations.php:65
442
+ msgid "Integrations"
443
+ msgstr "انضمامها "
444
+
445
+ #: includes/views/general-settings.php7, includes/views/other-settings.php58,
446
+ #: includes/forms/views/edit-form.php22,
447
+ #: includes/integrations/views/integration-settings.php8,
448
+ #: includes/integrations/views/integrations.php:55
449
+ msgid "You are here: "
450
+ msgstr "شما اینجا هستید:"
451
+
452
+ #: includes/views/general-settings.php:18
453
+ msgid "General Settings"
454
+ msgstr "تنظیمات عمومی"
455
+
456
+ #: includes/views/general-settings.php:38
457
+ msgid "Status"
458
+ msgstr "وضعیت"
459
+
460
+ #: includes/views/general-settings.php:42
461
+ msgid "CONNECTED"
462
+ msgstr "وصل شده"
463
+
464
+ #: includes/views/general-settings.php:44
465
+ msgid "NOT CONNECTED"
466
+ msgstr "وصل نشده"
467
+
468
+ #: includes/views/general-settings.php:51
469
+ msgid "API Key"
470
+ msgstr "کلید API"
471
+
472
+ #: includes/views/general-settings.php:53
473
+ msgid "Your MailChimp API key"
474
+ msgstr "کلید API مربوط MailChimp شما"
475
+
476
+ #: includes/views/general-settings.php:55
477
+ msgid "The API key for connecting with your MailChimp account."
478
+ msgstr "کلید API جهت ارتباط با حساب کاربری شما در MailChimp "
479
+
480
+ #: includes/views/general-settings.php:56
481
+ msgid "Get your API key here."
482
+ msgstr "کلید API خود را از اینجا دریافت کنید."
483
+
484
+ #: includes/views/other-settings.php:14
485
+ msgid "Miscellaneous settings"
486
+ msgstr ""
487
+
488
+ #: includes/views/other-settings.php:17
489
+ msgid "Usage Tracking"
490
+ msgstr "پیگیری مصرف"
491
+
492
+ #: includes/views/other-settings.php:29
493
+ msgid ""
494
+ "Allow us to anonymously track how this plugin is used to help us make it "
495
+ "better fit your needs."
496
+ msgstr "به ما اجازه دهید تا به صورت ناشناس بررسی کنیم که این پلاگین چگونه عمل می کند تا بتوانیم از نتایج به دست امده از بررسی های برای بهبود عملکرد این خبرنامه استفاده نماییم."
497
+
498
+ #: includes/views/other-settings.php:31
499
+ msgid "This is what we track."
500
+ msgstr "این مواردی است که ما بررسی می کنیم."
501
+
502
+ #: includes/views/other-settings.php:37
503
+ msgid "Logging"
504
+ msgstr ""
505
+
506
+ #: includes/views/other-settings.php:44
507
+ msgid ""
508
+ "Determines what events should be written to <a href=\"%s\">the debug log</a>"
509
+ " (see below)."
510
+ msgstr ""
511
+
512
+ #: includes/views/other-settings.php:99
513
+ msgid "Debug Log"
514
+ msgstr ""
515
+
516
+ #: includes/views/other-settings.php:99
517
+ msgid "Filter.."
518
+ msgstr ""
519
+
520
+ #: includes/views/other-settings.php:104
521
+ msgid "Log file is not writable."
522
+ msgstr ""
523
+
524
+ #: includes/views/other-settings.php:105
525
+ msgid "Please ensure %s has the proper <a href=\"%s\">file permissions</a>."
526
+ msgstr "لطفا مطمئن شوید %s امکان پذیر است <a href=\"%s\">دسترسی فایل</a>."
527
+
528
+ #: includes/views/other-settings.php:123
529
+ msgid "Nothing here. Which means there are no errors!"
530
+ msgstr ""
531
+
532
+ #: includes/views/other-settings.php:133
533
+ msgid "Empty Log"
534
+ msgstr ""
535
+
536
+ #: includes/views/other-settings.php:141
537
+ msgid "Right now, the plugin is configured to only log errors and warnings."
538
+ msgstr ""
539
+
540
+ #: includes/admin/migrations/3.0.0-form-1-post-type.php:35
541
+ msgid "Default sign-up form"
542
+ msgstr "فرم پیش فرض جهت ثبت نام"
543
+
544
+ #: includes/forms/views/add-form.php10, includes/forms/views/add-form.php:60
545
  msgid "Add new form"
546
  msgstr "اضافه نمودن فرم جدید"
547
 
569
  msgid "Messages"
570
  msgstr "پیغام ها"
571
 
572
+ #: includes/forms/views/edit-form.php:7
573
+ msgid "Appearance"
574
+ msgstr "ظاهر"
575
+
576
+ #: includes/forms/views/edit-form.php:25
577
+ msgid "Form"
578
+ msgstr ""
579
+
580
+ #: includes/forms/views/edit-form.php:34
581
+ msgid "Edit Form"
582
+ msgstr "ویرایش فرم"
583
+
584
+ #: includes/forms/views/edit-form.php:58
585
+ msgid "Enter form title here"
586
+ msgstr "عنوان فرم را در این قسمت وارد نمایید"
587
+
588
+ #: includes/forms/views/edit-form.php:59
589
+ msgid "Enter the title of your sign-up form"
590
+ msgstr "عنوان فرم اشتراک خود را در این قسمت وارد نمایید"
591
+
592
+ #: includes/forms/views/edit-form.php:65
593
+ msgid "Shortcode"
594
+ msgstr ""
595
+
596
+ #: includes/forms/views/edit-form.php:67
597
+ msgid "Get shortcode"
598
+ msgstr "دریافت کد کوتاه"
599
+
600
+ #: includes/forms/views/edit-form.php:72
601
+ msgid "Preview this form"
602
+ msgstr "پیش نمایش این فرم"
603
+
604
+ #: includes/integrations/views/integration-settings.php:20
605
+ msgid "%s integration"
606
+ msgstr "انضمام %s"
607
+
608
+ #: includes/integrations/views/integration-settings.php:27
609
+ msgid ""
610
+ "The selected MailChimp lists require non-default fields, which may prevent "
611
+ "this integration from working."
612
+ msgstr "لیستهای انتخابی MailChimp شما نیازمند فیلدهای هستند که به صورت پیش فرض وجود ندارند و همین امر منجز به این می شود که الحاقات شما کار نکند."
613
+
614
+ #: includes/integrations/views/integration-settings.php:28
615
+ msgid ""
616
+ "Please ensure you <a href=\"%s\">configure the plugin to send all required "
617
+ "fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
618
+ "sure only the email & name fields are marked as required fields for the "
619
+ "selected list(s)."
620
+ msgstr "لطفا اطمینان حاصل نمایید که <a href=\"%s\">پلاگین را به گونه ای تنظیم نموده اید که تمامی فیلدهای اجباری را ارسال نماید</a> یا <a href=\"%s\">وارد حساب کاربری خود در MailChimp </a> شوید و اطمینان حاصل کنید که تنها فیلدهای ایمیل و نام به عنوان فیلدهای الزامی برای لیست یا لیستهای انتخابی برگزیده شده باشند."
621
+
622
+ #: includes/integrations/views/integration-settings.php:62
623
+ msgid "Enabled?"
624
+ msgstr "فعال شده؟"
625
+
626
+ #: includes/integrations/views/integration-settings.php:66
627
+ msgid ""
628
+ "Enable the %s integration? This will add a sign-up checkbox to the form."
629
+ msgstr "فعال نمودن انضمام %s ؟ این گزینه یک چک باکس جهت اشتراک در فرم قرار می دهد."
630
+
631
+ #: includes/integrations/views/integration-settings.php:76
632
+ msgid "Implicit?"
633
+ msgstr "مجازی؟"
634
+
635
+ #: includes/integrations/views/integration-settings.php:80
636
+ msgid ""
637
+ "Select \"no\" if you want to ask your visitors before they are subscribed "
638
+ "(recommended)."
639
+ msgstr "در صورتیکه می خواهید از بازدیدکنندگانتان قبل از اشتراک در خبرنامه پرسیده شود این گزینه را روی خیر تنظیم نمایید(پیشنهاد می شود)"
640
+
641
+ #: includes/integrations/views/integration-settings.php:90
642
+ msgid "MailChimp Lists"
643
+ msgstr "لیست های MailChimp"
644
+
645
+ #: includes/integrations/views/integration-settings.php:103
646
+ msgid ""
647
+ "Select the list(s) to which people who check the checkbox should be "
648
+ "subscribed."
649
+ msgstr "لیستی که می خواهید افرادی که چک باکس را پرکرده اند مشترک آن شوند را انتخاب کنید."
650
+
651
+ #: includes/integrations/views/integration-settings.php107,
652
+ #: includes/forms/views/tabs/form-settings.php:18
653
+ msgid "No lists found, <a href=\"%s\">are you connected to MailChimp</a>?"
654
+ msgstr "هیچ لیستی پیدا نشد ، %s شما به MailChimp متصل هستید؟%s"
655
+
656
+ #: includes/integrations/views/integration-settings.php:116
657
+ msgid "Checkbox label text"
658
+ msgstr "نوشته برچسب چک باکس"
659
+
660
+ #: includes/integrations/views/integration-settings.php:119
661
+ msgid "HTML tags like %s are allowed in the label text."
662
+ msgstr "برچسب های HTML مانند %s در نوشته برچسب مجاز می باشد."
663
+
664
+ #: includes/integrations/views/integration-settings.php:129
665
+ msgid "Pre-check the checkbox?"
666
+ msgstr "کنترل مقدماتی چک باکس؟"
667
+
668
+ #: includes/integrations/views/integration-settings.php:133
669
+ msgid "Select \"yes\" if the checkbox should be pre-checked."
670
+ msgstr "در صورتیکه تمایل دارید چک باکس به صورت پیش فرض تیک خورده باشد این گزینه را روی بله تنظیم نمایید."
671
+
672
+ #: includes/integrations/views/integration-settings.php:141
673
+ msgid "Load some default CSS?"
674
+ msgstr "بارگیری برخی از CSS های پیشفرض"
675
+
676
+ #: includes/integrations/views/integration-settings.php:145
677
+ msgid "Select \"yes\" if the checkbox appears in a weird place."
678
+ msgstr "اگر چک باکس در یک مکان عجیب و غریب ظاهر شده است \"بله\" را انتخاب کنید."
679
+
680
+ #: includes/integrations/views/integration-settings.php:152
681
+ msgid "Double opt-in?"
682
+ msgstr "تکرار تایید؟"
683
+
684
+ #: includes/integrations/views/integration-settings.php:163
685
+ msgid ""
686
+ "Select \"yes\" if you want people to confirm their email address before "
687
+ "being subscribed (recommended)"
688
+ msgstr "اگر می خواهید افراد قبل از مشترک شدن ایمیل تایید دریافت کنند \"بله\" را انتخاب کنید. ( توصیه میشود)"
689
+
690
+ #: includes/integrations/views/integration-settings.php171,
691
+ #: includes/forms/views/tabs/form-settings.php:52
692
+ msgid "Update existing subscribers?"
693
+ msgstr "بروزرسانی مشترکین موجود؟"
694
+
695
+ #: includes/integrations/views/integration-settings.php181,
696
+ #: includes/forms/views/tabs/form-settings.php:62
697
+ msgid ""
698
+ "Select \"yes\" if you want to update existing subscribers with the data that"
699
+ " is sent."
700
+ msgstr "اگر می خواهید به روزرسانی مشترکین موجود همرا با داده ها ارسال شود \"بله\" را انتخاب کنید."
701
+
702
+ #: includes/integrations/views/integration-settings.php190,
703
+ #: includes/forms/views/tabs/form-settings.php:68
704
+ msgid "Replace interest groups?"
705
+ msgstr "جایگزین interest groups؟"
706
+
707
+ #: includes/integrations/views/integration-settings.php201,
708
+ #: includes/forms/views/tabs/form-settings.php:79
709
+ msgid ""
710
+ "Select \"no\" if you want to add the selected interests to any previously "
711
+ "selected interests when updating a subscriber."
712
+ msgstr ""
713
+
714
+ #: includes/integrations/views/integration-settings.php202,
715
+ #: includes/forms/views/tabs/form-settings.php:80
716
+ msgid "What does this do?"
717
+ msgstr "این گزینه چه کاری انجام می دهد؟"
718
+
719
+ #: includes/integrations/views/integrations.php:17
720
+ msgid "Name"
721
+ msgstr "نام"
722
+
723
+ #: includes/integrations/views/integrations.php:18
724
+ msgid "Description"
725
+ msgstr "توضیحات"
726
+
727
+ #: includes/integrations/views/integrations.php:35
728
+ msgid "Configure this integration"
729
+ msgstr "تنظیم این افزونه"
730
+
731
+ #: includes/integrations/views/integrations.php:71
732
+ msgid "The table below shows all available integrations."
733
+ msgstr ""
734
+
735
+ #: includes/integrations/views/integrations.php:72
736
+ msgid ""
737
+ "Click on the name of an integration to edit all settings specific to that "
738
+ "integration."
739
+ msgstr ""
740
+
741
+ #: includes/integrations/views/integrations.php:79
742
+ msgid "Enabled integrations"
743
+ msgstr ""
744
+
745
+ #: includes/integrations/views/integrations.php:84
746
+ msgid "Available integrations"
747
+ msgstr ""
748
+
749
+ #: includes/views/parts/admin-footer.php:15
750
+ msgid ""
751
+ "MailChimp for WordPress is in need of translations. Is the plugin not "
752
+ "translated in your language or do you spot errors with the current "
753
+ "translations? Helping out is easy! Head over to <a href=\"%s\">the "
754
+ "translation project and click \"help translate\"</a>."
755
+ msgstr "این افزونه به زبان فارسی توسط <a href=\"https://profiles.wordpress.org/mehrban\"> Mehr@ban </a> ترجمه شده است و با ارایه هر بروزرسانی افزونه بهینه تر خواهد شد. اگر مایل هستید که ترجمه های دیگری را از این افزونه ارایه دهید و به بهود آن کمک کنید از بخش <a href=\"%s\"> پروژه ترجمه بازدید کنید</a>."
756
+
757
+ #: includes/views/parts/admin-footer.php:35
758
+ msgid ""
759
+ "This plugin is not developed by or affiliated with MailChimp in any way."
760
+ msgstr "این افزونه به هیچ عنوان وابسته و یا توسط میل چمپ توسعه نیافته است ."
761
+
762
+ #: includes/views/parts/admin-sidebar.php:11
763
+ msgid "Looking for help?"
764
+ msgstr ""
765
+
766
+ #: includes/views/parts/admin-sidebar.php:12
767
+ msgid "We have some resources available to help you in the right direction."
768
+ msgstr ""
769
+
770
+ #: includes/views/parts/admin-sidebar.php:14
771
+ msgid "Knowledge Base"
772
+ msgstr ""
773
+
774
+ #: includes/views/parts/admin-sidebar.php:15
775
+ msgid "Frequently Asked Questions"
776
+ msgstr ""
777
+
778
+ #: includes/views/parts/admin-sidebar.php:16
779
+ msgid "Code reference for developers"
780
+ msgstr ""
781
+
782
+ #: includes/views/parts/admin-sidebar.php:36
783
+ msgid "Looking to improve your sign-up rates?"
784
+ msgstr ""
785
+
786
+ #: includes/views/parts/admin-sidebar.php:37
787
+ msgid ""
788
+ "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or "
789
+ "slide-ins with a subscribe form. A sure way to grow your lists faster."
790
+ msgstr ""
791
+
792
+ #: includes/views/parts/lists-overview.php:1
793
+ msgid "Your MailChimp Account"
794
+ msgstr "حساب کاربری MailChimp شما"
795
+
796
+ #: includes/views/parts/lists-overview.php:2
797
+ msgid ""
798
+ "The table below shows your MailChimp lists and their details. If you just "
799
+ "applied changes to your MailChimp lists, please use the following button to "
800
+ "renew the cached lists configuration."
801
+ msgstr "جدول زیر لیستهایی را که شما در MailChimp تعریف نموده اید را به همراه جزئیات هر یک از آنها نمایش می دهد. درصورتیکه در حساب کاربری خود در سایت MailChimp تغییراتی روی هر یک از فرمها اعمال نموده اید لطفا از دکمه زیر برای بروزرسانی لیستها در سایت وردپرسی خود بهره بگیرید."
802
+
803
+ #: includes/views/parts/lists-overview.php:17
804
+ msgid "No lists were found in your MailChimp account"
805
+ msgstr "هیچ لیستی در حساب MailChimp یافت نشد"
806
 
807
+ #: includes/views/parts/lists-overview.php:19
808
+ msgid "A total of %d lists were found in your MailChimp account."
809
+ msgstr "%d لیست در حساب کاربری شما در سایت MailChimp وجود دارد."
 
 
 
810
 
811
+ #: includes/views/parts/lists-overview.php:24
812
+ msgid "List Name"
813
+ msgstr "نام لیست"
814
 
815
+ #: includes/views/parts/lists-overview.php:25
816
+ msgid "ID"
817
+ msgstr "شناسه"
818
 
819
+ #: includes/views/parts/lists-overview.php:26
820
+ msgid "Subscribers"
821
+ msgstr "مشترکین"
822
 
823
+ #: includes/views/parts/lists-overview.php:48
824
+ msgid "Edit this list in MailChimp"
825
+ msgstr "ویرایش این لیست در MailChimp "
826
 
827
+ #: includes/views/parts/lists-overview.php:62
828
+ msgid "%s (%s) with field type %s."
829
+ msgstr "%s (%s) با نوع فیلد %s."
830
 
831
+ #: includes/forms/views/parts/add-fields-help.php4,
832
  #: includes/forms/views/tabs/form-fields.php:10
833
  msgid "Add more fields"
834
  msgstr "اضافه نمودن فیلدهای بیشتر"
865
  "changes."
866
  msgstr "برای آنکه افزونه خبرنامه MailChimp تغیرات شما را برداشته و دائما بروز باشد این دکمه را انتخاب نمایید."
867
 
 
 
 
 
 
868
  #: includes/forms/views/parts/dynamic-content-tags.php:6
869
  msgid "Add dynamic form variable"
870
  msgstr "اضافه نمودنمتغیرهای داینامیک به فرم"
937
  msgid "Enter the HTML code for your form fields.."
938
  msgstr "کد HTML مربوط به فیلدهای فرم خود را وارد کنید..."
939
 
940
+ #: includes/forms/views/tabs/form-fields.php:26
 
 
 
 
941
  msgid ""
942
  "Use the shortcode %s to display this form inside a post, page or text "
943
  "widget."
944
  msgstr "از کدکوتاه %s برای نمایش این فرم در داخل ویجت، پست ، برگه و یا متن استفاده کنید."
945
 
946
+ #: includes/forms/views/tabs/form-messages.php:6
947
  msgid "Form Messages"
948
  msgstr "پیام های فرم"
949
 
950
+ #: includes/forms/views/tabs/form-messages.php:16
951
  msgid "Successfully subscribed"
952
  msgstr "اشتراک با موفقیت انجام شد"
953
 
954
+ #: includes/forms/views/tabs/form-messages.php:19
955
  msgid ""
956
  "The text that shows when an email address is successfully subscribed to the "
957
  "selected list(s)."
958
  msgstr "این نوشته وقتی که آدرس ایمیلی با موفقیت در لیست انتخاب شده مشترک میشود نشان داده میشود."
959
 
960
+ #: includes/forms/views/tabs/form-messages.php:23
961
  msgid "Invalid email address"
962
  msgstr "آدرس ایمیل نامعتبر"
963
 
964
+ #: includes/forms/views/tabs/form-messages.php:26
965
  msgid "The text that shows when an invalid email address is given."
966
  msgstr "این نوشته وقتی که آدرس ایمیل نا معتبر باشد نمایش داده میشود."
967
 
968
+ #: includes/forms/views/tabs/form-messages.php:30
969
  msgid "Required field missing"
970
  msgstr "فیلد های فراموش شده"
971
 
972
+ #: includes/forms/views/tabs/form-messages.php:33
973
  msgid ""
974
  "The text that shows when a required field for the selected list(s) is "
975
  "missing."
976
  msgstr "این نوشته وقتی که فیلدهای ضروری فراموش و یا پرنشده باشد نمایش داده میشود."
977
 
978
+ #: includes/forms/views/tabs/form-messages.php:37
979
  msgid "Already subscribed"
980
  msgstr "از قبل مشترک شده"
981
 
982
+ #: includes/forms/views/tabs/form-messages.php:40
983
  msgid ""
984
  "The text that shows when the given email is already subscribed to the "
985
  "selected list(s)."
986
  msgstr "این نوشته وقتی که ایمیل دریافتی از قبل در لیست انتخاب شده مشترک شده باشد نمایش داده میشود."
987
 
988
+ #: includes/forms/views/tabs/form-messages.php:44
989
  msgid "General error"
990
  msgstr "خطا عمومی"
991
 
992
+ #: includes/forms/views/tabs/form-messages.php:47
993
  msgid "The text that shows when a general error occured."
994
  msgstr "این نوشته وقتی خطای عمومی رخ دهد نمایش داده میشود."
995
 
996
+ #: includes/forms/views/tabs/form-messages.php:51
997
  msgid "Unsubscribed"
998
  msgstr "لغو اشتراک"
999
 
1000
+ #: includes/forms/views/tabs/form-messages.php:54
1001
  msgid ""
1002
  "When using the unsubscribe method, this is the text that shows when the "
1003
  "given email address is successfully unsubscribed from the selected list(s)."
1004
  msgstr "وقتی که از متد لغو اشتراک استفاده شده این نوشته برای ایمیل هایی که با موفقیت اشتراکشان از لیست لغو شده نشان داده میشود."
1005
 
1006
+ #: includes/forms/views/tabs/form-messages.php:58
1007
  msgid "Not subscribed"
1008
  msgstr "مشترک نشده"
1009
 
1010
+ #: includes/forms/views/tabs/form-messages.php:61
1011
  msgid ""
1012
  "When using the unsubscribe method, this is the text that shows when the "
1013
  "given email address is not on the selected list(s)."
1014
  msgstr "وقتی که از متد لغو اشتراک استفاده شود ، این نوشته برای ایمیل هایی که جزو مشترکین نبوده اند نمایش داده میشود."
1015
 
1016
+ #: includes/forms/views/tabs/form-messages.php:65
1017
+ msgid "No list selected"
1018
+ msgstr ""
1019
+
1020
+ #: includes/forms/views/tabs/form-messages.php:68
1021
+ msgid ""
1022
+ "When offering a list choice, this is the text that shows when no lists were "
1023
+ "selected."
1024
+ msgstr ""
1025
+
1026
+ #: includes/forms/views/tabs/form-messages.php:74
1027
+ msgid "Updated"
1028
+ msgstr ""
1029
+
1030
+ #: includes/forms/views/tabs/form-messages.php:77
1031
+ msgid "The text that shows when an existing subscriber is updated."
1032
+ msgstr ""
1033
+
1034
+ #: includes/forms/views/tabs/form-messages.php:89
1035
  msgid "HTML tags like %s are allowed in the message fields."
1036
  msgstr "برچسب های HTML مانند %s را در فیلدهای پیام مجاز می باشد."
1037
 
1043
  msgid "MailChimp specific settings"
1044
  msgstr "تنظیمات اختصاصی MailChimp "
1045
 
1046
+ #: includes/forms/views/tabs/form-settings.php:15
1047
  msgid "Lists this form subscribes to"
1048
  msgstr "لیستی که مشترک آن میشوند"
1049
 
1050
+ #: includes/forms/views/tabs/form-settings.php:31
 
 
 
 
 
1051
  msgid ""
1052
  "Select the list(s) to which people who submit this form should be "
1053
  "subscribed."
1054
  msgstr "لیستی که می خواهید افرادی که پس از ارسال فرم مشترک آن شوند را انتخاب کنید."
1055
 
1056
+ #: includes/forms/views/tabs/form-settings.php:37
1057
  msgid "Use double opt-in?"
1058
  msgstr "استفاده از قابلیت double opt-in؟"
1059
 
1060
+ #: includes/forms/views/tabs/form-settings.php:44
1061
+ msgid "Are you sure you want to disable double opt-in?"
1062
+ msgstr ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1063
 
1064
+ #: includes/forms/views/tabs/form-settings.php:47
 
1065
  msgid ""
1066
+ "We strongly suggest keeping double opt-in enabled. Disabling double opt-in "
1067
+ "may result in abuse."
1068
+ msgstr ""
 
 
 
 
 
1069
 
1070
+ #: includes/forms/views/tabs/form-settings.php:94
1071
  msgid "Form behaviour"
1072
  msgstr "رفتار فرم"
1073
 
1074
+ #: includes/forms/views/tabs/form-settings.php:104
1075
  msgid "Hide form after a successful sign-up?"
1076
  msgstr "پنهان کردن فرم پس از ثبت نام موفق؟"
1077
 
1078
+ #: includes/forms/views/tabs/form-settings.php:115
1079
  msgid "Select \"yes\" to hide the form fields after a successful sign-up."
1080
  msgstr "اگر می خواهید بعد از آن که ثبت نام با موفقیت به پایان رسید فرم پنهان شود \"بله\" را انتخاب کنید."
1081
 
1082
+ #: includes/forms/views/tabs/form-settings.php:120
1083
  msgid "Redirect to URL after successful sign-ups"
1084
  msgstr "انتقال به آدرس دلخواه بعد از اتمام موفق ثبت نام"
1085
 
1086
+ #: includes/forms/views/tabs/form-settings.php:122
1087
  msgid "Example: %s"
1088
  msgstr "مثال: %s"
1089
 
1090
+ #: includes/forms/views/tabs/form-settings.php:123
1091
  msgid ""
1092
  "Leave empty or enter <code>0</code> for no redirect. Otherwise, use complete"
1093
  " (absolute) URLs, including <code>http://</code>."
1094
  msgstr "برای عدم انتقال خالی بگذارید و یا <code>0</code> وارد کنید. و در صورت تمایل به انتقال آدرس را کامل وارد کنید، همراه با <code>http://</code>."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/mailchimp-for-wp-fr_FR.mo CHANGED
Binary file
languages/mailchimp-for-wp-fr_FR.po CHANGED
@@ -18,6 +18,7 @@
18
  # Mamadou Gaye Diop <ridialass@gmail.com>, 2016
19
  # Marie Chausse <mariechausse83@gmail.com>, 2016
20
  # Martin Dulude <mdulude@duludeit.ca>, 2017
 
21
  # Sabrina Antunez <sabrina.antunez@hotmail.com>, 2017
22
  # rafie <s.rafie@gmail.com>, 2017
23
  # sleininger <stef.leininger@gmail.com>, 2014
@@ -25,8 +26,8 @@
25
  msgid ""
26
  msgstr ""
27
  "Project-Id-Version: MailChimp for WordPress\n"
28
- "PO-Revision-Date: 2017-05-04 15:20+0000\n"
29
- "Last-Translator: Sabrina Antunez <sabrina.antunez@hotmail.com>\n"
30
  "Language-Team: French (France) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/fr_FR/)\n"
31
  "MIME-Version: 1.0\n"
32
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -108,7 +109,7 @@ msgstr "Pour débuter avec MailChimp pour Wordpress, veuillez <a href=\"%s\">ins
108
  msgid ""
109
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
110
  "Builder</a> & edit the look of your forms with just a few clicks."
111
- msgstr ""
112
 
113
  #: includes/admin/class-ads.php:54
114
  msgid ""
@@ -122,7 +123,7 @@ msgid ""
122
  "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
123
  "submits forms without reloading the entire page, resulting in a much better "
124
  "experience for your visitors."
125
- msgstr ""
126
 
127
  #: includes/admin/class-ads.php:70
128
  msgid "Upgrade to Premium"
@@ -138,13 +139,13 @@ msgstr "Vous souhaitez avoir des formulaires traduits pour toutes vos langues ?
138
  msgid ""
139
  "Do you want to create more than one form? Our Premium add-on does just that!"
140
  " <a href=\"%s\">Have a look at all Premium benefits</a>."
141
- msgstr ""
142
 
143
  #: includes/admin/class-ads.php:93
144
  msgid ""
145
  "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
146
  "features. <a href=\"%s\">Find out about all benefits now</a>."
147
- msgstr ""
148
 
149
  #: includes/admin/class-ads.php:112
150
  msgid "More subscribers, better newsletters."
@@ -172,13 +173,13 @@ msgstr "Abonnez-vous"
172
  msgid ""
173
  "Do you want to track all WooCommerce orders in MailChimp so you can send "
174
  "emails based on the purchase activity of your subscribers?"
175
- msgstr ""
176
 
177
  #: includes/admin/class-ads.php:153
178
  msgid ""
179
  "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
180
  "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
181
- msgstr ""
182
 
183
  #: includes/admin/class-review-notice.php:68
184
  msgid ""
@@ -194,7 +195,7 @@ msgstr ""
194
 
195
  #: includes/admin/class-review-notice.php:71
196
  msgid "Dismiss this notice."
197
- msgstr ""
198
 
199
  #: includes/api/class-api.php:84
200
  msgid "Read more about common connectivity issues."
@@ -260,7 +261,7 @@ msgstr "Champs de formulaire"
260
 
261
  #: includes/forms/class-admin.php:76
262
  msgid "This field is marked as required in MailChimp."
263
- msgstr ""
264
 
265
  #: includes/forms/class-admin.php:77
266
  msgid "Initial value"
@@ -268,7 +269,7 @@ msgstr "Valeur initiale"
268
 
269
  #: includes/forms/class-admin.php:78
270
  msgid "Interest categories"
271
- msgstr ""
272
 
273
  #: includes/forms/class-admin.php:79
274
  msgid "Is this field required?"
@@ -313,7 +314,7 @@ msgstr "Texte à afficher lorsque le champ n'est pas renseigné."
313
 
314
  #: includes/forms/class-admin.php:89
315
  msgid "Preselect"
316
- msgstr ""
317
 
318
  #: includes/forms/class-admin.php:90
319
  msgid "Remove"
18
  # Mamadou Gaye Diop <ridialass@gmail.com>, 2016
19
  # Marie Chausse <mariechausse83@gmail.com>, 2016
20
  # Martin Dulude <mdulude@duludeit.ca>, 2017
21
+ # Mathieu Leblanc <spiky.ing@gmail.com>, 2017
22
  # Sabrina Antunez <sabrina.antunez@hotmail.com>, 2017
23
  # rafie <s.rafie@gmail.com>, 2017
24
  # sleininger <stef.leininger@gmail.com>, 2014
26
  msgid ""
27
  msgstr ""
28
  "Project-Id-Version: MailChimp for WordPress\n"
29
+ "PO-Revision-Date: 2017-06-01 16:29+0000\n"
30
+ "Last-Translator: Mathieu Leblanc <spiky.ing@gmail.com>\n"
31
  "Language-Team: French (France) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/fr_FR/)\n"
32
  "MIME-Version: 1.0\n"
33
  "Content-Type: text/plain; charset=UTF-8\n"
109
  msgid ""
110
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
111
  "Builder</a> & edit the look of your forms with just a few clicks."
112
+ msgstr "Vous voulez modifier le style de votre formulaire? <a href=\"%s\">Essayez le Constructeur de styles</a> et modifiez l'allure de votre formulaire en quelques clics."
113
 
114
  #: includes/admin/class-ads.php:54
115
  msgid ""
123
  "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
124
  "submits forms without reloading the entire page, resulting in a much better "
125
  "experience for your visitors."
126
+ msgstr "Plus de conversions? <a href=\"%s\">MailChimp pour WordPress Premium</a> soumets les formulaires sans recharger toute la page, résultant en une meilleure expérience pour vos visiteurs."
127
 
128
  #: includes/admin/class-ads.php:70
129
  msgid "Upgrade to Premium"
139
  msgid ""
140
  "Do you want to create more than one form? Our Premium add-on does just that!"
141
  " <a href=\"%s\">Have a look at all Premium benefits</a>."
142
+ msgstr "Vous voulez créer plus d'un formulaire? Notre add-on Premium fait exactement ça! <a href=\"%s\">Regardez tous les bénéfices de Premium</a>."
143
 
144
  #: includes/admin/class-ads.php:93
145
  msgid ""
146
  "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
147
  "features. <a href=\"%s\">Find out about all benefits now</a>."
148
+ msgstr "Aimez-vous ce plugin? L'add-on Premium débarre plusieurs fonctionalités avancées. <a href=\"%s\">Découvrez tous les bénéfices</a>."
149
 
150
  #: includes/admin/class-ads.php:112
151
  msgid "More subscribers, better newsletters."
173
  msgid ""
174
  "Do you want to track all WooCommerce orders in MailChimp so you can send "
175
  "emails based on the purchase activity of your subscribers?"
176
+ msgstr "Voulez-vous suivre toutes les commandes WooCommerce dans MailChimp, pour pouvoir envoyer des courriels selon les comportements d'achat de vos abonnés?"
177
 
178
  #: includes/admin/class-ads.php:153
179
  msgid ""
180
  "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
181
  "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
182
+ msgstr "<a href=\"%s\">Upgradez à MailChimp pour WordPress Premium</a> ou <href=\"%s\">lisez davantage à propos des fonctionnalités d'e-commerce de MailChimp</a>."
183
 
184
  #: includes/admin/class-review-notice.php:68
185
  msgid ""
195
 
196
  #: includes/admin/class-review-notice.php:71
197
  msgid "Dismiss this notice."
198
+ msgstr "Fermez cette notification"
199
 
200
  #: includes/api/class-api.php:84
201
  msgid "Read more about common connectivity issues."
261
 
262
  #: includes/forms/class-admin.php:76
263
  msgid "This field is marked as required in MailChimp."
264
+ msgstr "Ceci est un champ requis dans MailChimp."
265
 
266
  #: includes/forms/class-admin.php:77
267
  msgid "Initial value"
269
 
270
  #: includes/forms/class-admin.php:78
271
  msgid "Interest categories"
272
+ msgstr "Catégories d'intérêts"
273
 
274
  #: includes/forms/class-admin.php:79
275
  msgid "Is this field required?"
314
 
315
  #: includes/forms/class-admin.php:89
316
  msgid "Preselect"
317
+ msgstr "Pré-sélection"
318
 
319
  #: includes/forms/class-admin.php:90
320
  msgid "Remove"
languages/mailchimp-for-wp-it_IT.mo CHANGED
Binary file
languages/mailchimp-for-wp-it_IT.po CHANGED
@@ -4,6 +4,7 @@
4
  # Adriano Genovese <adrygese@gmail.com>, 2014-2015
5
  # Adriano Genovese <adrygese@gmail.com>, 2015
6
  # andrea.gatopoulos <andrea.gatopoulos@gmail.com>, 2015
 
7
  # Cristiano Guerra <cristianoguerra75@gmail.com>, 2017
8
  # Dan <d.murtas@gmail.com>, 2014
9
  # francesca mecca <meccafrancesca@gmail.com>, 2015-2016
@@ -13,8 +14,8 @@
13
  msgid ""
14
  msgstr ""
15
  "Project-Id-Version: MailChimp for WordPress\n"
16
- "PO-Revision-Date: 2017-03-28 16:48+0000\n"
17
- "Last-Translator: Cristiano Guerra <cristianoguerra75@gmail.com>\n"
18
  "Language-Team: Italian (Italy) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/it_IT/)\n"
19
  "MIME-Version: 1.0\n"
20
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -76,7 +77,7 @@ msgstr "MailChimp"
76
  #: includes/admin/class-admin.php343, includes/views/other-settings.php60,
77
  #: includes/views/other-settings.php:70
78
  msgid "Other Settings"
79
- msgstr ""
80
 
81
  #: includes/admin/class-admin.php:344
82
  msgid "Other"
@@ -84,19 +85,19 @@ msgstr "Altro"
84
 
85
  #: includes/admin/class-admin.php:458
86
  msgid "Log successfully emptied."
87
- msgstr ""
88
 
89
  #: includes/admin/class-admin.php:488
90
  msgid ""
91
  "To get started with MailChimp for WordPress, please <a href=\"%s\">enter "
92
  "your MailChimp API key on the settings page of the plugin</a>."
93
- msgstr ""
94
 
95
  #: includes/admin/class-ads.php:39
96
  msgid ""
97
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
98
  "Builder</a> & edit the look of your forms with just a few clicks."
99
- msgstr ""
100
 
101
  #: includes/admin/class-ads.php:54
102
  msgid ""
@@ -182,7 +183,7 @@ msgstr ""
182
 
183
  #: includes/admin/class-review-notice.php:71
184
  msgid "Dismiss this notice."
185
- msgstr ""
186
 
187
  #: includes/api/class-api.php:84
188
  msgid "Read more about common connectivity issues."
@@ -190,51 +191,51 @@ msgstr "Per saperne di più sui problemi di connettività comuni."
190
 
191
  #: includes/forms/class-admin.php:62
192
  msgid "Add to form"
193
- msgstr ""
194
 
195
  #: includes/forms/class-admin.php:63
196
  msgid "City"
197
- msgstr ""
198
 
199
  #: includes/forms/class-admin.php:64
200
  msgid "Checkboxes"
201
- msgstr ""
202
 
203
  #: includes/forms/class-admin.php:65
204
  msgid "Choices"
205
- msgstr ""
206
 
207
  #: includes/forms/class-admin.php:66
208
  msgid "Choice type"
209
- msgstr ""
210
 
211
  #: includes/forms/class-admin.php:67
212
  msgid "Choose a field to add to the form"
213
- msgstr ""
214
 
215
  #: includes/forms/class-admin.php:68
216
  msgid "Close"
217
- msgstr ""
218
 
219
  #: includes/forms/class-admin.php:69
220
  msgid "Country"
221
- msgstr ""
222
 
223
  #: includes/forms/class-admin.php:70
224
  msgid "Dropdown"
225
- msgstr ""
226
 
227
  #: includes/forms/class-admin.php:71
228
  msgid "Field type"
229
- msgstr ""
230
 
231
  #: includes/forms/class-admin.php:72
232
  msgid "Field label"
233
- msgstr ""
234
 
235
  #: includes/forms/class-admin.php:73
236
  msgid "Form action"
237
- msgstr ""
238
 
239
  #: includes/forms/class-admin.php:74
240
  msgid ""
@@ -244,15 +245,15 @@ msgstr ""
244
 
245
  #: includes/forms/class-admin.php:75
246
  msgid "Form fields"
247
- msgstr ""
248
 
249
  #: includes/forms/class-admin.php:76
250
  msgid "This field is marked as required in MailChimp."
251
- msgstr ""
252
 
253
  #: includes/forms/class-admin.php:77
254
  msgid "Initial value"
255
- msgstr ""
256
 
257
  #: includes/forms/class-admin.php:78
258
  msgid "Interest categories"
@@ -260,7 +261,7 @@ msgstr ""
260
 
261
  #: includes/forms/class-admin.php:79
262
  msgid "Is this field required?"
263
- msgstr ""
264
 
265
  #: includes/forms/class-admin.php:80
266
  msgid "List choice"
@@ -276,11 +277,11 @@ msgstr ""
276
 
277
  #: includes/forms/class-admin.php:83
278
  msgid "Min"
279
- msgstr ""
280
 
281
  #: includes/forms/class-admin.php:84
282
  msgid "Max"
283
- msgstr ""
284
 
285
  #: includes/forms/class-admin.php:85
286
  msgid ""
@@ -293,35 +294,35 @@ msgstr ""
293
 
294
  #: includes/forms/class-admin.php:87
295
  msgid "Placeholder"
296
- msgstr ""
297
 
298
  #: includes/forms/class-admin.php:88
299
  msgid "Text to show when field has no value."
300
- msgstr ""
301
 
302
  #: includes/forms/class-admin.php:89
303
  msgid "Preselect"
304
- msgstr ""
305
 
306
  #: includes/forms/class-admin.php:90
307
  msgid "Remove"
308
- msgstr ""
309
 
310
  #: includes/forms/class-admin.php:91
311
  msgid "Radio buttons"
312
- msgstr ""
313
 
314
  #: includes/forms/class-admin.php:92
315
  msgid "Street Address"
316
- msgstr ""
317
 
318
  #: includes/forms/class-admin.php:93
319
  msgid "State"
320
- msgstr ""
321
 
322
  #: includes/forms/class-admin.php:95
323
  msgid "Submit button"
324
- msgstr ""
325
 
326
  #: includes/forms/class-admin.php:96
327
  msgid "Wrap in paragraph tags?"
@@ -329,15 +330,15 @@ msgstr ""
329
 
330
  #: includes/forms/class-admin.php:97
331
  msgid "Value"
332
- msgstr ""
333
 
334
  #: includes/forms/class-admin.php:98
335
  msgid "Text to prefill this field with."
336
- msgstr ""
337
 
338
  #: includes/forms/class-admin.php:99
339
  msgid "ZIP"
340
- msgstr ""
341
 
342
  #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
343
  #: includes/forms/views/edit-form.php:24
@@ -415,7 +416,7 @@ msgstr "Proprietà dell'utente attualmente connesso."
415
 
416
  #: includes/forms/class-form-tags.php:123
417
  msgid "Property of the current page or post."
418
- msgstr ""
419
 
420
  #: includes/forms/class-form.php:133
421
  msgid "There is no form with ID %d, perhaps it was deleted?"
@@ -1020,7 +1021,7 @@ msgstr "Qundo usi l'opzione unsubscribe questo testo verrà mostrato quando l'in
1020
 
1021
  #: includes/forms/views/tabs/form-messages.php:65
1022
  msgid "No list selected"
1023
- msgstr ""
1024
 
1025
  #: includes/forms/views/tabs/form-messages.php:68
1026
  msgid ""
@@ -1030,7 +1031,7 @@ msgstr ""
1030
 
1031
  #: includes/forms/views/tabs/form-messages.php:74
1032
  msgid "Updated"
1033
- msgstr ""
1034
 
1035
  #: includes/forms/views/tabs/form-messages.php:77
1036
  msgid "The text that shows when an existing subscriber is updated."
@@ -1064,13 +1065,13 @@ msgstr "Utilizza doppia conferma?"
1064
 
1065
  #: includes/forms/views/tabs/form-settings.php:44
1066
  msgid "Are you sure you want to disable double opt-in?"
1067
- msgstr ""
1068
 
1069
  #: includes/forms/views/tabs/form-settings.php:47
1070
  msgid ""
1071
  "We strongly suggest keeping double opt-in enabled. Disabling double opt-in "
1072
  "may result in abuse."
1073
- msgstr ""
1074
 
1075
  #: includes/forms/views/tabs/form-settings.php:94
1076
  msgid "Form behaviour"
4
  # Adriano Genovese <adrygese@gmail.com>, 2014-2015
5
  # Adriano Genovese <adrygese@gmail.com>, 2015
6
  # andrea.gatopoulos <andrea.gatopoulos@gmail.com>, 2015
7
+ # Cinzia Caleffi <cinzia.caleffi@gmail.com>, 2017
8
  # Cristiano Guerra <cristianoguerra75@gmail.com>, 2017
9
  # Dan <d.murtas@gmail.com>, 2014
10
  # francesca mecca <meccafrancesca@gmail.com>, 2015-2016
14
  msgid ""
15
  msgstr ""
16
  "Project-Id-Version: MailChimp for WordPress\n"
17
+ "PO-Revision-Date: 2017-06-05 16:19+0000\n"
18
+ "Last-Translator: Cinzia Caleffi <cinzia.caleffi@gmail.com>\n"
19
  "Language-Team: Italian (Italy) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/it_IT/)\n"
20
  "MIME-Version: 1.0\n"
21
  "Content-Type: text/plain; charset=UTF-8\n"
77
  #: includes/admin/class-admin.php343, includes/views/other-settings.php60,
78
  #: includes/views/other-settings.php:70
79
  msgid "Other Settings"
80
+ msgstr "Altre Impostazioni"
81
 
82
  #: includes/admin/class-admin.php:344
83
  msgid "Other"
85
 
86
  #: includes/admin/class-admin.php:458
87
  msgid "Log successfully emptied."
88
+ msgstr "Log eliminato con successo."
89
 
90
  #: includes/admin/class-admin.php:488
91
  msgid ""
92
  "To get started with MailChimp for WordPress, please <a href=\"%s\">enter "
93
  "your MailChimp API key on the settings page of the plugin</a>."
94
+ msgstr "Per iniziare con MailChimp for WordPress, per favore <a href=\"%s\">immetti la tua API key di MailChimp nella pagina impostazioni del plugin</a>."
95
 
96
  #: includes/admin/class-ads.php:39
97
  msgid ""
98
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
99
  "Builder</a> & edit the look of your forms with just a few clicks."
100
+ msgstr "Vuoi personalizzare lo stile del tuo Form? <a href=\"%s\">Prova il nostro Styles Builder</a> e modifica lo stile del tuo form in pochi click."
101
 
102
  #: includes/admin/class-ads.php:54
103
  msgid ""
183
 
184
  #: includes/admin/class-review-notice.php:71
185
  msgid "Dismiss this notice."
186
+ msgstr "Rimuovi questa notifica."
187
 
188
  #: includes/api/class-api.php:84
189
  msgid "Read more about common connectivity issues."
191
 
192
  #: includes/forms/class-admin.php:62
193
  msgid "Add to form"
194
+ msgstr "Aggiungi al form"
195
 
196
  #: includes/forms/class-admin.php:63
197
  msgid "City"
198
+ msgstr "Città"
199
 
200
  #: includes/forms/class-admin.php:64
201
  msgid "Checkboxes"
202
+ msgstr "Checkbox"
203
 
204
  #: includes/forms/class-admin.php:65
205
  msgid "Choices"
206
+ msgstr "Scelte"
207
 
208
  #: includes/forms/class-admin.php:66
209
  msgid "Choice type"
210
+ msgstr "Tipo di scelta"
211
 
212
  #: includes/forms/class-admin.php:67
213
  msgid "Choose a field to add to the form"
214
+ msgstr "Scegli un campo da aggiungere al form"
215
 
216
  #: includes/forms/class-admin.php:68
217
  msgid "Close"
218
+ msgstr "Chiudi"
219
 
220
  #: includes/forms/class-admin.php:69
221
  msgid "Country"
222
+ msgstr "Nazione"
223
 
224
  #: includes/forms/class-admin.php:70
225
  msgid "Dropdown"
226
+ msgstr "Dropdown"
227
 
228
  #: includes/forms/class-admin.php:71
229
  msgid "Field type"
230
+ msgstr "Tipo di campo"
231
 
232
  #: includes/forms/class-admin.php:72
233
  msgid "Field label"
234
+ msgstr "Ettichetta del campo"
235
 
236
  #: includes/forms/class-admin.php:73
237
  msgid "Form action"
238
+ msgstr "Azione del form"
239
 
240
  #: includes/forms/class-admin.php:74
241
  msgid ""
245
 
246
  #: includes/forms/class-admin.php:75
247
  msgid "Form fields"
248
+ msgstr "Campi del form"
249
 
250
  #: includes/forms/class-admin.php:76
251
  msgid "This field is marked as required in MailChimp."
252
+ msgstr "Questo campo è settato come obbligatorio su MailChimp"
253
 
254
  #: includes/forms/class-admin.php:77
255
  msgid "Initial value"
256
+ msgstr "Valore iniziale"
257
 
258
  #: includes/forms/class-admin.php:78
259
  msgid "Interest categories"
261
 
262
  #: includes/forms/class-admin.php:79
263
  msgid "Is this field required?"
264
+ msgstr "Questo campo è obbligatorio?"
265
 
266
  #: includes/forms/class-admin.php:80
267
  msgid "List choice"
277
 
278
  #: includes/forms/class-admin.php:83
279
  msgid "Min"
280
+ msgstr "Min"
281
 
282
  #: includes/forms/class-admin.php:84
283
  msgid "Max"
284
+ msgstr "Max"
285
 
286
  #: includes/forms/class-admin.php:85
287
  msgid ""
294
 
295
  #: includes/forms/class-admin.php:87
296
  msgid "Placeholder"
297
+ msgstr "Segnaposto"
298
 
299
  #: includes/forms/class-admin.php:88
300
  msgid "Text to show when field has no value."
301
+ msgstr "Testo da mostrare quando il campo non è popolato."
302
 
303
  #: includes/forms/class-admin.php:89
304
  msgid "Preselect"
305
+ msgstr "Preselezionato"
306
 
307
  #: includes/forms/class-admin.php:90
308
  msgid "Remove"
309
+ msgstr "Rimuovi"
310
 
311
  #: includes/forms/class-admin.php:91
312
  msgid "Radio buttons"
313
+ msgstr "Bottoni radio"
314
 
315
  #: includes/forms/class-admin.php:92
316
  msgid "Street Address"
317
+ msgstr "Indirizzo"
318
 
319
  #: includes/forms/class-admin.php:93
320
  msgid "State"
321
+ msgstr "Stato"
322
 
323
  #: includes/forms/class-admin.php:95
324
  msgid "Submit button"
325
+ msgstr "Bottone di invio"
326
 
327
  #: includes/forms/class-admin.php:96
328
  msgid "Wrap in paragraph tags?"
330
 
331
  #: includes/forms/class-admin.php:97
332
  msgid "Value"
333
+ msgstr "Valore"
334
 
335
  #: includes/forms/class-admin.php:98
336
  msgid "Text to prefill this field with."
337
+ msgstr "Testo precompilato per questo campo."
338
 
339
  #: includes/forms/class-admin.php:99
340
  msgid "ZIP"
341
+ msgstr "CAP"
342
 
343
  #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
344
  #: includes/forms/views/edit-form.php:24
416
 
417
  #: includes/forms/class-form-tags.php:123
418
  msgid "Property of the current page or post."
419
+ msgstr "Proprietà della pagina o dell'articolo corrente"
420
 
421
  #: includes/forms/class-form.php:133
422
  msgid "There is no form with ID %d, perhaps it was deleted?"
1021
 
1022
  #: includes/forms/views/tabs/form-messages.php:65
1023
  msgid "No list selected"
1024
+ msgstr "Nessuna lista selezionata"
1025
 
1026
  #: includes/forms/views/tabs/form-messages.php:68
1027
  msgid ""
1031
 
1032
  #: includes/forms/views/tabs/form-messages.php:74
1033
  msgid "Updated"
1034
+ msgstr "Aggiornato"
1035
 
1036
  #: includes/forms/views/tabs/form-messages.php:77
1037
  msgid "The text that shows when an existing subscriber is updated."
1065
 
1066
  #: includes/forms/views/tabs/form-settings.php:44
1067
  msgid "Are you sure you want to disable double opt-in?"
1068
+ msgstr "Sei sicuro di voler disabilitare la doppia conferma?"
1069
 
1070
  #: includes/forms/views/tabs/form-settings.php:47
1071
  msgid ""
1072
  "We strongly suggest keeping double opt-in enabled. Disabling double opt-in "
1073
  "may result in abuse."
1074
+ msgstr "Si consiglia vivamente di mantenere attiva la doppia conferma. Disabilitarla potrebbe causare abusi."
1075
 
1076
  #: includes/forms/views/tabs/form-settings.php:94
1077
  msgid "Form behaviour"
languages/mailchimp-for-wp-pt_BR.mo CHANGED
Binary file
languages/mailchimp-for-wp-pt_BR.po CHANGED
@@ -18,8 +18,8 @@
18
  msgid ""
19
  msgstr ""
20
  "Project-Id-Version: MailChimp for WordPress\n"
21
- "PO-Revision-Date: 2017-03-30 01:56+0000\n"
22
- "Last-Translator: Evandro Liberato <evandroliberato@gmail.com>\n"
23
  "Language-Team: Portuguese (Brazil) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/pt_BR/)\n"
24
  "MIME-Version: 1.0\n"
25
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -60,7 +60,7 @@ msgstr "Renovar listas MailChimp"
60
 
61
  #: includes/admin/class-admin.php:306
62
  msgid "Fetching MailChimp lists"
63
- msgstr ""
64
 
65
  #: includes/admin/class-admin.php:307
66
  msgid "Done! MailChimp lists renewed."
@@ -95,49 +95,49 @@ msgstr "Log esvaziado com sucesso."
95
  msgid ""
96
  "To get started with MailChimp for WordPress, please <a href=\"%s\">enter "
97
  "your MailChimp API key on the settings page of the plugin</a>."
98
- msgstr ""
99
 
100
  #: includes/admin/class-ads.php:39
101
  msgid ""
102
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
103
  "Builder</a> & edit the look of your forms with just a few clicks."
104
- msgstr ""
105
 
106
  #: includes/admin/class-ads.php:54
107
  msgid ""
108
  "Be notified whenever someone subscribes? <a href=\"%s\">MailChimp for "
109
  "WordPress Premium</a> allows you to set up email notifications for your "
110
  "forms."
111
- msgstr ""
112
 
113
  #: includes/admin/class-ads.php:56
114
  msgid ""
115
  "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
116
  "submits forms without reloading the entire page, resulting in a much better "
117
  "experience for your visitors."
118
- msgstr ""
119
 
120
  #: includes/admin/class-ads.php:70
121
  msgid "Upgrade to Premium"
122
- msgstr ""
123
 
124
  #: includes/admin/class-ads.php:83
125
  msgid ""
126
  "Do you want translated forms for all of your languages? <a href=\"%s\">Try "
127
  "MailChimp for WordPress Premium</a>, which does just that plus more."
128
- msgstr ""
129
 
130
  #: includes/admin/class-ads.php:88
131
  msgid ""
132
  "Do you want to create more than one form? Our Premium add-on does just that!"
133
  " <a href=\"%s\">Have a look at all Premium benefits</a>."
134
- msgstr ""
135
 
136
  #: includes/admin/class-ads.php:93
137
  msgid ""
138
  "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
139
  "features. <a href=\"%s\">Find out about all benefits now</a>."
140
- msgstr ""
141
 
142
  #: includes/admin/class-ads.php:112
143
  msgid "More subscribers, better newsletters."
@@ -165,29 +165,29 @@ msgstr "Inscrever"
165
  msgid ""
166
  "Do you want to track all WooCommerce orders in MailChimp so you can send "
167
  "emails based on the purchase activity of your subscribers?"
168
- msgstr ""
169
 
170
  #: includes/admin/class-ads.php:153
171
  msgid ""
172
  "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
173
  "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
174
- msgstr ""
175
 
176
  #: includes/admin/class-review-notice.php:68
177
  msgid ""
178
  "You've been using MailChimp for WordPress for some time now; we hope you "
179
  "love it!"
180
- msgstr ""
181
 
182
  #: includes/admin/class-review-notice.php:69
183
  msgid ""
184
  "If you do, please <a href=\"%s\">leave us a 5★ rating on WordPress.org</a>. "
185
  "It would be of great help to us."
186
- msgstr ""
187
 
188
  #: includes/admin/class-review-notice.php:71
189
  msgid "Dismiss this notice."
190
- msgstr ""
191
 
192
  #: includes/api/class-api.php:84
193
  msgid "Read more about common connectivity issues."
@@ -195,154 +195,154 @@ msgstr "Leia mais sobre problemas mais comuns de conectividade."
195
 
196
  #: includes/forms/class-admin.php:62
197
  msgid "Add to form"
198
- msgstr ""
199
 
200
  #: includes/forms/class-admin.php:63
201
  msgid "City"
202
- msgstr ""
203
 
204
  #: includes/forms/class-admin.php:64
205
  msgid "Checkboxes"
206
- msgstr ""
207
 
208
  #: includes/forms/class-admin.php:65
209
  msgid "Choices"
210
- msgstr ""
211
 
212
  #: includes/forms/class-admin.php:66
213
  msgid "Choice type"
214
- msgstr ""
215
 
216
  #: includes/forms/class-admin.php:67
217
  msgid "Choose a field to add to the form"
218
- msgstr ""
219
 
220
  #: includes/forms/class-admin.php:68
221
  msgid "Close"
222
- msgstr ""
223
 
224
  #: includes/forms/class-admin.php:69
225
  msgid "Country"
226
- msgstr ""
227
 
228
  #: includes/forms/class-admin.php:70
229
  msgid "Dropdown"
230
- msgstr ""
231
 
232
  #: includes/forms/class-admin.php:71
233
  msgid "Field type"
234
- msgstr ""
235
 
236
  #: includes/forms/class-admin.php:72
237
  msgid "Field label"
238
- msgstr ""
239
 
240
  #: includes/forms/class-admin.php:73
241
  msgid "Form action"
242
- msgstr ""
243
 
244
  #: includes/forms/class-admin.php:74
245
  msgid ""
246
  "This field will allow your visitors to choose whether they would like to "
247
  "subscribe or unsubscribe"
248
- msgstr ""
249
 
250
  #: includes/forms/class-admin.php:75
251
  msgid "Form fields"
252
- msgstr ""
253
 
254
  #: includes/forms/class-admin.php:76
255
  msgid "This field is marked as required in MailChimp."
256
- msgstr ""
257
 
258
  #: includes/forms/class-admin.php:77
259
  msgid "Initial value"
260
- msgstr ""
261
 
262
  #: includes/forms/class-admin.php:78
263
  msgid "Interest categories"
264
- msgstr ""
265
 
266
  #: includes/forms/class-admin.php:79
267
  msgid "Is this field required?"
268
- msgstr ""
269
 
270
  #: includes/forms/class-admin.php:80
271
  msgid "List choice"
272
- msgstr ""
273
 
274
  #: includes/forms/class-admin.php:81
275
  msgid "This field will allow your visitors to choose a list to subscribe to."
276
- msgstr ""
277
 
278
  #: includes/forms/class-admin.php:82
279
  msgid "List fields"
280
- msgstr ""
281
 
282
  #: includes/forms/class-admin.php:83
283
  msgid "Min"
284
- msgstr ""
285
 
286
  #: includes/forms/class-admin.php:84
287
  msgid "Max"
288
- msgstr ""
289
 
290
  #: includes/forms/class-admin.php:85
291
  msgid ""
292
  "No available fields. Did you select a MailChimp list in the form settings?"
293
- msgstr ""
294
 
295
  #: includes/forms/class-admin.php:86
296
  msgid "Optional"
297
- msgstr ""
298
 
299
  #: includes/forms/class-admin.php:87
300
  msgid "Placeholder"
301
- msgstr ""
302
 
303
  #: includes/forms/class-admin.php:88
304
  msgid "Text to show when field has no value."
305
- msgstr ""
306
 
307
  #: includes/forms/class-admin.php:89
308
  msgid "Preselect"
309
- msgstr ""
310
 
311
  #: includes/forms/class-admin.php:90
312
  msgid "Remove"
313
- msgstr ""
314
 
315
  #: includes/forms/class-admin.php:91
316
  msgid "Radio buttons"
317
- msgstr ""
318
 
319
  #: includes/forms/class-admin.php:92
320
  msgid "Street Address"
321
- msgstr ""
322
 
323
  #: includes/forms/class-admin.php:93
324
  msgid "State"
325
- msgstr ""
326
 
327
  #: includes/forms/class-admin.php:95
328
  msgid "Submit button"
329
- msgstr ""
330
 
331
  #: includes/forms/class-admin.php:96
332
  msgid "Wrap in paragraph tags?"
333
- msgstr ""
334
 
335
  #: includes/forms/class-admin.php:97
336
  msgid "Value"
337
- msgstr ""
338
 
339
  #: includes/forms/class-admin.php:98
340
  msgid "Text to prefill this field with."
341
- msgstr ""
342
 
343
  #: includes/forms/class-admin.php:99
344
  msgid "ZIP"
345
- msgstr ""
346
 
347
  #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
348
  #: includes/forms/views/edit-form.php:24
@@ -351,7 +351,7 @@ msgstr "Formulários"
351
 
352
  #: includes/forms/class-admin.php152, includes/forms/class-admin.php:276
353
  msgid "<strong>Success!</strong> Form successfully saved."
354
- msgstr "<strong>Sucesso!</strong> Seu formulário foi salvo. "
355
 
356
  #: includes/forms/class-admin.php:276
357
  msgid "Preview form"
@@ -363,7 +363,7 @@ msgstr "Formulário de inscrição MailChimp"
363
 
364
  #: includes/forms/class-admin.php:453
365
  msgid "Select the form to show"
366
- msgstr ""
367
 
368
  #: includes/forms/class-form-previewer.php:146
369
  msgid "Form preview"
@@ -379,7 +379,7 @@ msgstr "Dados da URL ou de um formulário enviado."
379
 
380
  #: includes/forms/class-form-tags.php:71
381
  msgid "Data from a cookie."
382
- msgstr ""
383
 
384
  #: includes/forms/class-form-tags.php77,
385
  #: includes/integrations/class-integration-tags.php:45
@@ -420,7 +420,7 @@ msgstr "A propriedade do usuário conectado no momento."
420
 
421
  #: includes/forms/class-form-tags.php:123
422
  msgid "Property of the current page or post."
423
- msgstr ""
424
 
425
  #: includes/forms/class-form.php:133
426
  msgid "There is no form with ID %d, perhaps it was deleted?"
@@ -457,7 +457,7 @@ msgstr "Integrações"
457
  #: includes/integrations/views/integration-settings.php8,
458
  #: includes/integrations/views/integrations.php:55
459
  msgid "You are here: "
460
- msgstr "Você está aqui:"
461
 
462
  #: includes/views/general-settings.php:18
463
  msgid "General Settings"
@@ -485,7 +485,7 @@ msgstr "Sua chave API MailChimp"
485
 
486
  #: includes/views/general-settings.php:55
487
  msgid "The API key for connecting with your MailChimp account."
488
- msgstr "Digite sua Chave API para conectar com a sua conta no MailChimp"
489
 
490
  #: includes/views/general-settings.php:56
491
  msgid "Get your API key here."
@@ -493,7 +493,7 @@ msgstr "Pegue sua chave aqui."
493
 
494
  #: includes/views/other-settings.php:14
495
  msgid "Miscellaneous settings"
496
- msgstr ""
497
 
498
  #: includes/views/other-settings.php:17
499
  msgid "Usage Tracking"
@@ -511,41 +511,41 @@ msgstr "Isto é o que nós monitoramos."
511
 
512
  #: includes/views/other-settings.php:37
513
  msgid "Logging"
514
- msgstr ""
515
 
516
  #: includes/views/other-settings.php:44
517
  msgid ""
518
  "Determines what events should be written to <a href=\"%s\">the debug log</a>"
519
  " (see below)."
520
- msgstr ""
521
 
522
  #: includes/views/other-settings.php:99
523
  msgid "Debug Log"
524
- msgstr ""
525
 
526
  #: includes/views/other-settings.php:99
527
  msgid "Filter.."
528
- msgstr ""
529
 
530
  #: includes/views/other-settings.php:104
531
  msgid "Log file is not writable."
532
- msgstr ""
533
 
534
  #: includes/views/other-settings.php:105
535
  msgid "Please ensure %s has the proper <a href=\"%s\">file permissions</a>."
536
- msgstr ""
537
 
538
  #: includes/views/other-settings.php:123
539
  msgid "Nothing here. Which means there are no errors!"
540
- msgstr ""
541
 
542
  #: includes/views/other-settings.php:133
543
  msgid "Empty Log"
544
- msgstr ""
545
 
546
  #: includes/views/other-settings.php:141
547
  msgid "Right now, the plugin is configured to only log errors and warnings."
548
- msgstr ""
549
 
550
  #: includes/admin/migrations/3.0.0-form-1-post-type.php:35
551
  msgid "Default sign-up form"
@@ -585,7 +585,7 @@ msgstr "Aparência"
585
 
586
  #: includes/forms/views/edit-form.php:25
587
  msgid "Form"
588
- msgstr ""
589
 
590
  #: includes/forms/views/edit-form.php:34
591
  msgid "Edit Form"
@@ -601,7 +601,7 @@ msgstr "Insira um título para seu formulário de inscrição"
601
 
602
  #: includes/forms/views/edit-form.php:65
603
  msgid "Shortcode"
604
- msgstr ""
605
 
606
  #: includes/forms/views/edit-form.php:67
607
  msgid "Get shortcode"
@@ -665,15 +665,15 @@ msgstr "Nenhuma lista encontrada, <a href=\"%s\"> você está conectado no MailC
665
 
666
  #: includes/integrations/views/integration-settings.php:116
667
  msgid "Checkbox label text"
668
- msgstr "texto de etiqueta do checkbox"
669
 
670
  #: includes/integrations/views/integration-settings.php:119
671
  msgid "HTML tags like %s are allowed in the label text."
672
- msgstr "tags HTML como %s são permitidas no texto da etiqueta."
673
 
674
  #: includes/integrations/views/integration-settings.php:129
675
  msgid "Pre-check the checkbox?"
676
- msgstr "checkbox pré-selecionado?"
677
 
678
  #: includes/integrations/views/integration-settings.php:133
679
  msgid "Select \"yes\" if the checkbox should be pre-checked."
@@ -719,7 +719,7 @@ msgstr "Substituir grupos de interesse?"
719
  msgid ""
720
  "Select \"no\" if you want to add the selected interests to any previously "
721
  "selected interests when updating a subscriber."
722
- msgstr ""
723
 
724
  #: includes/integrations/views/integration-settings.php202,
725
  #: includes/forms/views/tabs/form-settings.php:80
@@ -740,21 +740,21 @@ msgstr "Configurar esta integração"
740
 
741
  #: includes/integrations/views/integrations.php:71
742
  msgid "The table below shows all available integrations."
743
- msgstr ""
744
 
745
  #: includes/integrations/views/integrations.php:72
746
  msgid ""
747
  "Click on the name of an integration to edit all settings specific to that "
748
  "integration."
749
- msgstr ""
750
 
751
  #: includes/integrations/views/integrations.php:79
752
  msgid "Enabled integrations"
753
- msgstr ""
754
 
755
  #: includes/integrations/views/integrations.php:84
756
  msgid "Available integrations"
757
- msgstr ""
758
 
759
  #: includes/views/parts/admin-footer.php:15
760
  msgid ""
@@ -771,33 +771,33 @@ msgstr "Este plugin não é desenvolvido ou afiliada com MailChimp de qualquer f
771
 
772
  #: includes/views/parts/admin-sidebar.php:11
773
  msgid "Looking for help?"
774
- msgstr ""
775
 
776
  #: includes/views/parts/admin-sidebar.php:12
777
  msgid "We have some resources available to help you in the right direction."
778
- msgstr ""
779
 
780
  #: includes/views/parts/admin-sidebar.php:14
781
  msgid "Knowledge Base"
782
- msgstr ""
783
 
784
  #: includes/views/parts/admin-sidebar.php:15
785
  msgid "Frequently Asked Questions"
786
- msgstr ""
787
 
788
  #: includes/views/parts/admin-sidebar.php:16
789
  msgid "Code reference for developers"
790
- msgstr ""
791
 
792
  #: includes/views/parts/admin-sidebar.php:36
793
  msgid "Looking to improve your sign-up rates?"
794
- msgstr ""
795
 
796
  #: includes/views/parts/admin-sidebar.php:37
797
  msgid ""
798
  "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or "
799
  "slide-ins with a subscribe form. A sure way to grow your lists faster."
800
- msgstr ""
801
 
802
  #: includes/views/parts/lists-overview.php:1
803
  msgid "Your MailChimp Account"
@@ -1025,25 +1025,25 @@ msgstr "Quandao usar o método de descadatrar, este é o texto mostrado quando o
1025
 
1026
  #: includes/forms/views/tabs/form-messages.php:65
1027
  msgid "No list selected"
1028
- msgstr ""
1029
 
1030
  #: includes/forms/views/tabs/form-messages.php:68
1031
  msgid ""
1032
  "When offering a list choice, this is the text that shows when no lists were "
1033
  "selected."
1034
- msgstr ""
1035
 
1036
  #: includes/forms/views/tabs/form-messages.php:74
1037
  msgid "Updated"
1038
- msgstr ""
1039
 
1040
  #: includes/forms/views/tabs/form-messages.php:77
1041
  msgid "The text that shows when an existing subscriber is updated."
1042
- msgstr ""
1043
 
1044
  #: includes/forms/views/tabs/form-messages.php:89
1045
  msgid "HTML tags like %s are allowed in the message fields."
1046
- msgstr "tags HTML como %s são permitidos nos campos de mensagem."
1047
 
1048
  #: includes/forms/views/tabs/form-settings.php:1
1049
  msgid "Form Settings"
@@ -1069,13 +1069,13 @@ msgstr "Usar verificação dupla?"
1069
 
1070
  #: includes/forms/views/tabs/form-settings.php:44
1071
  msgid "Are you sure you want to disable double opt-in?"
1072
- msgstr ""
1073
 
1074
  #: includes/forms/views/tabs/form-settings.php:47
1075
  msgid ""
1076
  "We strongly suggest keeping double opt-in enabled. Disabling double opt-in "
1077
  "may result in abuse."
1078
- msgstr ""
1079
 
1080
  #: includes/forms/views/tabs/form-settings.php:94
1081
  msgid "Form behaviour"
@@ -1101,4 +1101,4 @@ msgstr "Exemplo: %s"
1101
  msgid ""
1102
  "Leave empty or enter <code>0</code> for no redirect. Otherwise, use complete"
1103
  " (absolute) URLs, including <code>http://</code>."
1104
- msgstr "Deixe vazio ou digite <code>0</code> para não redirecionar. Ou, use URLs completas (absolutas) incluindo <code>http://</code>"
18
  msgid ""
19
  msgstr ""
20
  "Project-Id-Version: MailChimp for WordPress\n"
21
+ "PO-Revision-Date: 2017-06-06 03:53+0000\n"
22
+ "Last-Translator: Jordache Burmeister\n"
23
  "Language-Team: Portuguese (Brazil) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/pt_BR/)\n"
24
  "MIME-Version: 1.0\n"
25
  "Content-Type: text/plain; charset=UTF-8\n"
60
 
61
  #: includes/admin/class-admin.php:306
62
  msgid "Fetching MailChimp lists"
63
+ msgstr "Procurando listas no MailChimp"
64
 
65
  #: includes/admin/class-admin.php:307
66
  msgid "Done! MailChimp lists renewed."
95
  msgid ""
96
  "To get started with MailChimp for WordPress, please <a href=\"%s\">enter "
97
  "your MailChimp API key on the settings page of the plugin</a>."
98
+ msgstr "Para começar a utilizar o MailChimp para WordPress, por favor <a href=“%s”>entre com a sua API Key na página de configuração deste plugin</a>."
99
 
100
  #: includes/admin/class-ads.php:39
101
  msgid ""
102
  "Want to customize the style of your form? <a href=\"%s\">Try our Styles "
103
  "Builder</a> & edit the look of your forms with just a few clicks."
104
+ msgstr "Quer customizar o estilo do seu formulário? <a href=“%s”>Use o nosso Styles Builder</a> e edite o visual dos seus formulários com apenas alguns cliques."
105
 
106
  #: includes/admin/class-ads.php:54
107
  msgid ""
108
  "Be notified whenever someone subscribes? <a href=\"%s\">MailChimp for "
109
  "WordPress Premium</a> allows you to set up email notifications for your "
110
  "forms."
111
+ msgstr "Seja notificado quando alguém se inscrever! <a href=“%s”>MailChimp para WordPress Premium</a> permite configurar notificações por email para seus formulários."
112
 
113
  #: includes/admin/class-ads.php:56
114
  msgid ""
115
  "Increased conversions? <a href=\"%s\">MailChimp for WordPress Premium</a> "
116
  "submits forms without reloading the entire page, resulting in a much better "
117
  "experience for your visitors."
118
+ msgstr "Aumentar conversões? <a href=“%s”>MailChimp para WordPress Premium</a> envia os formulários sem recarregar a página, resultando numa melhor experiência para o usuário."
119
 
120
  #: includes/admin/class-ads.php:70
121
  msgid "Upgrade to Premium"
122
+ msgstr "Faça o upgrade para a versão Premium"
123
 
124
  #: includes/admin/class-ads.php:83
125
  msgid ""
126
  "Do you want translated forms for all of your languages? <a href=\"%s\">Try "
127
  "MailChimp for WordPress Premium</a>, which does just that plus more."
128
+ msgstr "Você quer formulários traduzidos para o seu idioma? <a href=“%s”>Tente MailChimp para WordPress Premium</a>, que faz exatamente isso."
129
 
130
  #: includes/admin/class-ads.php:88
131
  msgid ""
132
  "Do you want to create more than one form? Our Premium add-on does just that!"
133
  " <a href=\"%s\">Have a look at all Premium benefits</a>."
134
+ msgstr "Você quer criar mais de um formulário? Nossa versão Premium faz isso! <a href=“%s”>Conheça todos os benefícios da versão Premium</a>."
135
 
136
  #: includes/admin/class-ads.php:93
137
  msgid ""
138
  "Are you enjoying this plugin? The Premium add-on unlocks several powerful "
139
  "features. <a href=\"%s\">Find out about all benefits now</a>."
140
+ msgstr "Você está gostando deste plugin? A versão Premium habilita várias funções poderosas. <a href=“%s”>Conheça todos os benefícios agora mesmo!</a>."
141
 
142
  #: includes/admin/class-ads.php:112
143
  msgid "More subscribers, better newsletters."
165
  msgid ""
166
  "Do you want to track all WooCommerce orders in MailChimp so you can send "
167
  "emails based on the purchase activity of your subscribers?"
168
+ msgstr "Você quer rastrear todos os pedidos do WooCommerce no MailChimp para que possa enviá-los emails com base nas compras dos seus assinantes?"
169
 
170
  #: includes/admin/class-ads.php:153
171
  msgid ""
172
  "<a href=\"%s\">Upgrade to MailChimp for WordPress Premium</a> or <a "
173
  "href=\"%s\">read more about MailChimp's E-Commerce features</a>."
174
+ msgstr "<a href=“%s”>Faça o upgrade para o MailChimp para WordPress Premium</a> ou <a href=“%s”>leia mais sobre as funcionalidade do MailChimp’s E-Commerce</a>."
175
 
176
  #: includes/admin/class-review-notice.php:68
177
  msgid ""
178
  "You've been using MailChimp for WordPress for some time now; we hope you "
179
  "love it!"
180
+ msgstr "Você está usando MailChimp para WordPress há algum tempo. Esperamos que esteja gostando!"
181
 
182
  #: includes/admin/class-review-notice.php:69
183
  msgid ""
184
  "If you do, please <a href=\"%s\">leave us a 5★ rating on WordPress.org</a>. "
185
  "It would be of great help to us."
186
+ msgstr "Se você estiver, por favor <a href=“%s”>dê-nos uma avaliação de 5★ no WordPress.org</a>. Isso nos ajuda muito."
187
 
188
  #: includes/admin/class-review-notice.php:71
189
  msgid "Dismiss this notice."
190
+ msgstr "Dispensar esta mensagem."
191
 
192
  #: includes/api/class-api.php:84
193
  msgid "Read more about common connectivity issues."
195
 
196
  #: includes/forms/class-admin.php:62
197
  msgid "Add to form"
198
+ msgstr "Adicionar ao formulário"
199
 
200
  #: includes/forms/class-admin.php:63
201
  msgid "City"
202
+ msgstr "Cidade"
203
 
204
  #: includes/forms/class-admin.php:64
205
  msgid "Checkboxes"
206
+ msgstr "Checkboxes"
207
 
208
  #: includes/forms/class-admin.php:65
209
  msgid "Choices"
210
+ msgstr "Escolhas"
211
 
212
  #: includes/forms/class-admin.php:66
213
  msgid "Choice type"
214
+ msgstr "Tipo de escolha"
215
 
216
  #: includes/forms/class-admin.php:67
217
  msgid "Choose a field to add to the form"
218
+ msgstr "Escolha um campo para adicionar ao formulário"
219
 
220
  #: includes/forms/class-admin.php:68
221
  msgid "Close"
222
+ msgstr "Fechar"
223
 
224
  #: includes/forms/class-admin.php:69
225
  msgid "Country"
226
+ msgstr "País"
227
 
228
  #: includes/forms/class-admin.php:70
229
  msgid "Dropdown"
230
+ msgstr "Dropdown"
231
 
232
  #: includes/forms/class-admin.php:71
233
  msgid "Field type"
234
+ msgstr "Tipo de campo"
235
 
236
  #: includes/forms/class-admin.php:72
237
  msgid "Field label"
238
+ msgstr "Rótulo do campo"
239
 
240
  #: includes/forms/class-admin.php:73
241
  msgid "Form action"
242
+ msgstr "Ação do formulário"
243
 
244
  #: includes/forms/class-admin.php:74
245
  msgid ""
246
  "This field will allow your visitors to choose whether they would like to "
247
  "subscribe or unsubscribe"
248
+ msgstr "Este campo permite seus visitantes escolher se eles querem se inscrever ou se descadastrar"
249
 
250
  #: includes/forms/class-admin.php:75
251
  msgid "Form fields"
252
+ msgstr "Campos do formulário"
253
 
254
  #: includes/forms/class-admin.php:76
255
  msgid "This field is marked as required in MailChimp."
256
+ msgstr "Este campo está marcado como obrigatório no MailChimp."
257
 
258
  #: includes/forms/class-admin.php:77
259
  msgid "Initial value"
260
+ msgstr "Valor inicial"
261
 
262
  #: includes/forms/class-admin.php:78
263
  msgid "Interest categories"
264
+ msgstr "Categorias de interesse"
265
 
266
  #: includes/forms/class-admin.php:79
267
  msgid "Is this field required?"
268
+ msgstr "Este campo é obrigatório?"
269
 
270
  #: includes/forms/class-admin.php:80
271
  msgid "List choice"
272
+ msgstr "Lista de escolha"
273
 
274
  #: includes/forms/class-admin.php:81
275
  msgid "This field will allow your visitors to choose a list to subscribe to."
276
+ msgstr "Este campo permite seus visitantes escolherem uma lista para assinar."
277
 
278
  #: includes/forms/class-admin.php:82
279
  msgid "List fields"
280
+ msgstr "Campos de lista"
281
 
282
  #: includes/forms/class-admin.php:83
283
  msgid "Min"
284
+ msgstr "Min"
285
 
286
  #: includes/forms/class-admin.php:84
287
  msgid "Max"
288
+ msgstr "Máx"
289
 
290
  #: includes/forms/class-admin.php:85
291
  msgid ""
292
  "No available fields. Did you select a MailChimp list in the form settings?"
293
+ msgstr "Campos indisponíveis. Você selecionou uma lista nas configurações do formulário?"
294
 
295
  #: includes/forms/class-admin.php:86
296
  msgid "Optional"
297
+ msgstr "Opcional"
298
 
299
  #: includes/forms/class-admin.php:87
300
  msgid "Placeholder"
301
+ msgstr "Placeholder"
302
 
303
  #: includes/forms/class-admin.php:88
304
  msgid "Text to show when field has no value."
305
+ msgstr "Texto para mostrar quando o campo não tiver um valor."
306
 
307
  #: includes/forms/class-admin.php:89
308
  msgid "Preselect"
309
+ msgstr "Preselect"
310
 
311
  #: includes/forms/class-admin.php:90
312
  msgid "Remove"
313
+ msgstr "Remover"
314
 
315
  #: includes/forms/class-admin.php:91
316
  msgid "Radio buttons"
317
+ msgstr "Radio buttons"
318
 
319
  #: includes/forms/class-admin.php:92
320
  msgid "Street Address"
321
+ msgstr "Endereço"
322
 
323
  #: includes/forms/class-admin.php:93
324
  msgid "State"
325
+ msgstr "Estado"
326
 
327
  #: includes/forms/class-admin.php:95
328
  msgid "Submit button"
329
+ msgstr "Botão enviar"
330
 
331
  #: includes/forms/class-admin.php:96
332
  msgid "Wrap in paragraph tags?"
333
+ msgstr "Colocar dentro da tag <p>?"
334
 
335
  #: includes/forms/class-admin.php:97
336
  msgid "Value"
337
+ msgstr "Valor"
338
 
339
  #: includes/forms/class-admin.php:98
340
  msgid "Text to prefill this field with."
341
+ msgstr "Texto para preencher o campo."
342
 
343
  #: includes/forms/class-admin.php:99
344
  msgid "ZIP"
345
+ msgstr "CEP"
346
 
347
  #: includes/forms/class-admin.php111, includes/forms/class-admin.php112,
348
  #: includes/forms/views/edit-form.php:24
351
 
352
  #: includes/forms/class-admin.php152, includes/forms/class-admin.php:276
353
  msgid "<strong>Success!</strong> Form successfully saved."
354
+ msgstr "<strong>Sucesso!</strong> Seu formulário foi salvo."
355
 
356
  #: includes/forms/class-admin.php:276
357
  msgid "Preview form"
363
 
364
  #: includes/forms/class-admin.php:453
365
  msgid "Select the form to show"
366
+ msgstr "Selecionar o formulário para mostrar"
367
 
368
  #: includes/forms/class-form-previewer.php:146
369
  msgid "Form preview"
379
 
380
  #: includes/forms/class-form-tags.php:71
381
  msgid "Data from a cookie."
382
+ msgstr "Dados de um cookie."
383
 
384
  #: includes/forms/class-form-tags.php77,
385
  #: includes/integrations/class-integration-tags.php:45
420
 
421
  #: includes/forms/class-form-tags.php:123
422
  msgid "Property of the current page or post."
423
+ msgstr "Propriedade do post ou página atual."
424
 
425
  #: includes/forms/class-form.php:133
426
  msgid "There is no form with ID %d, perhaps it was deleted?"
457
  #: includes/integrations/views/integration-settings.php8,
458
  #: includes/integrations/views/integrations.php:55
459
  msgid "You are here: "
460
+ msgstr "Você está aqui "
461
 
462
  #: includes/views/general-settings.php:18
463
  msgid "General Settings"
485
 
486
  #: includes/views/general-settings.php:55
487
  msgid "The API key for connecting with your MailChimp account."
488
+ msgstr "Digite sua Chave API para conectar com a sua conta no MailChimp."
489
 
490
  #: includes/views/general-settings.php:56
491
  msgid "Get your API key here."
493
 
494
  #: includes/views/other-settings.php:14
495
  msgid "Miscellaneous settings"
496
+ msgstr "Outras configurações"
497
 
498
  #: includes/views/other-settings.php:17
499
  msgid "Usage Tracking"
511
 
512
  #: includes/views/other-settings.php:37
513
  msgid "Logging"
514
+ msgstr "Logging"
515
 
516
  #: includes/views/other-settings.php:44
517
  msgid ""
518
  "Determines what events should be written to <a href=\"%s\">the debug log</a>"
519
  " (see below)."
520
+ msgstr "Determina quais eventos devem ser escritos no <a href=“%s”>debug log</a> (veja abaixo)."
521
 
522
  #: includes/views/other-settings.php:99
523
  msgid "Debug Log"
524
+ msgstr "Debug Log"
525
 
526
  #: includes/views/other-settings.php:99
527
  msgid "Filter.."
528
+ msgstr "Filtrar.."
529
 
530
  #: includes/views/other-settings.php:104
531
  msgid "Log file is not writable."
532
+ msgstr "Arquivo de log sem permissão para escrita."
533
 
534
  #: includes/views/other-settings.php:105
535
  msgid "Please ensure %s has the proper <a href=\"%s\">file permissions</a>."
536
+ msgstr "Por favor, esteja certo de que %s possui a <a href=“%s”>permissão de arquivo</a> adequada."
537
 
538
  #: includes/views/other-settings.php:123
539
  msgid "Nothing here. Which means there are no errors!"
540
+ msgstr "Nada aqui. Ou seja, não há erros!"
541
 
542
  #: includes/views/other-settings.php:133
543
  msgid "Empty Log"
544
+ msgstr "Log vazio"
545
 
546
  #: includes/views/other-settings.php:141
547
  msgid "Right now, the plugin is configured to only log errors and warnings."
548
+ msgstr "Por enquanto o plugin está configurado para escrever apenas logs de erros e avisos."
549
 
550
  #: includes/admin/migrations/3.0.0-form-1-post-type.php:35
551
  msgid "Default sign-up form"
585
 
586
  #: includes/forms/views/edit-form.php:25
587
  msgid "Form"
588
+ msgstr "Formulário"
589
 
590
  #: includes/forms/views/edit-form.php:34
591
  msgid "Edit Form"
601
 
602
  #: includes/forms/views/edit-form.php:65
603
  msgid "Shortcode"
604
+ msgstr "Shortcode"
605
 
606
  #: includes/forms/views/edit-form.php:67
607
  msgid "Get shortcode"
665
 
666
  #: includes/integrations/views/integration-settings.php:116
667
  msgid "Checkbox label text"
668
+ msgstr "Texto de rótulo do checkbox"
669
 
670
  #: includes/integrations/views/integration-settings.php:119
671
  msgid "HTML tags like %s are allowed in the label text."
672
+ msgstr "Tags HTML como %s são permitidas no texto da etiqueta."
673
 
674
  #: includes/integrations/views/integration-settings.php:129
675
  msgid "Pre-check the checkbox?"
676
+ msgstr "Checkbox pré-selecionado?"
677
 
678
  #: includes/integrations/views/integration-settings.php:133
679
  msgid "Select \"yes\" if the checkbox should be pre-checked."
719
  msgid ""
720
  "Select \"no\" if you want to add the selected interests to any previously "
721
  "selected interests when updating a subscriber."
722
+ msgstr "Selecione “não” se desejar adicionar os interesses selecionados a qualquer interesse selecionado anteriormente ao atualizar um assinante."
723
 
724
  #: includes/integrations/views/integration-settings.php202,
725
  #: includes/forms/views/tabs/form-settings.php:80
740
 
741
  #: includes/integrations/views/integrations.php:71
742
  msgid "The table below shows all available integrations."
743
+ msgstr "A tabela abaixo mostra todas as integrações disponíveis."
744
 
745
  #: includes/integrations/views/integrations.php:72
746
  msgid ""
747
  "Click on the name of an integration to edit all settings specific to that "
748
  "integration."
749
+ msgstr "Clique no nome de uma integração para editar todas as configurações específicas dessa integração."
750
 
751
  #: includes/integrations/views/integrations.php:79
752
  msgid "Enabled integrations"
753
+ msgstr "Integrações habilitadas"
754
 
755
  #: includes/integrations/views/integrations.php:84
756
  msgid "Available integrations"
757
+ msgstr "Integrações disponíveis"
758
 
759
  #: includes/views/parts/admin-footer.php:15
760
  msgid ""
771
 
772
  #: includes/views/parts/admin-sidebar.php:11
773
  msgid "Looking for help?"
774
+ msgstr "Procurando ajuda?"
775
 
776
  #: includes/views/parts/admin-sidebar.php:12
777
  msgid "We have some resources available to help you in the right direction."
778
+ msgstr "Temos alguns recursos disponíveis para ajudá-lo na direção certa."
779
 
780
  #: includes/views/parts/admin-sidebar.php:14
781
  msgid "Knowledge Base"
782
+ msgstr "Base de conhecimento"
783
 
784
  #: includes/views/parts/admin-sidebar.php:15
785
  msgid "Frequently Asked Questions"
786
+ msgstr "Perguntas Frequentes"
787
 
788
  #: includes/views/parts/admin-sidebar.php:16
789
  msgid "Code reference for developers"
790
+ msgstr "Referência de código para desenvolvedores"
791
 
792
  #: includes/views/parts/admin-sidebar.php:36
793
  msgid "Looking to improve your sign-up rates?"
794
+ msgstr "Procurando melhorar suas taxas de inscrição?"
795
 
796
  #: includes/views/parts/admin-sidebar.php:37
797
  msgid ""
798
  "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or "
799
  "slide-ins with a subscribe form. A sure way to grow your lists faster."
800
+ msgstr "Nosso <a href=“%s”> plugin Boxzilla </a> permite que você crie pop-ups ou slide-ins com um formulário de inscrição. Uma maneira segura de expandir suas listas mais rapidamente."
801
 
802
  #: includes/views/parts/lists-overview.php:1
803
  msgid "Your MailChimp Account"
1025
 
1026
  #: includes/forms/views/tabs/form-messages.php:65
1027
  msgid "No list selected"
1028
+ msgstr "Nenhuma lista selecionada"
1029
 
1030
  #: includes/forms/views/tabs/form-messages.php:68
1031
  msgid ""
1032
  "When offering a list choice, this is the text that shows when no lists were "
1033
  "selected."
1034
+ msgstr "Ao oferecer uma lista de escolha, este é o texto que mostra quando nenhuma escolha foi selecionada."
1035
 
1036
  #: includes/forms/views/tabs/form-messages.php:74
1037
  msgid "Updated"
1038
+ msgstr "Atualizado"
1039
 
1040
  #: includes/forms/views/tabs/form-messages.php:77
1041
  msgid "The text that shows when an existing subscriber is updated."
1042
+ msgstr "O texto mostra quando um assinante existente está atualizado."
1043
 
1044
  #: includes/forms/views/tabs/form-messages.php:89
1045
  msgid "HTML tags like %s are allowed in the message fields."
1046
+ msgstr "Tags HTML como %s são permitidos nos campos de mensagem."
1047
 
1048
  #: includes/forms/views/tabs/form-settings.php:1
1049
  msgid "Form Settings"
1069
 
1070
  #: includes/forms/views/tabs/form-settings.php:44
1071
  msgid "Are you sure you want to disable double opt-in?"
1072
+ msgstr "Tem certeza de que deseja desativar o duplo opt-in?"
1073
 
1074
  #: includes/forms/views/tabs/form-settings.php:47
1075
  msgid ""
1076
  "We strongly suggest keeping double opt-in enabled. Disabling double opt-in "
1077
  "may result in abuse."
1078
+ msgstr "Sugerimos fortemente a ativação do duplo opt-in. A desativação do duplo opt-in pode resultar em abuso."
1079
 
1080
  #: includes/forms/views/tabs/form-settings.php:94
1081
  msgid "Form behaviour"
1101
  msgid ""
1102
  "Leave empty or enter <code>0</code> for no redirect. Otherwise, use complete"
1103
  " (absolute) URLs, including <code>http://</code>."
1104
+ msgstr "Deixe vazio ou digite <code>0</code> para não redirecionar. Ou, use URLs completas (absolutas) incluindo <code>http://</code>."
languages/mailchimp-for-wp.pot CHANGED
@@ -693,15 +693,11 @@ msgstr ""
693
  msgid "Frequently Asked Questions"
694
  msgstr ""
695
 
696
- #: includes/views/parts/admin-sidebar.php:16
697
- msgid "Code reference for developers"
698
- msgstr ""
699
-
700
- #: includes/views/parts/admin-sidebar.php:36
701
  msgid "Looking to improve your sign-up rates?"
702
  msgstr ""
703
 
704
- #: includes/views/parts/admin-sidebar.php:37
705
  msgid "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or slide-ins with a subscribe form. A sure way to grow your lists faster."
706
  msgstr ""
707
 
693
  msgid "Frequently Asked Questions"
694
  msgstr ""
695
 
696
+ #: includes/views/parts/admin-sidebar.php:35
 
 
 
 
697
  msgid "Looking to improve your sign-up rates?"
698
  msgstr ""
699
 
700
+ #: includes/views/parts/admin-sidebar.php:36
701
  msgid "Our <a href=\"%s\">Boxzilla plugin</a> allows you to create pop-ups or slide-ins with a subscribe form. A sure way to grow your lists faster."
702
  msgstr ""
703
 
mailchimp-for-wp.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: MailChimp for WordPress
4
  Plugin URI: https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page
5
  Description: MailChimp for WordPress by ibericode. Adds various highly effective sign-up methods to your site.
6
- Version: 4.1.3
7
  Author: ibericode
8
  Author URI: https://ibericode.com/
9
  Text Domain: mailchimp-for-wp
@@ -47,7 +47,7 @@ function _mc4wp_load_plugin() {
47
  }
48
 
49
  // bootstrap the core plugin
50
- define( 'MC4WP_VERSION', '4.1.3' );
51
  define( 'MC4WP_PLUGIN_DIR', dirname( __FILE__ ) . '/' );
52
  define( 'MC4WP_PLUGIN_URL', plugins_url( '/' , __FILE__ ) );
53
  define( 'MC4WP_PLUGIN_FILE', __FILE__ );
3
  Plugin Name: MailChimp for WordPress
4
  Plugin URI: https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page
5
  Description: MailChimp for WordPress by ibericode. Adds various highly effective sign-up methods to your site.
6
+ Version: 4.1.4
7
  Author: ibericode
8
  Author URI: https://ibericode.com/
9
  Text Domain: mailchimp-for-wp
47
  }
48
 
49
  // bootstrap the core plugin
50
+ define( 'MC4WP_VERSION', '4.1.4' );
51
  define( 'MC4WP_PLUGIN_DIR', dirname( __FILE__ ) . '/' );
52
  define( 'MC4WP_PLUGIN_URL', plugins_url( '/' , __FILE__ ) );
53
  define( 'MC4WP_PLUGIN_FILE', __FILE__ );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://mc4wp.com/#utm_source=wp-plugin-repo&utm_medium=mailchimp-f
4
  Tags: mailchimp, mc4wp, email, marketing, newsletter, subscribe, widget, mc4wp, contact form 7, woocommerce, buddypress, ibericode, mailchimp forms, mailchimp integrations
5
  Requires at least: 4.1
6
  Tested up to: 4.8
7
- Stable tag: 4.1.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -194,6 +194,15 @@ MailChimp for WordPress comes with many filter & action hooks which allow you to
194
  == Changelog ==
195
 
196
 
 
 
 
 
 
 
 
 
 
197
  #### 4.1.3 - May 24, 2017
198
 
199
  **Improvements**
@@ -309,7 +318,7 @@ MailChimp for WordPress comes with many filter & action hooks which allow you to
309
 
310
  **Additions**
311
 
312
- - Add `data-hide-if` attribute logic to forms. See [conditionally hide form fields](https://mc4wp.com/kb/conditional-fields-elements/). Thanks to [Kurt Zenisek](http://kurtzenisek.com/).
313
  - Add hooks for delayed BuddyPress sign-up. Thanks to [Christian Wach](https://profiles.wordpress.org/needle).
314
 
315
 
@@ -747,7 +756,7 @@ Added `mc4wp_use_sslverify` filter to disable or explicitly enable SSL certifica
747
 
748
  **Improvements**
749
 
750
- - Add form-specific classes to preview form element. This allows the [Styles Builder](https://mc4wp.com/features/) to work with the Form Preview.
751
  - Form events are now triggered _after_ the page has finished loading, so all scripts are loaded & ready to use.
752
  - Reset background-color in Form Themes stylesheets.
753
 
4
  Tags: mailchimp, mc4wp, email, marketing, newsletter, subscribe, widget, mc4wp, contact form 7, woocommerce, buddypress, ibericode, mailchimp forms, mailchimp integrations
5
  Requires at least: 4.1
6
  Tested up to: 4.8
7
+ Stable tag: 4.1.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
194
  == Changelog ==
195
 
196
 
197
+ #### 4.1.4 - June 15, 2017
198
+
199
+ **Fixes**
200
+
201
+ - Some form specific JS events were not firing due to incorrect event names.
202
+ - Registration form integration now works with WooCommerce registration form.
203
+ - Notice that asks for a plugin review would re-appear after dismissing it.
204
+
205
+
206
  #### 4.1.3 - May 24, 2017
207
 
208
  **Improvements**
318
 
319
  **Additions**
320
 
321
+ - Add `data-hide-if` attribute logic to forms. See [conditionally hide form fields](https://kb.mc4wp.com/conditional-fields-elements/). Thanks to [Kurt Zenisek](http://kurtzenisek.com/).
322
  - Add hooks for delayed BuddyPress sign-up. Thanks to [Christian Wach](https://profiles.wordpress.org/needle).
323
 
324
 
756
 
757
  **Improvements**
758
 
759
+ - Add form-specific classes to preview form element. This allows the [Styles Builder](https://mc4wp.com/premium-features/) to work with the Form Preview.
760
  - Form events are now triggered _after_ the page has finished loading, so all scripts are loaded & ready to use.
761
  - Reset background-color in Form Themes stylesheets.
762
 
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInit4dc707105fc640cf229f5c568acd354f::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit7a0c502ebe888660abe39e48337452f1::getLoader();
vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInit4dc707105fc640cf229f5c568acd354f {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit4dc707105fc640cf229f5c568acd354f {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit4dc707105fc640cf229f5c568acd354f', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit4dc707105fc640cf229f5c568acd354f', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInit7a0c502ebe888660abe39e48337452f1 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit7a0c502ebe888660abe39e48337452f1', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit7a0c502ebe888660abe39e48337452f1', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);