Version Description
Download this release
Release Info
Developer | DvanKooten |
Plugin | MailChimp for WordPress |
Version | 4.0.12 |
Comparing to | |
See all releases |
Code changes from version 4.0.11 to 4.0.12
- CHANGELOG.md +19 -0
- assets/js/forms-api.js +13 -16
- assets/js/forms-api.min.js +1 -1
- assets/js/forms-api.min.js.map +1 -1
- includes/admin/class-review-notice.php +3 -2
- includes/api/class-api-v3.php +14 -0
- includes/class-field-formatter.php +3 -2
- includes/class-mailchimp.php +6 -1
- includes/forms/class-admin.php +3 -3
- includes/forms/class-asset-manager.php +0 -12
- languages/mailchimp-for-wp-de_DE.mo +0 -0
- languages/mailchimp-for-wp-de_DE.po +11 -10
- languages/mailchimp-for-wp-pl_PL.mo +0 -0
- languages/mailchimp-for-wp-pl_PL.po +636 -1388
- mailchimp-for-wp.php +3 -3
- readme.txt +21 -1
- vendor/autoload_52.php +1 -1
- vendor/composer/autoload_real_52.php +3 -3
CHANGELOG.md
CHANGED
@@ -1,6 +1,25 @@
|
|
1 |
Changelog
|
2 |
=========
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
#### 4.0.11 - December 9, 2016
|
5 |
|
6 |
**Fixes**
|
1 |
Changelog
|
2 |
=========
|
3 |
|
4 |
+
#### 4.0.12 - January 16, 2017
|
5 |
+
|
6 |
+
**Fixes**
|
7 |
+
|
8 |
+
- Don't call `stripslashes` on POST data twice.
|
9 |
+
|
10 |
+
**Improvements**
|
11 |
+
|
12 |
+
- Plugin review notice is now dismissible over AJAX.
|
13 |
+
- Improved formatting of birthday fields.
|
14 |
+
- Updated Polish translations, thanks to Mateusz Lomber.
|
15 |
+
- Updated German translations, thanks to Sven de Vries.
|
16 |
+
|
17 |
+
**Additions**
|
18 |
+
|
19 |
+
- Add `update_ecommerce_store_product` method to API class.
|
20 |
+
- Throw form specific JavaScript events, like `15.subscribed` to hook into "subscribed" events for form with ID 15.
|
21 |
+
|
22 |
+
|
23 |
#### 4.0.11 - December 9, 2016
|
24 |
|
25 |
**Fixes**
|
assets/js/forms-api.js
CHANGED
@@ -48,14 +48,20 @@ function handleFormRequest(form, action, errors, data){
|
|
48 |
}
|
49 |
|
50 |
// trigger events
|
51 |
-
forms.trigger(
|
|
|
52 |
|
53 |
if( errors ) {
|
54 |
forms.trigger('error', [form, errors]);
|
|
|
55 |
} else {
|
56 |
// form was successfully submitted
|
57 |
forms.trigger('success', [form, data]);
|
|
|
|
|
|
|
58 |
forms.trigger(action + "d", [form, data]);
|
|
|
59 |
}
|
60 |
});
|
61 |
}
|
@@ -98,6 +104,7 @@ for(var i=0; i<listeners.length;i++) {
|
|
98 |
Gator(document.body).on('submit', '.mc4wp-form', function(event) {
|
99 |
var form = forms.getByElement(event.target || event.srcElement);
|
100 |
forms.trigger('submit', [form, event]);
|
|
|
101 |
});
|
102 |
|
103 |
Gator(document.body).on('focus', '.mc4wp-form', function(event) {
|
@@ -105,6 +112,7 @@ Gator(document.body).on('focus', '.mc4wp-form', function(event) {
|
|
105 |
|
106 |
if( ! form.started ) {
|
107 |
forms.trigger('started', [form, event]);
|
|
|
108 |
form.started = true;
|
109 |
}
|
110 |
});
|
@@ -112,6 +120,7 @@ Gator(document.body).on('focus', '.mc4wp-form', function(event) {
|
|
112 |
Gator(document.body).on('change', '.mc4wp-form', function(event) {
|
113 |
var form = forms.getByElement(event.target || event.srcElement);
|
114 |
forms.trigger('change', [form,event]);
|
|
|
115 |
});
|
116 |
|
117 |
if( config.submitted_form ) {
|
@@ -223,25 +232,13 @@ function all() {
|
|
223 |
return forms;
|
224 |
}
|
225 |
|
226 |
-
function on(event,callback) {
|
227 |
-
return events.on(event,callback);
|
228 |
-
}
|
229 |
-
|
230 |
-
function trigger(event,args) {
|
231 |
-
return events.trigger(event,args);
|
232 |
-
}
|
233 |
-
|
234 |
-
function off(event,callback) {
|
235 |
-
return events.off(event,callback);
|
236 |
-
}
|
237 |
-
|
238 |
module.exports = {
|
239 |
"all": all,
|
240 |
"get": get,
|
241 |
"getByElement": getByElement,
|
242 |
-
"on": on,
|
243 |
-
"trigger": trigger,
|
244 |
-
"off": off
|
245 |
};
|
246 |
|
247 |
|
48 |
}
|
49 |
|
50 |
// trigger events
|
51 |
+
forms.trigger('submitted', [form]);
|
52 |
+
forms.trigger(form.id + '.submitted', [form]);
|
53 |
|
54 |
if( errors ) {
|
55 |
forms.trigger('error', [form, errors]);
|
56 |
+
forms.trigger(form.id + '.error', [form, errors]);
|
57 |
} else {
|
58 |
// form was successfully submitted
|
59 |
forms.trigger('success', [form, data]);
|
60 |
+
forms.trigger(form.id + ',success', [form, data]);
|
61 |
+
|
62 |
+
// subscribed / unsubscribed
|
63 |
forms.trigger(action + "d", [form, data]);
|
64 |
+
forms.trigger(form.id + "." + action + "d", [form, data]);
|
65 |
}
|
66 |
});
|
67 |
}
|
104 |
Gator(document.body).on('submit', '.mc4wp-form', function(event) {
|
105 |
var form = forms.getByElement(event.target || event.srcElement);
|
106 |
forms.trigger('submit', [form, event]);
|
107 |
+
forms.trigger(form.id + '.submit', [ form, event]);
|
108 |
});
|
109 |
|
110 |
Gator(document.body).on('focus', '.mc4wp-form', function(event) {
|
112 |
|
113 |
if( ! form.started ) {
|
114 |
forms.trigger('started', [form, event]);
|
115 |
+
forms.trigger(form.id + '.started', [form, event]);
|
116 |
form.started = true;
|
117 |
}
|
118 |
});
|
120 |
Gator(document.body).on('change', '.mc4wp-form', function(event) {
|
121 |
var form = forms.getByElement(event.target || event.srcElement);
|
122 |
forms.trigger('change', [form,event]);
|
123 |
+
forms.trigger(form.id + '.change', [form,event]);
|
124 |
});
|
125 |
|
126 |
if( config.submitted_form ) {
|
232 |
return forms;
|
233 |
}
|
234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235 |
module.exports = {
|
236 |
"all": all,
|
237 |
"get": get,
|
238 |
"getByElement": getByElement,
|
239 |
+
"on": events.on.bind(events),
|
240 |
+
"trigger": events.trigger.bind(events),
|
241 |
+
"off": events.off.bind(events)
|
242 |
};
|
243 |
|
244 |
|
assets/js/forms-api.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
!function(){var e=void 0,t=void 0;!function n(t,r,i){function o(a,c){if(!r[a]){if(!t[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:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return o(n?n:e)},l,l.exports,n,t,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"===f.auto_scroll,n={behavior:t?"smooth":"instant"};e.element.scrollIntoView(n)}function i(e,t,n,i){var o=document.body.clientHeight,s=Date.now();n&&e.setData(i),f.auto_scroll&&r(e),window.addEventListener("load",function(){var a=Date.now()-s;f.auto_scroll&&a<800&&document.body.clientHeight!=o&&r(e),c.trigger("submitted",[e]),n?c.trigger("error",[e,n]):(c.trigger("success",[e,i]),c.trigger(t+"d",[e,i]))})}function o(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);n?e.style.display=o?"":"none":e.style.display=o?"none":""}}var s=window.mc4wp||{};if(window.addEventListener&&!s.ready){var a=e("gator"),c=e("./forms/forms.js"),u=window.mc4wp&&window.mc4wp.listeners?window.mc4wp.listeners:[],f=window.mc4wp_forms_config||{},l=document.querySelectorAll(".mc4wp-form [data-show-if], .mc4wp-form [data-hide-if]");[].forEach.call(l,function(e){for(var t=!!e.getAttribute("data-show-if"),n=t?e.getAttribute("data-show-if").split(":"):e.getAttribute("data-hide-if").split(":"),r=document.querySelectorAll('.mc4wp-form [name="'+n[0]+'"]'),i=n[1]||"",s=o(e,i,t),a=0;a<r.length;a++)r[a].addEventListener("change",s),r[a].addEventListener("keyup",s),s.call(r[a])});for(var h=0;h<u.length;h++)c.on(u[h].event,u[h].callback);if(a(document.body).on("submit",".mc4wp-form",function(e){var t=c.getByElement(e.target||e.srcElement);c.trigger("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]),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])}),f.submitted_form){var d=f.submitted_form,m=document.getElementById(d.element_id),p=c.getByElement(m);i(p,d.action,d.errors,d.data)}s.forms=c,s.ready=!0,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(t){console.error(t)}},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<d.length;t++)if(d[t].id==e)return d[t];var n=document.querySelector(".mc4wp-form-"+e);return o(n,e)}function i(e){for(var t=e.form||e,n=0;n<d.length;n++)if(d[n].element==t)return d[n];return o(t)}function o(e,t){t=t||parseInt(e.getAttribute("data-id"))||0;var n=new l(t,e);return d.push(n),n}function s(){return d}function a(e,t){return h.on(e,t)}function c(e,t){return h.trigger(e,t)}function u(e,t){return h.off(e,t)}var f=e("wolfy87-eventemitter"),l=e("./form.js"),h=new f,d=[];t.exports={all:s,get:r,getByElement:i,on:a,trigger:c,off: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){var r=t.match(f);if(r){var s=i(t);o(e,s,n)}else{var a=e[t];a?(Array.isArray(a)||(e[t]=[a]),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: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),o&&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(a[c][f].call(a[c].match,t)===!1)return void u.cancel(t);if(t.cancelBubble)return}}}function c(e,t,n,r){function i(e){return function(t){a(f,t,e)}}if(this.element){e instanceof Array||(e=[e]),n||"function"!=typeof t||(n=t,t="_root");var c,f=this.id;for(c=0;c<e.length;c++)r?s(this,e[c],t,n):(d[f]&&d[f][e[c]]||u.addEvent(this,e[c],i(e[c])),o(this,e[c],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},"undefined"!=typeof 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("undefined"!=typeof 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}}}};"function"==typeof t&&"object"==typeof t.amd&&t.amd?t(function(){return r}):"undefined"!=typeof n&&n.exports?n.exports=r:e.populate=r}(this)},{}],7:[function(e,n,r){(function(){"use strict";function e(){}function r(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function i(e){return function(){return this[e].apply(this,arguments)}}var o=e.prototype,s=this,a=s.EventEmitter;o.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},o.flattenListeners=function(e){var t,n=[];for(t=0;t<e.length;t+=1)n.push(e[t].listener);return n},o.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},o.addListener=function(e,t){var n,i=this.getListenersAsObject(e),o="object"==typeof t;for(n in i)i.hasOwnProperty(n)&&r(i[n],t)===-1&&i[n].push(o?t:{listener:t,once:!1});return this},o.on=i("addListener"),o.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},o.once=i("addOnceListener"),o.defineEvent=function(e){return this.getListeners(e),this},o.defineEvents=function(e){for(var t=0;t<e.length;t+=1)this.defineEvent(e[t]);return this},o.removeListener=function(e,t){var n,i,o=this.getListenersAsObject(e);for(i in o)o.hasOwnProperty(i)&&(n=r(o[i],t),n!==-1&&o[i].splice(n,1));return this},o.off=i("removeListener"),o.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},o.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},o.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},o.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},o.removeAllListeners=i("removeEvent"),o.emitEvent=function(e,t){var n,r,i,o,s,a=this.getListenersAsObject(e);for(o in a)if(a.hasOwnProperty(o))for(n=a[o].slice(0),i=n.length;i--;)r=n[i],r.once===!0&&this.removeListener(e,r.listener),s=r.listener.apply(this,t||[]),s===this._getOnceReturnValue()&&this.removeListener(e,r.listener);return this},o.trigger=i("emitEvent"),o.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},o.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},o._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},o._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return s.EventEmitter=a,e},"function"==typeof t&&t.amd?t(function(){return e}):"object"==typeof n&&n.exports?n.exports=e:s.EventEmitter=e}).call(this)},{}]},{},[1])}();
|
2 |
//# sourceMappingURL=forms-api.min.js.map
|
1 |
+
!function(){var e=void 0,t=void 0;!function n(t,r,i){function o(a,c){if(!r[a]){if(!t[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:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return o(n?n:e)},l,l.exports,n,t,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"===f.auto_scroll,n={behavior:t?"smooth":"instant"};e.element.scrollIntoView(n)}function i(e,t,n,i){var o=document.body.clientHeight,s=Date.now();n&&e.setData(i),f.auto_scroll&&r(e),window.addEventListener("load",function(){var a=Date.now()-s;f.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]))})}function o(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);n?e.style.display=o?"":"none":e.style.display=o?"none":""}}var s=window.mc4wp||{};if(window.addEventListener&&!s.ready){var a=e("gator"),c=e("./forms/forms.js"),u=window.mc4wp&&window.mc4wp.listeners?window.mc4wp.listeners:[],f=window.mc4wp_forms_config||{},l=document.querySelectorAll(".mc4wp-form [data-show-if], .mc4wp-form [data-hide-if]");[].forEach.call(l,function(e){for(var t=!!e.getAttribute("data-show-if"),n=t?e.getAttribute("data-show-if").split(":"):e.getAttribute("data-hide-if").split(":"),r=document.querySelectorAll('.mc4wp-form [name="'+n[0]+'"]'),i=n[1]||"",s=o(e,i,t),a=0;a<r.length;a++)r[a].addEventListener("change",s),r[a].addEventListener("keyup",s),s.call(r[a])});for(var d=0;d<u.length;d++)c.on(u[d].event,u[d].callback);if(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])}),f.submitted_form){var h=f.submitted_form,m=document.getElementById(h.element_id),p=c.getByElement(m);i(p,h.action,h.errors,h.data)}s.forms=c,s.ready=!0,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(t){console.error(t)}},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];var n=document.querySelector(".mc4wp-form-"+e);return o(n,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 d=l.name,h=l.value;if("checkbox"!==l.type&&"radio"!==l.type||l.checked||(h=void 0),t.empty){if("checkbox"!==l.type||l.checked||(h=""),"radio"===l.type&&(o[l.name]||l.checked?l.checked&&(o[l.name]=!0):o[l.name]=!1),!h&&"radio"==l.type)continue}else if(!h)continue;if("select-multiple"!==l.type)n=r(n,d,h);else{h=[];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&&"[]"!==d.slice(d.length-2)?r(n,d+"[]",g.value):r(n,d,g.value))}!p&&t.empty&&(n=r(n,d,""))}}}if(t.empty)for(var d in o)o[d]||(n=r(n,d,""));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){var r=t.match(f);if(r){var s=i(t);o(e,s,n)}else{var a=e[t];a?(Array.isArray(a)||(e[t]=[a]),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: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){h[e.id]||(h[e.id]={}),h[e.id][t]||(h[e.id][t]={}),h[e.id][t][n]||(h[e.id][t][n]=[]),h[e.id][t][n].push(r)}function s(e,t,n,r){if(h[e.id])if(t){if(!r&&!n)return void(h[e.id][t]={});if(!r)return void delete h[e.id][t][n];if(h[e.id][t][n])for(var i=0;i<h[e.id][t][n].length;i++)if(h[e.id][t][n][i]===r){h[e.id][t][n].splice(i,1);break}}else for(var o in h[e.id])h[e.id].hasOwnProperty(o)&&(h[e.id][o]={})}function a(e,t,n){if(h[e][n]){var r,o,s=t.target||t.srcElement,a={},c=0,f=0;l=0;for(r in h[e][n])h[e][n].hasOwnProperty(r)&&(o=i(s,r,m[e].element),o&&u.matchesEvent(n,m[e].element,o,"_root"==r,t)&&(l++,h[e][n][r].match=o,a[l]=h[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(a[c][f].call(a[c].match,t)===!1)return void u.cancel(t);if(t.cancelBubble)return}}}function c(e,t,n,r){function i(e){return function(t){a(f,t,e)}}if(this.element){e instanceof Array||(e=[e]),n||"function"!=typeof t||(n=t,t="_root");var c,f=this.id;for(c=0;c<e.length;c++)r?s(this,e[c],t,n):(h[f]&&h[f][e[c]]||u.addEvent(this,e[c],i(e[c])),o(this,e[c],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 d++,m[d]=new u(e,d),m[d]}this.element=e,this.id=t}var f,l=0,d=0,h={},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},"undefined"!=typeof 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("undefined"!=typeof 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}}}};"function"==typeof t&&"object"==typeof t.amd&&t.amd?t(function(){return r}):"undefined"!=typeof n&&n.exports?n.exports=r:e.populate=r}(this)},{}],7:[function(e,n,r){(function(){"use strict";function e(){}function r(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function i(e){return function(){return this[e].apply(this,arguments)}}var o=e.prototype,s=this,a=s.EventEmitter;o.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},o.flattenListeners=function(e){var t,n=[];for(t=0;t<e.length;t+=1)n.push(e[t].listener);return n},o.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},o.addListener=function(e,t){var n,i=this.getListenersAsObject(e),o="object"==typeof t;for(n in i)i.hasOwnProperty(n)&&r(i[n],t)===-1&&i[n].push(o?t:{listener:t,once:!1});return this},o.on=i("addListener"),o.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},o.once=i("addOnceListener"),o.defineEvent=function(e){return this.getListeners(e),this},o.defineEvents=function(e){for(var t=0;t<e.length;t+=1)this.defineEvent(e[t]);return this},o.removeListener=function(e,t){var n,i,o=this.getListenersAsObject(e);for(i in o)o.hasOwnProperty(i)&&(n=r(o[i],t),n!==-1&&o[i].splice(n,1));return this},o.off=i("removeListener"),o.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},o.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},o.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},o.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},o.removeAllListeners=i("removeEvent"),o.emitEvent=function(e,t){var n,r,i,o,s,a=this.getListenersAsObject(e);for(o in a)if(a.hasOwnProperty(o))for(n=a[o].slice(0),i=n.length;i--;)r=n[i],r.once===!0&&this.removeListener(e,r.listener),s=r.listener.apply(this,t||[]),s===this._getOnceReturnValue()&&this.removeListener(e,r.listener);return this},o.trigger=i("emitEvent"),o.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},o.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},o._getOnceReturnValue=function(){return!this.hasOwnProperty("_onceReturnValue")||this._onceReturnValue},o._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return s.EventEmitter=a,e},"function"==typeof t&&t.amd?t(function(){return e}):"object"==typeof n&&n.exports?n.exports=e:s.EventEmitter=e}).call(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","handleFormRequest","action","errors","data","pageHeight","document","body","clientHeight","timeStart","Date","now","setData","window","addEventListener","timeElapsed","forms","trigger","toggleElement","el","expectedValue","show","value","this","trim","checked","getAttribute","conditionMet","style","display","mc4wp","ready","Gator","listeners","mc4wp_forms_config","optionalInputs","querySelectorAll","forEach","condition","split","fields","callback","on","event","getByElement","target","srcElement","started","submitted_form","formConfig","getElementById","element_id","./forms/forms.js","gator","2","serialize","populate","Form","id","createElement","name","prototype","console","error","getData","hash","getSerializedData","setResponse","msg","querySelector","innerHTML","reset","form-serialize","populate.js","3","get","formId","formElement","createFromElement","parseInt","push","all","events","off","EventEmitter","./form.js","wolfy87-eventemitter","4","options","result","serializer","hash_serializer","str_serialize","elements","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","matches","existing","replace","encodeURIComponent","5","_addEvent","useCapture","_cancel","preventDefault","stopPropagation","_getMatcher","_matcher","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchesSelector","_matchesSelector","selector","boundElement","parentNode","_level","_addHandler","_handlers","_removeHandler","splice","hasOwnProperty","_handleEvent","_gatorInstances","matchesEvent","cancelBubble","cancel","_bind","remove","_getGlobalCallback","addEvent","_id","6","root","basename","constructor","namedItem","indexOf","values","k","toString","amd","7","indexOfListener","listener","alias","apply","arguments","proto","originalGlobalValue","getListeners","evt","response","_getEvents","flattenListeners","flatListeners","getListenersAsObject","addListener","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\nvar mc4wp = window.mc4wp || {};\n\n// bail early if we're on IE8 OR if already inited (when script is included twice)\nif( ! window.addEventListener || mc4wp.ready ) {\n\treturn;\n}\n\n// deps & vars\nvar Gator = require('gator');\nvar forms = require('./forms/forms.js');\nvar listeners = window.mc4wp && window.mc4wp.listeners ? window.mc4wp.listeners : [];\nvar config = window.mc4wp_forms_config || {};\nvar optionalInputs = document.querySelectorAll('.mc4wp-form [data-show-if], .mc4wp-form [data-hide-if]');\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\n\t\tif( errors ) {\n\t\t\tforms.trigger('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(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\n// hide fields with [data-show-if] attribute\n[].forEach.call(optionalInputs, function(el) {\n\tvar show = !!el.getAttribute('data-show-if');\n\tvar condition = show ? el.getAttribute('data-show-if').split(':') : el.getAttribute('data-hide-if').split(':');\n\tvar fields = document.querySelectorAll('.mc4wp-form [name=\"' + condition[0] + '\"]');\n\tvar expectedValue = condition[1] || \"\";\n\tvar callback = toggleElement(el, expectedValue, show);\n\n\tfor(var i=0; i<fields.length; i++) {\n\t\tfields[i].addEventListener('change', callback);\n\t\tfields[i].addEventListener('keyup', callback);\n\t\tcallback.call(fields[i]);\n\t}\n});\n\n\n// register early listeners\nfor(var i=0; i<listeners.length;i++) {\n\tforms.on(listeners[i].event, listeners[i].callback);\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});\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\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});\n\nif( config.submitted_form ) {\n\tvar formConfig = config.submitted_form,\n\t\telement = document.getElementById(formConfig.element_id),\n\t\tform = forms.getByElement(element);\n\n\thandleFormRequest(form, formConfig.action, formConfig.errors, formConfig.data);\n}\n\n\n// expose forms object\nmc4wp.forms = forms;\nmc4wp.ready = true;\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(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\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\nfunction on(event,callback) {\n\treturn events.on(event,callback);\n}\n\nfunction trigger(event,args) {\n\treturn events.trigger(event,args);\n}\n\nfunction off(event,callback) {\n\treturn events.off(event,callback);\n}\n\nmodule.exports = {\n\t\"all\": all,\n\t\"get\": get,\n\t\"getByElement\": getByElement,\n\t\"on\": on,\n\t\"trigger\": trigger,\n\t\"off\": off\n};\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\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\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},{}],7:[function(require,module,exports){\n/*!\n * EventEmitter v4.2.11 - git.io/ee\n * Unlicense - http://unlicense.org/\n * Oliver Caldwell - http://oli.me.uk/\n * @preserve\n */\n\n;(function () {\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 exports = this;\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 /**\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 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 i = listeners.length;\n\n while (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}.call(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","handleFormRequest","action","errors","data","pageHeight","document","body","clientHeight","timeStart","Date","now","setData","window","addEventListener","timeElapsed","forms","trigger","id","toggleElement","el","expectedValue","show","value","this","trim","checked","getAttribute","conditionMet","style","display","mc4wp","ready","Gator","listeners","mc4wp_forms_config","optionalInputs","querySelectorAll","forEach","condition","split","fields","callback","on","event","getByElement","target","srcElement","started","submitted_form","formConfig","getElementById","element_id","./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","formElement","createFromElement","parseInt","push","all","EventEmitter","events","bind","off","./form.js","wolfy87-eventemitter","4","options","result","serializer","hash_serializer","str_serialize","elements","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","matches","existing","replace","encodeURIComponent","5","_addEvent","useCapture","_cancel","preventDefault","stopPropagation","_getMatcher","_matcher","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchesSelector","_matchesSelector","selector","boundElement","parentNode","_level","_addHandler","_handlers","_removeHandler","splice","hasOwnProperty","_handleEvent","_gatorInstances","matchesEvent","cancelBubble","cancel","_bind","remove","_getGlobalCallback","addEvent","_id","6","root","basename","constructor","namedItem","indexOf","values","k","toString","amd","7","indexOfListener","listener","alias","apply","arguments","proto","originalGlobalValue","getListeners","evt","response","_getEvents","flattenListeners","flatListeners","getListenersAsObject","addListener","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\nvar mc4wp = window.mc4wp || {};\n\n// bail early if we're on IE8 OR if already inited (when script is included twice)\nif( ! window.addEventListener || mc4wp.ready ) {\n\treturn;\n}\n\n// deps & vars\nvar Gator = require('gator');\nvar forms = require('./forms/forms.js');\nvar listeners = window.mc4wp && window.mc4wp.listeners ? window.mc4wp.listeners : [];\nvar config = window.mc4wp_forms_config || {};\nvar optionalInputs = document.querySelectorAll('.mc4wp-form [data-show-if], .mc4wp-form [data-hide-if]');\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\n// hide fields with [data-show-if] attribute\n[].forEach.call(optionalInputs, function(el) {\n\tvar show = !!el.getAttribute('data-show-if');\n\tvar condition = show ? el.getAttribute('data-show-if').split(':') : el.getAttribute('data-hide-if').split(':');\n\tvar fields = document.querySelectorAll('.mc4wp-form [name=\"' + condition[0] + '\"]');\n\tvar expectedValue = condition[1] || \"\";\n\tvar callback = toggleElement(el, expectedValue, show);\n\n\tfor(var i=0; i<fields.length; i++) {\n\t\tfields[i].addEventListener('change', callback);\n\t\tfields[i].addEventListener('keyup', callback);\n\t\tcallback.call(fields[i]);\n\t}\n});\n\n\n// register early listeners\nfor(var i=0; i<listeners.length;i++) {\n\tforms.on(listeners[i].event, listeners[i].callback);\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\nif( config.submitted_form ) {\n\tvar formConfig = config.submitted_form,\n\t\telement = document.getElementById(formConfig.element_id),\n\t\tform = forms.getByElement(element);\n\n\thandleFormRequest(form, formConfig.action, formConfig.errors, formConfig.data);\n}\n\n\n// expose forms object\nmc4wp.forms = forms;\nmc4wp.ready = true;\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(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\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\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\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\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},{}],7:[function(require,module,exports){\n/*!\n * EventEmitter v4.2.11 - git.io/ee\n * Unlicense - http://unlicense.org/\n * Oliver Caldwell - http://oli.me.uk/\n * @preserve\n */\n\n;(function () {\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 exports = this;\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 /**\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 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 i = listeners.length;\n\n while (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}.call(this));\n\n},{}]},{},[1]);\n })();"]}
|
includes/admin/class-review-notice.php
CHANGED
@@ -63,13 +63,14 @@ class MC4WP_Admin_Review_Notice {
|
|
63 |
return false;
|
64 |
}
|
65 |
|
66 |
-
echo '<div class="notice notice-info mc4wp-is-dismissible">';
|
67 |
echo '<p>';
|
68 |
echo __( 'You\'ve been using MailChimp for WordPress for some time now; we hope you love it!', 'mailchimp-for-wp' ) . ' <br />';
|
69 |
echo sprintf( __( 'If you do, please <a href="%s">leave us a 5★ rating on WordPress.org</a>. It would be of great help to us.', 'mailchimp-for-wp' ), 'https://wordpress.org/support/view/plugin-reviews/mailchimp-for-wp?rate=5#new-post' );
|
70 |
echo '</p>';
|
71 |
-
echo '<form method="POST"><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 |
|
63 |
return false;
|
64 |
}
|
65 |
|
66 |
+
echo '<div class="notice notice-info mc4wp-is-dismissible" id="mc4wp-review-notice">';
|
67 |
echo '<p>';
|
68 |
echo __( 'You\'ve been using MailChimp for WordPress for some time now; we hope you love it!', 'mailchimp-for-wp' ) . ' <br />';
|
69 |
echo sprintf( __( 'If you do, please <a href="%s">leave us a 5★ rating on WordPress.org</a>. It would be of great help to us.', 'mailchimp-for-wp' ), 'https://wordpress.org/support/view/plugin-reviews/mailchimp-for-wp?rate=5#new-post' );
|
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 |
|
includes/api/class-api-v3.php
CHANGED
@@ -434,6 +434,20 @@ class MC4WP_API_v3 {
|
|
434 |
return $this->client->post( $resource, $args );
|
435 |
}
|
436 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
437 |
/**
|
438 |
* @link http://developer.mailchimp.com/documentation/mailchimp/reference/ecommerce/stores/products/#delete-delete_ecommerce_stores_store_id_products_product_id
|
439 |
*
|
434 |
return $this->client->post( $resource, $args );
|
435 |
}
|
436 |
|
437 |
+
/**
|
438 |
+
* @link http://developer.mailchimp.com/documentation/mailchimp/reference/ecommerce/stores/products/#edit-patch_ecommerce_stores_store_id_products_product_id
|
439 |
+
*
|
440 |
+
* @param string $store_id
|
441 |
+
* @param string $product_id
|
442 |
+
* @param array $args
|
443 |
+
*
|
444 |
+
* @return object
|
445 |
+
*/
|
446 |
+
public function update_ecommerce_store_product( $store_id, $product_id, array $args ) {
|
447 |
+
$resource = sprintf( '/ecommerce/stores/%s/products/%s', $store_id, $product_id );
|
448 |
+
return $this->client->patch( $resource, $args );
|
449 |
+
}
|
450 |
+
|
451 |
/**
|
452 |
* @link http://developer.mailchimp.com/documentation/mailchimp/reference/ecommerce/stores/products/#delete-delete_ecommerce_stores_store_id_products_product_id
|
453 |
*
|
includes/class-field-formatter.php
CHANGED
@@ -69,12 +69,13 @@ class MC4WP_Field_Formatter {
|
|
69 |
// if first part looks like a day, flip order so month (or even year) comes first
|
70 |
// this allows `strtotime` to understand `dd/mm` values
|
71 |
$values = explode( '/', $value );
|
72 |
-
if( $values[0] > 12 && $values[0] <= 31 ) {
|
73 |
$values = array_reverse ( $values );
|
74 |
$value = join( '/', $values );
|
75 |
}
|
76 |
|
77 |
-
$value = (string) date(
|
|
|
78 |
return $value;
|
79 |
}
|
80 |
|
69 |
// if first part looks like a day, flip order so month (or even year) comes first
|
70 |
// this allows `strtotime` to understand `dd/mm` values
|
71 |
$values = explode( '/', $value );
|
72 |
+
if( $values[0] > 12 && $values[0] <= 31 && isset( $values[1] ) && $values[1] <= 12 ) {
|
73 |
$values = array_reverse ( $values );
|
74 |
$value = join( '/', $values );
|
75 |
}
|
76 |
|
77 |
+
$value = (string) date('m/d', strtotime( $value ) );
|
78 |
+
|
79 |
return $value;
|
80 |
}
|
81 |
|
includes/class-mailchimp.php
CHANGED
@@ -144,7 +144,12 @@ class MC4WP_MailChimp {
|
|
144 |
* @return boolean
|
145 |
*/
|
146 |
public function list_has_subscriber( $list_id, $email_address ) {
|
147 |
-
|
|
|
|
|
|
|
|
|
|
|
148 |
return ! empty( $data->id ) && $data->status === 'subscribed';
|
149 |
}
|
150 |
|
144 |
* @return boolean
|
145 |
*/
|
146 |
public function list_has_subscriber( $list_id, $email_address ) {
|
147 |
+
try{
|
148 |
+
$data = $this->api->get_list_member( $list_id, $email_address );
|
149 |
+
} catch( MC4WP_API_Resource_Not_Found_Exception $e ) {
|
150 |
+
return false;
|
151 |
+
}
|
152 |
+
|
153 |
return ! empty( $data->id ) && $data->status === 'subscribed';
|
154 |
}
|
155 |
|
includes/forms/class-admin.php
CHANGED
@@ -126,7 +126,7 @@ class MC4WP_Forms_Admin {
|
|
126 |
|
127 |
check_admin_referer( 'add_form', '_mc4wp_nonce' );
|
128 |
|
129 |
-
$form_data =
|
130 |
$form_content = include MC4WP_PLUGIN_DIR . 'config/default-form-content.php';
|
131 |
|
132 |
// Fix for MultiSite stripping KSES for roles other than administrator
|
@@ -265,7 +265,7 @@ class MC4WP_Forms_Admin {
|
|
265 |
check_admin_referer( 'edit_form', '_mc4wp_nonce' );
|
266 |
$form_id = (int) $_POST['mc4wp_form_id'];
|
267 |
|
268 |
-
$form_data =
|
269 |
$form_data['ID'] = $form_id;
|
270 |
|
271 |
$this->save_form( $form_data );
|
@@ -316,7 +316,7 @@ class MC4WP_Forms_Admin {
|
|
316 |
$preview_id = (int) get_option( 'mc4wp_form_preview_id', 0 );
|
317 |
|
318 |
// get data
|
319 |
-
$form_data =
|
320 |
$form_data['ID'] = $preview_id;
|
321 |
$form_data['status'] = 'preview';
|
322 |
$real_preview_id = $this->save_form( $form_data );
|
126 |
|
127 |
check_admin_referer( 'add_form', '_mc4wp_nonce' );
|
128 |
|
129 |
+
$form_data = $_POST['mc4wp_form'];
|
130 |
$form_content = include MC4WP_PLUGIN_DIR . 'config/default-form-content.php';
|
131 |
|
132 |
// Fix for MultiSite stripping KSES for roles other than administrator
|
265 |
check_admin_referer( 'edit_form', '_mc4wp_nonce' );
|
266 |
$form_id = (int) $_POST['mc4wp_form_id'];
|
267 |
|
268 |
+
$form_data = $_POST['mc4wp_form'];
|
269 |
$form_data['ID'] = $form_id;
|
270 |
|
271 |
$this->save_form( $form_data );
|
316 |
$preview_id = (int) get_option( 'mc4wp_form_preview_id', 0 );
|
317 |
|
318 |
// get data
|
319 |
+
$form_data = $_POST['mc4wp_form'];
|
320 |
$form_data['ID'] = $preview_id;
|
321 |
$form_data['status'] = 'preview';
|
322 |
$real_preview_id = $this->save_form( $form_data );
|
includes/forms/class-asset-manager.php
CHANGED
@@ -8,11 +8,6 @@
|
|
8 |
*/
|
9 |
class MC4WP_Form_Asset_Manager {
|
10 |
|
11 |
-
/**
|
12 |
-
* @var bool
|
13 |
-
*/
|
14 |
-
protected $dummy_printed = false;
|
15 |
-
|
16 |
/**
|
17 |
* @var bool
|
18 |
*/
|
@@ -192,18 +187,11 @@ class MC4WP_Form_Asset_Manager {
|
|
192 |
* Load JavaScript files
|
193 |
*/
|
194 |
public function before_output_form() {
|
195 |
-
|
196 |
-
// only run once
|
197 |
-
if( $this->dummy_printed ) {
|
198 |
-
return;
|
199 |
-
}
|
200 |
-
|
201 |
// print dummy JS
|
202 |
$this->print_dummy_javascript();
|
203 |
|
204 |
// set flags
|
205 |
$this->load_scripts = true;
|
206 |
-
$this->dummy_printed = true;
|
207 |
}
|
208 |
|
209 |
/**
|
8 |
*/
|
9 |
class MC4WP_Form_Asset_Manager {
|
10 |
|
|
|
|
|
|
|
|
|
|
|
11 |
/**
|
12 |
* @var bool
|
13 |
*/
|
187 |
* Load JavaScript files
|
188 |
*/
|
189 |
public function before_output_form() {
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
// print dummy JS
|
191 |
$this->print_dummy_javascript();
|
192 |
|
193 |
// set flags
|
194 |
$this->load_scripts = true;
|
|
|
195 |
}
|
196 |
|
197 |
/**
|
languages/mailchimp-for-wp-de_DE.mo
CHANGED
Binary file
|
languages/mailchimp-for-wp-de_DE.po
CHANGED
@@ -13,15 +13,16 @@
|
|
13 |
# Stefan Oderbolz <oderbolz@gmail.com>, 2015
|
14 |
# Steffi Zehnder, 2016
|
15 |
# Sven B. <sven.balje@esb-stade.de>, 2015
|
16 |
-
#
|
|
|
17 |
# Uwe <uwe.keim@gmail.com>, 2015
|
18 |
msgid ""
|
19 |
msgstr ""
|
20 |
"Project-Id-Version: MailChimp for WordPress\n"
|
21 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mailchimp-for-wp\n"
|
22 |
"POT-Creation-Date: 2015-11-30 10:15:18+00:00\n"
|
23 |
-
"PO-Revision-Date: 2016-
|
24 |
-
"Last-Translator:
|
25 |
"Language-Team: German (Germany) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/de_DE/)\n"
|
26 |
"MIME-Version: 1.0\n"
|
27 |
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -49,7 +50,7 @@ msgstr "Danke, deine Registrierung war erfolgreich! Bitte prüfe dein E-Mail-Kon
|
|
49 |
|
50 |
#: config/default-form-messages.php:9
|
51 |
msgid "Oops. Something went wrong. Please try again later."
|
52 |
-
msgstr "
|
53 |
|
54 |
#: config/default-form-messages.php:13
|
55 |
msgid "Please provide a valid email address."
|
@@ -351,7 +352,7 @@ msgstr "MailChimp Listen neu laden"
|
|
351 |
|
352 |
#: includes/forms/views/parts/dynamic-content-tags.php:6
|
353 |
msgid "Add dynamic form variable"
|
354 |
-
msgstr ""
|
355 |
|
356 |
#: includes/forms/views/parts/dynamic-content-tags.php:8
|
357 |
msgid ""
|
@@ -369,7 +370,7 @@ msgstr "Vom Theme %s übernehmen"
|
|
369 |
|
370 |
#: includes/forms/views/tabs/form-appearance.php:6
|
371 |
msgid "Basic"
|
372 |
-
msgstr ""
|
373 |
|
374 |
#: includes/forms/views/tabs/form-appearance.php:7
|
375 |
msgid "Form Themes"
|
@@ -397,7 +398,7 @@ msgstr "Blaues Theme"
|
|
397 |
|
398 |
#: includes/forms/views/tabs/form-appearance.php:25
|
399 |
msgid "Form Appearance"
|
400 |
-
msgstr ""
|
401 |
|
402 |
#: includes/forms/views/tabs/form-appearance.php:29
|
403 |
msgid "Form Style"
|
@@ -662,7 +663,7 @@ msgstr "%s-Integration aktivieren? Es wird eine Sign-Up-Checkbox zum Formular hi
|
|
662 |
|
663 |
#: includes/integrations/views/integration-settings.php:64
|
664 |
msgid "Implicit?"
|
665 |
-
msgstr ""
|
666 |
|
667 |
#: includes/integrations/views/integration-settings.php:68
|
668 |
msgid ""
|
@@ -724,7 +725,7 @@ msgid ""
|
|
724 |
"fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
|
725 |
"sure only the email & name fields are marked as required fields for the "
|
726 |
"selected list(s)."
|
727 |
-
msgstr ""
|
728 |
|
729 |
#: includes/integrations/views/integrations.php:30
|
730 |
msgid "Enabled"
|
@@ -860,7 +861,7 @@ msgstr "Integration mit Contact Form 7: Konfiguriere die folgenden Einstellungen
|
|
860 |
msgid ""
|
861 |
"To get a custom integration to work, include the following HTML in the form "
|
862 |
"you are trying to integrate with."
|
863 |
-
msgstr ""
|
864 |
|
865 |
#: integrations/woocommerce/class-woocommerce.php:102
|
866 |
msgid "Order #%d"
|
13 |
# Stefan Oderbolz <oderbolz@gmail.com>, 2015
|
14 |
# Steffi Zehnder, 2016
|
15 |
# Sven B. <sven.balje@esb-stade.de>, 2015
|
16 |
+
# Sven de Vries <signor.aglie@gmail.com>, 2016
|
17 |
+
# Tobias Vogler <inactive+tobiv@transifex.com>, 2016
|
18 |
# Uwe <uwe.keim@gmail.com>, 2015
|
19 |
msgid ""
|
20 |
msgstr ""
|
21 |
"Project-Id-Version: MailChimp for WordPress\n"
|
22 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mailchimp-for-wp\n"
|
23 |
"POT-Creation-Date: 2015-11-30 10:15:18+00:00\n"
|
24 |
+
"PO-Revision-Date: 2016-12-18 10:42+0000\n"
|
25 |
+
"Last-Translator: Sven de Vries <signor.aglie@gmail.com>\n"
|
26 |
"Language-Team: German (Germany) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/de_DE/)\n"
|
27 |
"MIME-Version: 1.0\n"
|
28 |
"Content-Type: text/plain; charset=UTF-8\n"
|
50 |
|
51 |
#: config/default-form-messages.php:9
|
52 |
msgid "Oops. Something went wrong. Please try again later."
|
53 |
+
msgstr "Hoppla. Irgendwas ist schief gelaufen. Bitte versuche es später noch mal."
|
54 |
|
55 |
#: config/default-form-messages.php:13
|
56 |
msgid "Please provide a valid email address."
|
352 |
|
353 |
#: includes/forms/views/parts/dynamic-content-tags.php:6
|
354 |
msgid "Add dynamic form variable"
|
355 |
+
msgstr "Dynamische Formular-Variablen hinzufügen"
|
356 |
|
357 |
#: includes/forms/views/parts/dynamic-content-tags.php:8
|
358 |
msgid ""
|
370 |
|
371 |
#: includes/forms/views/tabs/form-appearance.php:6
|
372 |
msgid "Basic"
|
373 |
+
msgstr "Standard"
|
374 |
|
375 |
#: includes/forms/views/tabs/form-appearance.php:7
|
376 |
msgid "Form Themes"
|
398 |
|
399 |
#: includes/forms/views/tabs/form-appearance.php:25
|
400 |
msgid "Form Appearance"
|
401 |
+
msgstr "Formulargestaltung"
|
402 |
|
403 |
#: includes/forms/views/tabs/form-appearance.php:29
|
404 |
msgid "Form Style"
|
663 |
|
664 |
#: includes/integrations/views/integration-settings.php:64
|
665 |
msgid "Implicit?"
|
666 |
+
msgstr "erforderlich?"
|
667 |
|
668 |
#: includes/integrations/views/integration-settings.php:68
|
669 |
msgid ""
|
725 |
"fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
|
726 |
"sure only the email & name fields are marked as required fields for the "
|
727 |
"selected list(s)."
|
728 |
+
msgstr "Sie müssen alles so einstellen, dass das Plugin <a href=\"%s\">alle zum Absenden des Formulars erforderlichen Felder ihres Formulars enthält</a> oder sich bei <a href=\"%s\">Mailchimp einloggen</a> und nur das E-Mail & Name-Feld für Ihre Liste(n) als \"erforderlich\" (required) markieren."
|
729 |
|
730 |
#: includes/integrations/views/integrations.php:30
|
731 |
msgid "Enabled"
|
861 |
msgid ""
|
862 |
"To get a custom integration to work, include the following HTML in the form "
|
863 |
"you are trying to integrate with."
|
864 |
+
msgstr "Damit die angepasste Integration funktioniert, müssen Sie folgendes HTML in das entsprechende Formular einfügen."
|
865 |
|
866 |
#: integrations/woocommerce/class-woocommerce.php:102
|
867 |
msgid "Order #%d"
|
languages/mailchimp-for-wp-pl_PL.mo
CHANGED
Binary file
|
languages/mailchimp-for-wp-pl_PL.po
CHANGED
@@ -1,1634 +1,882 @@
|
|
1 |
-
# Copyright (C)
|
2 |
-
# This file is distributed under the
|
3 |
# Translators:
|
|
|
|
|
|
|
|
|
|
|
4 |
msgid ""
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: MailChimp for WordPress\n"
|
7 |
-
"Report-Msgid-Bugs-To:
|
8 |
-
"POT-Creation-Date:
|
9 |
-
"PO-Revision-Date:
|
10 |
-
"Last-Translator:
|
11 |
-
"Language-Team: Polish (Poland) (http://www.transifex.com/
|
12 |
"MIME-Version: 1.0\n"
|
13 |
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
"Content-Transfer-Encoding: 8bit\n"
|
15 |
"Language: pl_PL\n"
|
16 |
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
17 |
-
"X-Generator: grunt-wp-i18n 0.4.4\n"
|
18 |
-
"X-Poedit-Basepath: .\n"
|
19 |
-
"X-Poedit-Bookmarks: \n"
|
20 |
-
"X-Poedit-Country: UNITED STATES\n"
|
21 |
-
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2; _nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_attr__; esc_html__;esc_attr_e; esc_html_e;esc_attr_x:1,2c; esc_html_x:1,2c;\n"
|
22 |
-
"X-Poedit-Language: English\n"
|
23 |
-
"X-Poedit-SearchPath-0: .\n"
|
24 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
25 |
-
"X-Textdomain-Support: yes\n"
|
26 |
-
|
27 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:130
|
28 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:185
|
29 |
-
msgid "Settings"
|
30 |
-
msgstr ""
|
31 |
-
|
32 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:149
|
33 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:163
|
34 |
-
msgid "Upgrade to Pro"
|
35 |
-
msgstr ""
|
36 |
-
|
37 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:160
|
38 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:12
|
39 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:106
|
40 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:10
|
41 |
-
msgid "MailChimp Settings"
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:161
|
45 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:572
|
46 |
-
msgid "Checkboxes"
|
47 |
-
msgstr ""
|
48 |
-
|
49 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:162
|
50 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:573
|
51 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-form-settings.php:10
|
52 |
-
msgid "Forms"
|
53 |
-
msgstr ""
|
54 |
-
|
55 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:299
|
56 |
-
msgid "This option is only available in MailChimp for WordPress Pro."
|
57 |
-
msgstr ""
|
58 |
-
|
59 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:313
|
60 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:671
|
61 |
-
msgid "Comment form"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:314
|
65 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:672
|
66 |
-
msgid "Registration form"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:318
|
70 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:676
|
71 |
-
msgid "MultiSite forms"
|
72 |
-
msgstr ""
|
73 |
-
|
74 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:322
|
75 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:680
|
76 |
-
#: mailchimp-for-wordpress-pro/includes/tables/class-log-table.php:231
|
77 |
-
msgid "BuddyPress registration"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:330
|
81 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:334
|
82 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:688
|
83 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:692
|
84 |
-
msgid "%s checkout"
|
85 |
-
msgstr ""
|
86 |
-
|
87 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:363
|
88 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:738
|
89 |
-
msgid "Renewed MailChimp cache."
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:365
|
93 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:740
|
94 |
-
msgid "Failed to renew MailChimp cache - please try again later."
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:398
|
98 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:313
|
99 |
-
msgid "An EMAIL field. Example: <code>%s</code>"
|
100 |
-
msgstr ""
|
101 |
-
|
102 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:404
|
103 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:319
|
104 |
-
msgid "A submit button. Example: <code>%s</code>"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:404
|
108 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:319
|
109 |
-
msgid "Sign Up"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: mailchimp-for-wordpress/includes/class-admin.php:429
|
113 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:347
|
114 |
-
msgid "A '%s' field"
|
115 |
-
msgstr ""
|
116 |
-
|
117 |
-
#: mailchimp-for-wordpress/includes/class-form-request.php:675
|
118 |
-
msgid "Please select at least one list to subscribe to."
|
119 |
-
msgstr ""
|
120 |
-
|
121 |
-
#: mailchimp-for-wordpress/includes/class-widget.php:20
|
122 |
-
msgid "MailChimp Sign-Up Form"
|
123 |
-
msgstr ""
|
124 |
-
|
125 |
-
#: mailchimp-for-wordpress/includes/class-widget.php:21
|
126 |
-
msgid "Displays your MailChimp for WordPress sign-up form"
|
127 |
-
msgstr ""
|
128 |
-
|
129 |
-
#: mailchimp-for-wordpress/includes/class-widget.php:62
|
130 |
-
#: mailchimp-for-wordpress-pro/includes/class-widget.php:69
|
131 |
-
msgid "Newsletter"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: mailchimp-for-wordpress/includes/class-widget.php:65
|
135 |
-
#: mailchimp-for-wordpress-pro/includes/class-widget.php:80
|
136 |
-
msgid "Title:"
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#: mailchimp-for-wordpress/includes/class-widget.php:69
|
140 |
-
msgid ""
|
141 |
-
"You can edit your sign-up form in the %sMailChimp for WordPress form "
|
142 |
-
"settings%s."
|
143 |
-
msgstr ""
|
144 |
|
145 |
-
#:
|
146 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:285
|
147 |
-
#: mailchimp-for-wordpress-pro/includes/class-mailchimp.php:135
|
148 |
msgid "Email address"
|
149 |
-
msgstr ""
|
150 |
|
151 |
-
#:
|
152 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:284
|
153 |
msgid "Your email address"
|
154 |
-
msgstr ""
|
155 |
|
156 |
-
#:
|
157 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:286
|
158 |
msgid "Sign up"
|
159 |
-
msgstr ""
|
160 |
-
|
161 |
-
#: mailchimp-for-wordpress/includes/functions/general.php:30
|
162 |
-
#: mailchimp-for-wordpress-pro/includes/functions/general.php:27
|
163 |
-
msgid "Sign me up for the newsletter!"
|
164 |
-
msgstr ""
|
165 |
|
166 |
-
#:
|
167 |
msgid ""
|
168 |
-
"Thank you, your sign-up request was successful! Please check your
|
169 |
-
"inbox."
|
170 |
-
msgstr ""
|
171 |
|
172 |
-
#:
|
173 |
-
#: mailchimp-for-wordpress-pro/includes/functions/general.php:51
|
174 |
msgid "Oops. Something went wrong. Please try again later."
|
175 |
-
msgstr ""
|
176 |
|
177 |
-
#:
|
178 |
-
#: mailchimp-for-wordpress-pro/includes/functions/general.php:52
|
179 |
msgid "Please provide a valid email address."
|
180 |
-
msgstr ""
|
181 |
|
182 |
-
#:
|
183 |
-
#: mailchimp-for-wordpress-pro/includes/functions/general.php:53
|
184 |
msgid "Given email address is already subscribed, thank you!"
|
185 |
-
msgstr ""
|
186 |
-
|
187 |
-
#: mailchimp-for-wordpress/includes/functions/general.php:51
|
188 |
-
#: mailchimp-for-wordpress-pro/includes/functions/general.php:54
|
189 |
-
msgid "Please complete the CAPTCHA."
|
190 |
-
msgstr ""
|
191 |
|
192 |
-
#:
|
193 |
-
#: mailchimp-for-wordpress-pro/includes/functions/general.php:55
|
194 |
msgid "Please fill in the required fields."
|
195 |
-
msgstr ""
|
196 |
-
|
197 |
-
#: mailchimp-for-wordpress/includes/integrations/class-cf7.php:44
|
198 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:52
|
199 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:91
|
200 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:96
|
201 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:113
|
202 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:126
|
203 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:136
|
204 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:147
|
205 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:166
|
206 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:180
|
207 |
-
#: mailchimp-for-wordpress-pro/includes/integrations/class-cf7.php:44
|
208 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:17
|
209 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:37
|
210 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:56
|
211 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:75
|
212 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:98
|
213 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:116
|
214 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:139
|
215 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:52
|
216 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:60
|
217 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:99
|
218 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:104
|
219 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:59
|
220 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:72
|
221 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:82
|
222 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:97
|
223 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:115
|
224 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:123
|
225 |
-
msgid "Yes"
|
226 |
-
msgstr ""
|
227 |
-
|
228 |
-
#: mailchimp-for-wordpress/includes/integrations/class-cf7.php:44
|
229 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:56
|
230 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:91
|
231 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:96
|
232 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:27
|
233 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:117
|
234 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:128
|
235 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:138
|
236 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:151
|
237 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:170
|
238 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:184
|
239 |
-
#: mailchimp-for-wordpress-pro/includes/integrations/class-cf7.php:44
|
240 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:21
|
241 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:41
|
242 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:60
|
243 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:79
|
244 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:102
|
245 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:120
|
246 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:140
|
247 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:52
|
248 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:62
|
249 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:99
|
250 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:104
|
251 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:22
|
252 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:63
|
253 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:73
|
254 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:86
|
255 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:101
|
256 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:116
|
257 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:124
|
258 |
-
msgid "No"
|
259 |
-
msgstr ""
|
260 |
-
|
261 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:212
|
262 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:215
|
263 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:293
|
264 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:302
|
265 |
-
msgid "MailChimp for WordPress - Error"
|
266 |
-
msgstr ""
|
267 |
-
|
268 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:213
|
269 |
-
msgid ""
|
270 |
-
"Please select a list to subscribe to in the <a href=\"%s\">checkbox "
|
271 |
-
"settings</a>."
|
272 |
-
msgstr ""
|
273 |
-
|
274 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:214
|
275 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:301
|
276 |
-
msgid "This message is only visible to administrators for debugging purposes."
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:294
|
280 |
-
msgid ""
|
281 |
-
"The MailChimp server returned the following error message as a response to "
|
282 |
-
"our sign-up request:"
|
283 |
-
msgstr ""
|
284 |
-
|
285 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:296
|
286 |
-
msgid "This is the data that was sent to MailChimp:"
|
287 |
-
msgstr ""
|
288 |
-
|
289 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:297
|
290 |
-
#: mailchimp-for-wordpress-pro/includes/class-form-request.php:638
|
291 |
-
msgid "Email address:"
|
292 |
-
msgstr ""
|
293 |
-
|
294 |
-
#: mailchimp-for-wordpress/includes/integrations/class-integration.php:299
|
295 |
-
msgid "Merge variables:"
|
296 |
-
msgstr ""
|
297 |
-
|
298 |
-
#. Plugin Name of the plugin/theme
|
299 |
-
msgid "MailChimp for WordPress"
|
300 |
-
msgstr ""
|
301 |
-
|
302 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:22
|
303 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:19
|
304 |
-
msgid "API Settings"
|
305 |
-
msgstr ""
|
306 |
-
|
307 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:24
|
308 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:21
|
309 |
-
msgid "CONNECTED"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:26
|
313 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:23
|
314 |
-
msgid "NOT CONNECTED"
|
315 |
-
msgstr ""
|
316 |
-
|
317 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:32
|
318 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:29
|
319 |
-
msgid "API Key"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:34
|
323 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:31
|
324 |
-
msgid "Your MailChimp API key"
|
325 |
-
msgstr ""
|
326 |
-
|
327 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:35
|
328 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:32
|
329 |
-
msgid "Get your API key here."
|
330 |
-
msgstr ""
|
331 |
-
|
332 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:47
|
333 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:48
|
334 |
-
msgid "MailChimp Data"
|
335 |
-
msgstr ""
|
336 |
-
|
337 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:48
|
338 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:49
|
339 |
-
msgid ""
|
340 |
-
"The table below shows your MailChimp lists data. If you applied changes to "
|
341 |
-
"your MailChimp lists, please use the following button to renew your cached "
|
342 |
-
"data."
|
343 |
-
msgstr ""
|
344 |
-
|
345 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:54
|
346 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:125
|
347 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:55
|
348 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-general-settings.php:126
|
349 |
-
msgid "Renew MailChimp lists"
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: mailchimp-for-wordpress/includes/views/api-settings.php:112
|
353 |
-
msgid "No lists were found in your MailChimp account"
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:11
|
357 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:11
|
358 |
-
msgid "Checkbox Settings"
|
359 |
-
msgstr ""
|
360 |
-
|
361 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:16
|
362 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:14
|
363 |
-
msgid ""
|
364 |
-
"To use sign-up checkboxes, select at least one list and one form to add the "
|
365 |
-
"checkbox to."
|
366 |
-
msgstr ""
|
367 |
-
|
368 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:21
|
369 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:21
|
370 |
-
msgid "MailChimp settings for checkboxes"
|
371 |
-
msgstr ""
|
372 |
-
|
373 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:25
|
374 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:26
|
375 |
-
msgid ""
|
376 |
-
"If you want to use sign-up checkboxes, select at least one MailChimp list to"
|
377 |
-
" subscribe people to."
|
378 |
-
msgstr ""
|
379 |
-
|
380 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:31
|
381 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:34
|
382 |
-
msgid "MailChimp Lists"
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:35
|
386 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:48
|
387 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:17
|
388 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:38
|
389 |
-
msgid "No lists found, %sare you connected to MailChimp?%s"
|
390 |
-
msgstr ""
|
391 |
-
|
392 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:42
|
393 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:45
|
394 |
-
msgid ""
|
395 |
-
"Select the list(s) to which people who check the checkbox should be "
|
396 |
-
"subscribed."
|
397 |
-
msgstr ""
|
398 |
-
|
399 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:48
|
400 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:109
|
401 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:13
|
402 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:51
|
403 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:55
|
404 |
-
msgid "Double opt-in?"
|
405 |
-
msgstr ""
|
406 |
-
|
407 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:59
|
408 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:120
|
409 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:28
|
410 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:53
|
411 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:66
|
412 |
-
msgid ""
|
413 |
-
"Select \"yes\" if you want people to confirm their email address before "
|
414 |
-
"being subscribed (recommended)"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:63
|
418 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:68
|
419 |
-
msgid "Checkbox settings"
|
420 |
-
msgstr ""
|
421 |
-
|
422 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:67
|
423 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:71
|
424 |
-
msgid "Add the checkbox to these forms"
|
425 |
-
msgstr ""
|
426 |
-
|
427 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:79
|
428 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:78
|
429 |
-
msgid "Selecting a form will automatically add the sign-up checkbox to it."
|
430 |
-
msgstr ""
|
431 |
-
|
432 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:83
|
433 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:91
|
434 |
-
msgid "Checkbox label text"
|
435 |
-
msgstr ""
|
436 |
-
|
437 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:86
|
438 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:94
|
439 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:134
|
440 |
-
msgid "HTML tags like %s are allowed in the label text."
|
441 |
-
msgstr ""
|
442 |
-
|
443 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:90
|
444 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:98
|
445 |
-
msgid "Pre-check the checkbox?"
|
446 |
-
msgstr ""
|
447 |
-
|
448 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:95
|
449 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:103
|
450 |
-
msgid "Load some default CSS?"
|
451 |
-
msgstr ""
|
452 |
-
|
453 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:97
|
454 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:105
|
455 |
-
msgid "Select \"yes\" if the checkbox appears in a weird place."
|
456 |
-
msgstr ""
|
457 |
-
|
458 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:100
|
459 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:108
|
460 |
-
msgid "WooCommerce checkbox position"
|
461 |
-
msgstr ""
|
462 |
-
|
463 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:103
|
464 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:111
|
465 |
-
msgid "After the billing details"
|
466 |
-
msgstr ""
|
467 |
-
|
468 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:104
|
469 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:112
|
470 |
-
msgid "After the additional information"
|
471 |
-
msgstr ""
|
472 |
-
|
473 |
-
#: mailchimp-for-wordpress/includes/views/checkbox-settings.php:107
|
474 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:115
|
475 |
-
msgid ""
|
476 |
-
"Choose the position for the checkbox in your WooCommerce checkout form."
|
477 |
-
msgstr ""
|
478 |
-
|
479 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:9
|
480 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:431
|
481 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:91
|
482 |
-
msgid "Form Settings"
|
483 |
-
msgstr ""
|
484 |
-
|
485 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:15
|
486 |
-
msgid ""
|
487 |
-
"To use the MailChimp sign-up form, configure the form below and then either "
|
488 |
-
"paste %s in the content of a post or page or use the widget."
|
489 |
-
msgstr ""
|
490 |
-
|
491 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:20
|
492 |
-
msgid "Required form settings"
|
493 |
-
msgstr ""
|
494 |
|
495 |
-
#:
|
496 |
-
|
497 |
-
|
498 |
-
msgstr ""
|
499 |
-
|
500 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:28
|
501 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:23
|
502 |
-
msgid "Yes, load basic form styles"
|
503 |
-
msgstr ""
|
504 |
-
|
505 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:29
|
506 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:36
|
507 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:20
|
508 |
-
msgid "(PRO ONLY)"
|
509 |
-
msgstr ""
|
510 |
-
|
511 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:29
|
512 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:24
|
513 |
-
msgid "Yes, load my custom form styles"
|
514 |
-
msgstr ""
|
515 |
-
|
516 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:30
|
517 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:25
|
518 |
-
msgid "Yes, load default form theme"
|
519 |
-
msgstr ""
|
520 |
-
|
521 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:31
|
522 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:26
|
523 |
-
msgid "Light Theme"
|
524 |
-
msgstr ""
|
525 |
-
|
526 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:32
|
527 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:27
|
528 |
-
msgid "Red Theme"
|
529 |
-
msgstr ""
|
530 |
-
|
531 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:33
|
532 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:28
|
533 |
-
msgid "Green Theme"
|
534 |
-
msgstr ""
|
535 |
-
|
536 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:34
|
537 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:29
|
538 |
-
msgid "Blue Theme"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:35
|
542 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:30
|
543 |
-
msgid "Dark Theme"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:36
|
547 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:31
|
548 |
-
msgid "Custom Color Theme"
|
549 |
-
msgstr ""
|
550 |
-
|
551 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:41
|
552 |
-
msgid ""
|
553 |
-
"If you want to load some default CSS styles, select \"basic formatting "
|
554 |
-
"styles\" or choose one of the color themes"
|
555 |
-
msgstr ""
|
556 |
-
|
557 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:45
|
558 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:14
|
559 |
-
msgid "Lists this form subscribes to"
|
560 |
-
msgstr ""
|
561 |
-
|
562 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:63
|
563 |
-
msgid ""
|
564 |
-
"Select the list(s) to which people who submit this form should be "
|
565 |
-
"subscribed."
|
566 |
-
msgstr ""
|
567 |
-
|
568 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:69
|
569 |
-
msgid "Form mark-up"
|
570 |
-
msgstr ""
|
571 |
-
|
572 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:75
|
573 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:359
|
574 |
-
msgid "Your form is missing the following (required) form fields:"
|
575 |
-
msgstr ""
|
576 |
-
|
577 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:92
|
578 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:87
|
579 |
-
msgid ""
|
580 |
-
"Use the shortcode %s to display this form inside a post, page or text "
|
581 |
-
"widget."
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:123
|
585 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:71
|
586 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:57
|
587 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:70
|
588 |
-
msgid "Send Welcome Email?"
|
589 |
-
msgstr ""
|
590 |
-
|
591 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:130
|
592 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:86
|
593 |
-
#: mailchimp-for-wordpress-pro/includes/views/pages/admin-checkbox-settings.php:64
|
594 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:75
|
595 |
-
msgid ""
|
596 |
-
"Select \"yes\" if you want to send your lists Welcome Email if a subscribe "
|
597 |
-
"succeeds (only when double opt-in is disabled)."
|
598 |
-
msgstr ""
|
599 |
-
|
600 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:133
|
601 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:33
|
602 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:78
|
603 |
-
msgid "Update existing subscribers?"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:140
|
607 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:47
|
608 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:89
|
609 |
-
msgid ""
|
610 |
-
"Select \"yes\" if you want to update existing subscribers (instead of "
|
611 |
-
"showing the \"already subscribed\" message)."
|
612 |
-
msgstr ""
|
613 |
-
|
614 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:143
|
615 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:52
|
616 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:93
|
617 |
-
msgid "Replace interest groups?"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:154
|
621 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:66
|
622 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:104
|
623 |
-
msgid ""
|
624 |
-
"Select \"yes\" if you want to replace the interest groups with the groups "
|
625 |
-
"provided instead of adding the provided groups to the member's interest "
|
626 |
-
"groups (only when updating a subscriber)."
|
627 |
-
msgstr ""
|
628 |
|
629 |
-
#:
|
630 |
-
msgid "
|
631 |
-
msgstr ""
|
632 |
|
633 |
-
#:
|
634 |
-
|
635 |
-
|
636 |
-
msgid "Enable AJAX form submission?"
|
637 |
-
msgstr ""
|
638 |
-
|
639 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:173
|
640 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:108
|
641 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:118
|
642 |
-
msgid "Select \"yes\" if you want to use AJAX (JavaScript) to submit forms."
|
643 |
-
msgstr ""
|
644 |
-
|
645 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:176
|
646 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:112
|
647 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:121
|
648 |
-
msgid "Hide form after a successful sign-up?"
|
649 |
-
msgstr ""
|
650 |
-
|
651 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:187
|
652 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:126
|
653 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:126
|
654 |
-
msgid "Select \"yes\" to hide the form fields after a successful sign-up."
|
655 |
-
msgstr ""
|
656 |
-
|
657 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:190
|
658 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:130
|
659 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:129
|
660 |
-
msgid "Redirect to URL after successful sign-ups"
|
661 |
-
msgstr ""
|
662 |
-
|
663 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:192
|
664 |
-
msgid "Example: %s"
|
665 |
-
msgstr ""
|
666 |
-
|
667 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:193
|
668 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:133
|
669 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:132
|
670 |
-
msgid ""
|
671 |
-
"Leave empty or enter 0 for no redirection. Use complete (absolute) URLs, "
|
672 |
-
"including <code>http://</code>"
|
673 |
-
msgstr ""
|
674 |
-
|
675 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:197
|
676 |
-
msgid "Success message"
|
677 |
-
msgstr ""
|
678 |
-
|
679 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:201
|
680 |
-
msgid "Invalid email address message"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:205
|
684 |
-
msgid "Required field missing message"
|
685 |
-
msgstr ""
|
686 |
|
687 |
-
#:
|
688 |
-
msgid "
|
689 |
-
msgstr ""
|
690 |
-
|
691 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:214
|
692 |
-
msgid "Invalid CAPTCHA message"
|
693 |
-
msgstr ""
|
694 |
-
|
695 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:219
|
696 |
-
msgid "General error message"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:225
|
700 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:181
|
701 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:169
|
702 |
-
msgid "HTML tags like %s are allowed in the message fields."
|
703 |
-
msgstr ""
|
704 |
-
|
705 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:239
|
706 |
-
msgid "Building your sign-up form"
|
707 |
-
msgstr ""
|
708 |
-
|
709 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:240
|
710 |
-
msgid ""
|
711 |
-
"At a minimum, your form should include just an %s field and a submit button."
|
712 |
-
msgstr ""
|
713 |
-
|
714 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:241
|
715 |
-
msgid ""
|
716 |
-
"Add more form fields if your selected lists require more fields. Field names"
|
717 |
-
" should match the field tags of the selected lists. Use the \"Add a new "
|
718 |
-
"field\" tool to have the HTML generated for you."
|
719 |
-
msgstr ""
|
720 |
-
|
721 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:243
|
722 |
-
msgid "Form Styling"
|
723 |
-
msgstr ""
|
724 |
-
|
725 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:244
|
726 |
-
msgid "Alter the visual appearance of the form by applying CSS rules to %s."
|
727 |
-
msgstr ""
|
728 |
-
|
729 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:245
|
730 |
-
msgid ""
|
731 |
-
"You can add the CSS rules to your theme stylesheet using the <a "
|
732 |
-
"href=\"%s\">Theme Editor</a> or by editing %s over FTP. Alternatively, use a"
|
733 |
-
" plugin like %s"
|
734 |
-
msgstr ""
|
735 |
-
|
736 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:246
|
737 |
-
msgid ""
|
738 |
-
"The <a href=\"%s\" target=\"_blank\">plugin FAQ</a> lists the various CSS "
|
739 |
-
"selectors you can use to target the different form elements."
|
740 |
-
msgstr ""
|
741 |
-
|
742 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:247
|
743 |
-
msgid ""
|
744 |
-
"If you need an easier way to style your forms, <a href=\"%s\">upgrade to "
|
745 |
-
"MailChimp for WordPress Pro</a>. It comes with a \"Styles Builder\" that "
|
746 |
-
"lets you customize form styles without writing any code."
|
747 |
-
msgstr ""
|
748 |
-
|
749 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:249
|
750 |
-
msgid "Form variables"
|
751 |
-
msgstr ""
|
752 |
-
|
753 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:250
|
754 |
-
#: mailchimp-for-wordpress-pro/includes/admin/class-admin.php:473
|
755 |
-
msgid "Use the following variables to add some dynamic content to your form."
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:257
|
759 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:13
|
760 |
-
msgid "Replaced with the visitor's email (if set in URL or cookie)."
|
761 |
-
msgstr ""
|
762 |
-
|
763 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:261
|
764 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:17
|
765 |
-
msgid "Replaced with the form response (error or success messages)."
|
766 |
-
msgstr ""
|
767 |
-
|
768 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:266
|
769 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:22
|
770 |
-
msgid "Replaced with a captcha field."
|
771 |
-
msgstr ""
|
772 |
-
|
773 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:271
|
774 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:27
|
775 |
-
msgid "Replaced with the number of subscribers on the selected list(s)"
|
776 |
-
msgstr ""
|
777 |
-
|
778 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:275
|
779 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:31
|
780 |
-
msgid "Replaced with the current site language, eg: %s"
|
781 |
-
msgstr ""
|
782 |
-
|
783 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:279
|
784 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:35
|
785 |
-
msgid "Replaced with the visitor's IP address"
|
786 |
-
msgstr ""
|
787 |
-
|
788 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:283
|
789 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:39
|
790 |
-
msgid "Replaced with the current date (yyyy/mm/dd eg: %s)"
|
791 |
-
msgstr ""
|
792 |
-
|
793 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:287
|
794 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:43
|
795 |
-
msgid "Replaced with the current time (hh:mm:ss eg: %s)"
|
796 |
-
msgstr ""
|
797 |
-
|
798 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:291
|
799 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:47
|
800 |
-
msgid ""
|
801 |
-
"Replaced with the logged in user's email (or nothing, if there is no logged "
|
802 |
-
"in user)"
|
803 |
-
msgstr ""
|
804 |
-
|
805 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:295
|
806 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:51
|
807 |
-
msgid "First name of the current user"
|
808 |
-
msgstr ""
|
809 |
-
|
810 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:299
|
811 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:55
|
812 |
-
msgid "Last name of the current user"
|
813 |
-
msgstr ""
|
814 |
-
|
815 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:303
|
816 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:59
|
817 |
-
msgid "Current user ID"
|
818 |
-
msgstr ""
|
819 |
-
|
820 |
-
#: mailchimp-for-wordpress/includes/views/form-settings.php:307
|
821 |
-
#: mailchimp-for-wordpress-pro/includes/views/parts/admin-text-variables.php:63
|
822 |
-
msgid "Current URL"
|
823 |
-
msgstr ""
|
824 |
-
|
825 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:10
|
826 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:29
|
827 |
-
msgid "Add a new field"
|
828 |
-
msgstr ""
|
829 |
-
|
830 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:12
|
831 |
-
msgid "Use the tool below to generate the HTML for your form fields."
|
832 |
-
msgstr ""
|
833 |
-
|
834 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:15
|
835 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:32
|
836 |
-
msgid "Select MailChimp field.."
|
837 |
-
msgstr ""
|
838 |
-
|
839 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:19
|
840 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:36
|
841 |
-
msgid "Submit Button"
|
842 |
-
msgstr ""
|
843 |
-
|
844 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:20
|
845 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:37
|
846 |
-
msgid "Lists Choice"
|
847 |
-
msgstr ""
|
848 |
-
|
849 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:28
|
850 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:45
|
851 |
-
msgid "Label"
|
852 |
-
msgstr ""
|
853 |
-
|
854 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:28
|
855 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:33
|
856 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:38
|
857 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:45
|
858 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:50
|
859 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:55
|
860 |
-
msgid "(optional)"
|
861 |
-
msgstr ""
|
862 |
-
|
863 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:33
|
864 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:50
|
865 |
-
msgid "Placeholder"
|
866 |
-
msgstr ""
|
867 |
-
|
868 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:38
|
869 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:55
|
870 |
-
msgid "Initial value"
|
871 |
-
msgstr ""
|
872 |
-
|
873 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:43
|
874 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:60
|
875 |
-
msgid "Labels"
|
876 |
-
msgstr ""
|
877 |
-
|
878 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:43
|
879 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:60
|
880 |
-
msgid "(leave empty to hide)"
|
881 |
-
msgstr ""
|
882 |
-
|
883 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:48
|
884 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:65
|
885 |
-
msgid "Wrap in paragraph %s tags?"
|
886 |
-
msgstr ""
|
887 |
-
|
888 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:53
|
889 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:69
|
890 |
-
msgid "Required field?"
|
891 |
-
msgstr ""
|
892 |
-
|
893 |
-
#: mailchimp-for-wordpress/includes/views/parts/admin-field-wizard.php:57
|
894 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/required-form-settings.php:73
|
895 |
-
msgid "Add to form"
|
896 |
-
msgstr ""
|
897 |
|
898 |
-
#:
|
899 |
-
#:
|
900 |
-
msgid "
|
901 |
-
msgstr ""
|
902 |
|
903 |
-
#:
|
904 |
-
msgid "
|
905 |
-
msgstr ""
|
906 |
|
907 |
-
#:
|
908 |
msgid ""
|
909 |
-
"
|
910 |
-
"
|
911 |
-
"translations? Helping out is easy! Head over to <a href=\"%s\">the "
|
912 |
-
"translation project and click \"help translate\"</a>."
|
913 |
-
msgstr ""
|
914 |
|
915 |
-
#:
|
916 |
msgid ""
|
917 |
-
"
|
918 |
-
"
|
919 |
-
msgstr ""
|
920 |
|
921 |
-
#:
|
922 |
-
|
923 |
-
|
924 |
-
"This plugin is not developed by or affiliated with MailChimp in any way."
|
925 |
-
msgstr ""
|
926 |
|
927 |
-
#:
|
928 |
-
|
929 |
-
|
|
|
930 |
|
931 |
-
#:
|
932 |
-
msgid ""
|
933 |
-
|
934 |
-
"use the <a href=\"%s\">support forums</a> on WordPress.org."
|
935 |
-
msgstr ""
|
936 |
|
937 |
-
#:
|
938 |
msgid ""
|
939 |
-
"
|
940 |
-
"
|
941 |
-
msgstr ""
|
942 |
|
943 |
-
#:
|
944 |
-
msgid "
|
945 |
-
msgstr ""
|
946 |
|
947 |
-
#:
|
948 |
-
msgid "
|
949 |
-
|
|
|
|
|
950 |
|
951 |
-
#:
|
952 |
-
msgid "
|
953 |
-
msgstr ""
|
954 |
|
955 |
-
#:
|
956 |
-
msgid "
|
957 |
-
msgstr ""
|
958 |
|
959 |
-
#:
|
960 |
-
msgid "
|
961 |
-
msgstr ""
|
962 |
|
963 |
-
#:
|
964 |
-
msgid ""
|
965 |
-
|
966 |
-
"page</a>."
|
967 |
-
msgstr ""
|
968 |
|
969 |
-
#:
|
970 |
-
msgid "
|
971 |
-
msgstr ""
|
972 |
|
973 |
-
#:
|
974 |
-
msgid "
|
975 |
-
msgstr ""
|
976 |
|
977 |
-
#:
|
978 |
-
|
979 |
-
|
980 |
-
msgstr ""
|
981 |
|
982 |
-
#:
|
983 |
-
msgid ""
|
984 |
-
"
|
985 |
-
"styling, more default themes, detailed statistics and priority support."
|
986 |
-
msgstr ""
|
987 |
|
988 |
-
#:
|
989 |
-
msgid "
|
990 |
-
msgstr ""
|
991 |
|
992 |
-
#:
|
993 |
-
msgid "
|
994 |
-
msgstr ""
|
995 |
|
996 |
-
#:
|
997 |
-
msgid "
|
998 |
-
msgstr ""
|
999 |
|
1000 |
-
#:
|
1001 |
-
msgid "
|
1002 |
-
msgstr ""
|
1003 |
|
1004 |
-
#:
|
1005 |
-
msgid "
|
1006 |
-
msgstr ""
|
1007 |
|
1008 |
-
#:
|
1009 |
-
msgid "
|
1010 |
-
msgstr ""
|
1011 |
|
1012 |
-
#:
|
1013 |
-
|
1014 |
-
|
|
|
1015 |
|
1016 |
-
#:
|
1017 |
-
msgid "
|
1018 |
-
msgstr ""
|
1019 |
|
1020 |
-
#:
|
1021 |
-
msgid "
|
1022 |
-
msgstr ""
|
1023 |
|
1024 |
-
#:
|
1025 |
-
msgid "
|
1026 |
-
msgstr ""
|
1027 |
|
1028 |
-
#:
|
1029 |
-
|
1030 |
-
|
1031 |
-
msgstr ""
|
1032 |
|
1033 |
-
#:
|
1034 |
-
msgid ""
|
1035 |
-
"
|
1036 |
-
"href=\"%s\">Provide a valid API key.</a>"
|
1037 |
-
msgstr ""
|
1038 |
|
1039 |
-
#:
|
1040 |
-
msgid "
|
1041 |
-
msgstr ""
|
1042 |
|
1043 |
-
#:
|
1044 |
-
msgid ""
|
1045 |
-
"
|
1046 |
-
"page."
|
1047 |
-
msgstr ""
|
1048 |
|
1049 |
-
#:
|
1050 |
-
msgid ""
|
1051 |
-
"
|
1052 |
-
"settings you had set in the Lite version, please <a href=\"%s\">deactivate "
|
1053 |
-
"it now</a> to prevent problems"
|
1054 |
-
msgstr ""
|
1055 |
|
1056 |
-
#:
|
1057 |
-
msgid ""
|
1058 |
-
"
|
1059 |
-
" stylesheet by using the %sTheme Editor%s or use FTP and edit <em>%s</em>."
|
1060 |
-
msgstr ""
|
1061 |
|
1062 |
-
#:
|
1063 |
-
msgid "
|
1064 |
-
msgstr ""
|
1065 |
|
1066 |
-
#:
|
1067 |
-
msgid ""
|
1068 |
-
|
1069 |
-
" the %sform settings%s"
|
1070 |
-
msgstr ""
|
1071 |
|
1072 |
-
#:
|
1073 |
-
msgid "
|
1074 |
-
msgstr ""
|
1075 |
|
1076 |
-
#:
|
1077 |
-
msgid "
|
1078 |
-
msgstr ""
|
1079 |
|
1080 |
-
#:
|
1081 |
msgid ""
|
1082 |
-
"
|
1083 |
-
"
|
1084 |
-
msgstr ""
|
1085 |
|
1086 |
-
#:
|
1087 |
-
msgid "
|
1088 |
-
msgstr ""
|
1089 |
|
1090 |
-
#:
|
1091 |
-
msgid "
|
1092 |
-
msgstr ""
|
1093 |
|
1094 |
-
#:
|
1095 |
-
msgid "
|
1096 |
-
msgstr ""
|
1097 |
|
1098 |
-
#:
|
1099 |
-
msgid ""
|
1100 |
-
|
1101 |
-
" it?</a>"
|
1102 |
-
msgstr ""
|
1103 |
|
1104 |
-
#:
|
1105 |
-
msgid ""
|
1106 |
-
"
|
1107 |
-
"<a href=\"%s\">upgrade your license</a> to use it on this site."
|
1108 |
-
msgstr ""
|
1109 |
|
1110 |
-
#:
|
1111 |
-
msgid ""
|
1112 |
-
|
1113 |
-
"you want to use it again."
|
1114 |
-
msgstr ""
|
1115 |
|
1116 |
-
#:
|
1117 |
-
msgid "
|
1118 |
-
msgstr ""
|
1119 |
|
1120 |
-
#:
|
1121 |
-
msgid "
|
1122 |
-
msgstr ""
|
1123 |
|
1124 |
-
#:
|
1125 |
-
#:
|
1126 |
-
#:
|
1127 |
-
|
1128 |
-
"
|
1129 |
-
|
1130 |
-
msgstr ""
|
1131 |
|
1132 |
-
#:
|
1133 |
-
msgid "
|
1134 |
-
msgstr ""
|
1135 |
|
1136 |
-
#:
|
1137 |
-
msgid "
|
1138 |
-
msgstr ""
|
1139 |
|
1140 |
-
#:
|
1141 |
-
msgid "
|
1142 |
-
msgstr ""
|
1143 |
|
1144 |
-
#:
|
1145 |
-
msgid ""
|
1146 |
-
"
|
1147 |
-
"the license."
|
1148 |
-
msgstr ""
|
1149 |
|
1150 |
-
#:
|
1151 |
-
msgid ""
|
1152 |
-
"
|
1153 |
-
msgstr ""
|
1154 |
|
1155 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
1156 |
msgid ""
|
1157 |
-
"
|
1158 |
-
"
|
1159 |
-
"
|
1160 |
-
msgstr ""
|
1161 |
|
1162 |
-
#:
|
1163 |
-
msgid "
|
1164 |
-
msgstr ""
|
1165 |
|
1166 |
-
#:
|
1167 |
-
msgid "
|
1168 |
-
msgstr ""
|
1169 |
|
1170 |
-
#:
|
1171 |
-
msgid "
|
1172 |
-
msgstr ""
|
1173 |
|
1174 |
-
#:
|
1175 |
-
msgid "
|
1176 |
msgstr ""
|
1177 |
|
1178 |
-
#:
|
1179 |
-
|
1180 |
-
|
1181 |
-
msgstr ""
|
1182 |
|
1183 |
-
#:
|
1184 |
-
msgid "
|
1185 |
-
|
|
|
|
|
1186 |
|
1187 |
-
#:
|
1188 |
-
|
1189 |
-
|
|
|
1190 |
|
1191 |
-
#:
|
1192 |
-
msgid "
|
1193 |
msgstr ""
|
1194 |
|
1195 |
-
#:
|
1196 |
msgid ""
|
1197 |
-
"
|
1198 |
-
|
|
|
1199 |
|
1200 |
-
#:
|
1201 |
-
msgid "
|
1202 |
-
msgstr ""
|
1203 |
|
1204 |
-
#:
|
1205 |
-
msgid "
|
1206 |
-
msgstr ""
|
1207 |
|
1208 |
-
#:
|
1209 |
-
msgid "
|
1210 |
-
msgstr ""
|
1211 |
|
1212 |
-
#:
|
1213 |
-
msgid "
|
1214 |
-
msgstr ""
|
1215 |
|
1216 |
-
#:
|
1217 |
-
msgid "
|
1218 |
-
msgstr ""
|
1219 |
|
1220 |
-
#:
|
1221 |
-
msgid "
|
1222 |
-
msgstr ""
|
1223 |
|
1224 |
-
#:
|
1225 |
-
msgid "
|
1226 |
-
msgstr ""
|
1227 |
|
1228 |
-
#:
|
1229 |
-
msgid "
|
1230 |
-
msgstr ""
|
1231 |
|
1232 |
-
#:
|
1233 |
-
msgid ""
|
1234 |
-
"
|
1235 |
-
" correct form ID."
|
1236 |
-
msgstr ""
|
1237 |
|
1238 |
-
#:
|
1239 |
-
msgid "
|
1240 |
-
msgstr ""
|
1241 |
|
1242 |
-
#:
|
1243 |
-
msgid "
|
1244 |
-
msgstr ""
|
1245 |
|
1246 |
-
#:
|
1247 |
-
msgid "
|
1248 |
-
|
|
|
|
|
1249 |
|
1250 |
-
#:
|
1251 |
-
|
1252 |
-
|
1253 |
-
msgstr ""
|
1254 |
|
1255 |
-
#:
|
1256 |
-
msgid "
|
1257 |
-
msgstr ""
|
1258 |
|
1259 |
-
#:
|
1260 |
-
msgid ""
|
1261 |
-
"
|
1262 |
-
"be added to the selected MailChimp lists until they confirm their email "
|
1263 |
-
"address."
|
1264 |
-
msgstr ""
|
1265 |
|
1266 |
-
#:
|
1267 |
-
msgid "
|
1268 |
-
msgstr ""
|
1269 |
|
1270 |
-
#:
|
1271 |
-
msgid "
|
1272 |
-
|
|
|
|
|
1273 |
|
1274 |
-
#:
|
1275 |
-
msgid "
|
1276 |
-
msgstr ""
|
1277 |
|
1278 |
-
#:
|
1279 |
-
msgid "
|
1280 |
-
msgstr ""
|
1281 |
|
1282 |
-
#:
|
1283 |
msgid ""
|
1284 |
-
"
|
1285 |
-
"
|
1286 |
-
msgstr ""
|
1287 |
|
1288 |
-
#:
|
1289 |
-
msgid "
|
1290 |
-
msgstr ""
|
1291 |
|
1292 |
-
#:
|
1293 |
-
msgid "
|
1294 |
-
msgstr ""
|
1295 |
|
1296 |
-
#:
|
1297 |
-
msgid "
|
1298 |
-
msgstr ""
|
1299 |
|
1300 |
-
#:
|
1301 |
msgid ""
|
1302 |
-
"
|
1303 |
-
"
|
1304 |
-
msgstr ""
|
1305 |
|
1306 |
-
#:
|
1307 |
-
msgid "
|
1308 |
-
msgstr ""
|
1309 |
|
1310 |
-
#:
|
1311 |
-
|
1312 |
-
|
1313 |
-
|
1314 |
-
msgstr ""
|
1315 |
|
1316 |
-
#:
|
1317 |
-
msgid "
|
1318 |
-
msgstr ""
|
1319 |
|
1320 |
-
#:
|
1321 |
-
msgid "
|
1322 |
-
msgstr ""
|
1323 |
|
1324 |
-
#:
|
1325 |
-
msgid "
|
1326 |
-
msgstr ""
|
1327 |
|
1328 |
-
#:
|
1329 |
-
|
1330 |
-
|
|
|
1331 |
msgstr ""
|
1332 |
|
1333 |
-
#:
|
1334 |
-
|
1335 |
-
msgid "Delete"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
-
#:
|
1339 |
-
msgid "
|
|
|
|
|
1340 |
msgstr ""
|
1341 |
|
1342 |
-
#:
|
1343 |
-
msgid "
|
1344 |
msgstr ""
|
1345 |
|
1346 |
-
#:
|
1347 |
-
msgid "
|
1348 |
-
msgstr ""
|
1349 |
|
1350 |
-
#:
|
1351 |
-
msgid "
|
1352 |
msgstr ""
|
1353 |
|
1354 |
-
#:
|
1355 |
-
msgid "
|
1356 |
msgstr ""
|
1357 |
|
1358 |
-
#:
|
1359 |
-
|
|
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#:
|
1363 |
-
msgid "
|
|
|
|
|
1364 |
msgstr ""
|
1365 |
|
1366 |
-
#:
|
1367 |
-
msgid "
|
1368 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1369 |
|
1370 |
-
#:
|
1371 |
-
|
|
|
|
|
|
|
1372 |
msgstr ""
|
1373 |
|
1374 |
-
#:
|
1375 |
-
msgid "
|
1376 |
msgstr ""
|
1377 |
|
1378 |
-
#:
|
1379 |
-
#:
|
1380 |
-
msgid "
|
|
|
|
|
1381 |
msgstr ""
|
1382 |
|
1383 |
-
#:
|
1384 |
-
|
1385 |
-
|
|
|
1386 |
|
1387 |
-
#:
|
1388 |
-
|
|
|
|
|
|
|
1389 |
msgstr ""
|
1390 |
|
1391 |
-
#:
|
1392 |
-
|
1393 |
-
|
|
|
1394 |
|
1395 |
-
#:
|
1396 |
-
#:
|
1397 |
-
msgid "
|
|
|
|
|
1398 |
msgstr ""
|
1399 |
|
1400 |
-
#:
|
1401 |
-
|
1402 |
-
|
|
|
1403 |
|
1404 |
-
#:
|
1405 |
-
msgid "
|
1406 |
-
msgstr ""
|
1407 |
|
1408 |
-
#:
|
1409 |
-
msgid "
|
1410 |
-
msgstr ""
|
1411 |
|
1412 |
-
#:
|
1413 |
-
msgid "
|
1414 |
-
msgstr ""
|
1415 |
|
1416 |
-
#:
|
1417 |
-
msgid "
|
1418 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
1419 |
|
1420 |
-
#:
|
1421 |
-
msgid "
|
|
|
|
|
1422 |
msgstr ""
|
1423 |
|
1424 |
-
#:
|
1425 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1426 |
msgstr ""
|
1427 |
|
1428 |
-
#:
|
1429 |
msgid ""
|
1430 |
-
"
|
1431 |
-
"
|
1432 |
-
"value will be used."
|
1433 |
-
msgstr ""
|
1434 |
|
1435 |
-
#:
|
1436 |
-
|
1437 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:64
|
1438 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:83
|
1439 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:106
|
1440 |
-
#: mailchimp-for-wordpress-pro/includes/views/metaboxes/optional-form-settings.php:124
|
1441 |
-
msgid "Inherit"
|
1442 |
msgstr ""
|
1443 |
|
1444 |
-
#:
|
1445 |
-
msgid "
|
1446 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1447 |
|
1448 |
-
#:
|
1449 |
msgid ""
|
1450 |
-
"
|
1451 |
-
"
|
1452 |
-
msgstr ""
|
1453 |
|
1454 |
-
#:
|
1455 |
-
msgid "
|
1456 |
-
msgstr ""
|
1457 |
|
1458 |
-
#:
|
1459 |
-
msgid "
|
1460 |
msgstr ""
|
1461 |
|
1462 |
-
#:
|
1463 |
-
|
1464 |
-
|
1465 |
-
msgstr ""
|
1466 |
|
1467 |
-
#:
|
1468 |
-
|
1469 |
-
|
1470 |
-
msgstr ""
|
1471 |
|
1472 |
-
#:
|
1473 |
-
|
1474 |
-
|
1475 |
-
msgstr ""
|
1476 |
|
1477 |
-
#:
|
1478 |
-
|
1479 |
-
|
1480 |
-
msgstr ""
|
1481 |
|
1482 |
-
#:
|
1483 |
-
|
1484 |
-
|
1485 |
-
msgstr ""
|
1486 |
|
1487 |
-
#:
|
1488 |
-
|
1489 |
-
|
1490 |
-
msgstr ""
|
1491 |
|
1492 |
-
#:
|
1493 |
-
msgid "
|
|
|
|
|
1494 |
msgstr ""
|
1495 |
|
1496 |
-
#:
|
1497 |
msgid ""
|
1498 |
-
"
|
1499 |
-
"
|
|
|
|
|
1500 |
msgstr ""
|
1501 |
|
1502 |
-
#:
|
1503 |
-
msgid "
|
1504 |
msgstr ""
|
1505 |
|
1506 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1507 |
msgid ""
|
1508 |
-
"
|
1509 |
-
"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
-
#:
|
1513 |
-
msgid "
|
1514 |
-
msgstr ""
|
1515 |
|
1516 |
-
#:
|
1517 |
-
msgid "
|
1518 |
-
msgstr ""
|
1519 |
|
1520 |
-
#:
|
1521 |
-
msgid "
|
1522 |
-
msgstr ""
|
1523 |
|
1524 |
-
#:
|
1525 |
-
msgid "
|
1526 |
-
msgstr ""
|
1527 |
|
1528 |
-
#:
|
1529 |
-
msgid "
|
1530 |
-
msgstr ""
|
1531 |
|
1532 |
-
#:
|
1533 |
-
msgid "
|
1534 |
-
msgstr ""
|
1535 |
|
1536 |
-
#:
|
1537 |
-
msgid ""
|
1538 |
-
"
|
1539 |
-
"email me directly at <a href=\"%s\">support@mc4wp.com</a>."
|
1540 |
-
msgstr ""
|
1541 |
|
1542 |
-
#:
|
1543 |
-
msgid "
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#:
|
1547 |
-
msgid "
|
1548 |
-
msgstr ""
|
1549 |
|
1550 |
-
#:
|
1551 |
-
msgid "
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#:
|
1555 |
-
msgid "
|
|
|
|
|
1556 |
msgstr ""
|
1557 |
|
1558 |
-
#:
|
1559 |
-
msgid "
|
1560 |
msgstr ""
|
1561 |
|
1562 |
-
#:
|
1563 |
-
msgid "
|
|
|
|
|
|
|
|
|
1564 |
msgstr ""
|
1565 |
|
1566 |
-
#:
|
1567 |
-
msgid "
|
|
|
1568 |
msgstr ""
|
1569 |
|
1570 |
-
#:
|
1571 |
-
msgid "
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#:
|
1575 |
-
msgid "
|
|
|
|
|
|
|
1576 |
msgstr ""
|
1577 |
|
1578 |
-
#:
|
1579 |
-
msgid "
|
1580 |
msgstr ""
|
1581 |
|
1582 |
-
#:
|
1583 |
-
msgid "
|
1584 |
msgstr ""
|
1585 |
|
1586 |
-
#:
|
1587 |
-
msgid ""
|
1588 |
-
"
|
1589 |
-
|
1590 |
-
|
1591 |
-
|
|
|
|
|
|
|
|
|
|
|
1592 |
|
1593 |
-
#:
|
1594 |
-
msgid "
|
1595 |
msgstr ""
|
1596 |
|
1597 |
-
#:
|
1598 |
-
msgid "
|
1599 |
msgstr ""
|
1600 |
|
1601 |
-
#:
|
1602 |
-
msgid "
|
1603 |
msgstr ""
|
1604 |
|
1605 |
-
#:
|
1606 |
-
#: mailchimp-for-wordpress-pro/includes/views/tabs/admin-forms-general-settings.php:109
|
1607 |
msgid ""
|
1608 |
-
"
|
1609 |
-
"
|
1610 |
msgstr ""
|
1611 |
|
1612 |
-
#:
|
1613 |
-
msgid "
|
|
|
|
|
1614 |
msgstr ""
|
1615 |
|
1616 |
-
#:
|
1617 |
-
msgid "
|
1618 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
1619 |
|
1620 |
#. Plugin URI of the plugin/theme
|
1621 |
-
msgid "
|
1622 |
-
|
|
|
|
|
1623 |
|
1624 |
#. Description of the plugin/theme
|
1625 |
-
msgid "
|
|
|
|
|
1626 |
msgstr ""
|
1627 |
|
1628 |
#. Author of the plugin/theme
|
1629 |
-
msgid "
|
1630 |
-
msgstr ""
|
1631 |
|
1632 |
#. Author URI of the plugin/theme
|
1633 |
-
msgid "
|
1634 |
-
msgstr ""
|
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 |
+
# Bart <info@archimedesign.co.uk>, 2015
|
5 |
+
# Jan Rusakiewicz <jan.rusakiewicz@gmail.com>, 2015
|
6 |
+
# Mateusz Lomber <lumberpack@gmail.com>, 2017
|
7 |
+
# Paweł Tomkiel <neonkowy@gmail.com>, 2016
|
8 |
+
# Sebastian Małecki <sebastian0.0malecki@gmail.com>, 2016
|
9 |
msgid ""
|
10 |
msgstr ""
|
11 |
"Project-Id-Version: MailChimp for WordPress\n"
|
12 |
+
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/mailchimp-for-wp\n"
|
13 |
+
"POT-Creation-Date: 2015-11-30 10:15:18+00:00\n"
|
14 |
+
"PO-Revision-Date: 2017-01-03 09:50+0000\n"
|
15 |
+
"Last-Translator: Mateusz Lomber <lumberpack@gmail.com>\n"
|
16 |
+
"Language-Team: Polish (Poland) (http://www.transifex.com/ibericode/mailchimp-for-wordpress/language/pl_PL/)\n"
|
17 |
"MIME-Version: 1.0\n"
|
18 |
"Content-Type: text/plain; charset=UTF-8\n"
|
19 |
"Content-Transfer-Encoding: 8bit\n"
|
20 |
"Language: pl_PL\n"
|
21 |
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
+
#: config/default-form-content.php:3
|
|
|
|
|
24 |
msgid "Email address"
|
25 |
+
msgstr "Adres e-mail"
|
26 |
|
27 |
+
#: config/default-form-content.php:4
|
|
|
28 |
msgid "Your email address"
|
29 |
+
msgstr "Twój adres e-mail"
|
30 |
|
31 |
+
#: config/default-form-content.php:5
|
|
|
32 |
msgid "Sign up"
|
33 |
+
msgstr "Zarejestruj się"
|
|
|
|
|
|
|
|
|
|
|
34 |
|
35 |
+
#: config/default-form-messages.php:5
|
36 |
msgid ""
|
37 |
+
"Thank you, your sign-up request was successful! Please check your email "
|
38 |
+
"inbox to confirm."
|
39 |
+
msgstr "Dziękujemy, Twoja rejestracja przebiegła pomyślnie! Sprawdź swoją skrzynkę e-mail, aby potwierdzić."
|
40 |
|
41 |
+
#: config/default-form-messages.php:9
|
|
|
42 |
msgid "Oops. Something went wrong. Please try again later."
|
43 |
+
msgstr "Ups. Coś poszło nie tak. Spróbuj ponownie później."
|
44 |
|
45 |
+
#: config/default-form-messages.php:13
|
|
|
46 |
msgid "Please provide a valid email address."
|
47 |
+
msgstr "Proszę podać poprawny adres e-mail."
|
48 |
|
49 |
+
#: config/default-form-messages.php:17
|
|
|
50 |
msgid "Given email address is already subscribed, thank you!"
|
51 |
+
msgstr "Podany adres e-mail został już wcześniej dodany do listy, dziękujemy!"
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
+
#: config/default-form-messages.php:21
|
|
|
54 |
msgid "Please fill in the required fields."
|
55 |
+
msgstr "Proszę wypełnić wymagane pola."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
|
57 |
+
#: config/default-form-messages.php:25
|
58 |
+
msgid "You were successfully unsubscribed."
|
59 |
+
msgstr "Zostałeś wypisany z listy subskrypcji."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
+
#: config/default-form-messages.php:29
|
62 |
+
msgid "Given email address is not subscribed."
|
63 |
+
msgstr "Podany adres e-mail nie został dodany do naszej listy subskrybcji."
|
64 |
|
65 |
+
#: config/default-form-messages.php:33
|
66 |
+
msgid "Please select at least one list."
|
67 |
+
msgstr "Wybierz co najmniej jedną listę subskrypcji."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
|
69 |
+
#: config/default-integration-options.php:5
|
70 |
+
msgid "Sign me up for the newsletter!"
|
71 |
+
msgstr "Zapisz mnie do newslettera!"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
+
#: includes/admin/class-admin-texts.php:62
|
74 |
+
#: includes/forms/views/edit-form.php:6
|
75 |
+
msgid "Settings"
|
76 |
+
msgstr "Ustawienia"
|
77 |
|
78 |
+
#: includes/admin/class-admin-texts.php:80
|
79 |
+
msgid "Documentation"
|
80 |
+
msgstr "Dokumentacja"
|
81 |
|
82 |
+
#: includes/admin/class-admin.php:167
|
83 |
msgid ""
|
84 |
+
"Success! The cached configuration for your MailChimp lists has been renewed."
|
85 |
+
msgstr "Operacja przywrócenia listy subskrypcji twojego konta MailChimp została zakończona pomyślnie."
|
|
|
|
|
|
|
86 |
|
87 |
+
#: includes/admin/class-admin.php:257
|
88 |
msgid ""
|
89 |
+
"This is a pro-only feature. Please upgrade to the premium version to be able"
|
90 |
+
" to use it."
|
91 |
+
msgstr "Opcja premium. Kup wersję premium, aby móc korzystać z tej opcji."
|
92 |
|
93 |
+
#: includes/admin/class-admin.php:323 includes/views/general-settings.php:28
|
94 |
+
msgid "MailChimp API Settings"
|
95 |
+
msgstr "Ustawienia API MailChimp"
|
|
|
|
|
96 |
|
97 |
+
#: includes/admin/class-admin.php:324
|
98 |
+
#: integrations/ninja-forms/class-ninja-forms.php:34
|
99 |
+
msgid "MailChimp"
|
100 |
+
msgstr "MailChimp"
|
101 |
|
102 |
+
#: includes/admin/class-ads.php:33
|
103 |
+
msgid "Upgrade to MailChimp for WordPress Pro"
|
104 |
+
msgstr "Kup Mailchimp for WordPress Pro"
|
|
|
|
|
105 |
|
106 |
+
#: includes/admin/class-ads.php:41
|
107 |
msgid ""
|
108 |
+
"Enjoying this plugin? <a href=\"%s\">Purchase our bundle of premium "
|
109 |
+
"features</a> for an even better plugin."
|
110 |
+
msgstr "Chcesz korzystać z tej wtyczki? <a href=\"%s\">Kup nasz pakiet premium</a> aby korzystać z jeszcze lepszych wtyczek."
|
111 |
|
112 |
+
#: includes/admin/class-ads.php:62
|
113 |
+
msgid "More subscribers, better newsletters."
|
114 |
+
msgstr "Więcej subskrybentów, lepsze newslettery."
|
115 |
|
116 |
+
#: includes/admin/class-ads.php:63
|
117 |
+
msgid ""
|
118 |
+
"Learn how to best grow your lists & write better emails by subscribing to "
|
119 |
+
"our monthly tips."
|
120 |
+
msgstr "Dowiedz się jak pozyskać więcej subskrybentów oraz jak pisać lepsze wiadomości email w naszych comiesięcznych poradach."
|
121 |
|
122 |
+
#: includes/admin/class-ads.php:66
|
123 |
+
msgid "Email Address"
|
124 |
+
msgstr "Adres e-mail"
|
125 |
|
126 |
+
#: includes/admin/class-ads.php:70
|
127 |
+
msgid "First Name"
|
128 |
+
msgstr "Imię"
|
129 |
|
130 |
+
#: includes/admin/class-ads.php:77
|
131 |
+
msgid "Subscribe"
|
132 |
+
msgstr "Subskrybuj"
|
133 |
|
134 |
+
#: includes/admin/class-usage-tracking.php:57
|
135 |
+
msgid "Once a month"
|
136 |
+
msgstr "Raz na miesiąc"
|
|
|
|
|
137 |
|
138 |
+
#: includes/admin/migrations/3.0-form-1-post-type.php:35
|
139 |
+
msgid "Default sign-up form"
|
140 |
+
msgstr "Domyślny formularz zapisu"
|
141 |
|
142 |
+
#: includes/class-api.php:83
|
143 |
+
msgid "Read more about common connectivity issues."
|
144 |
+
msgstr "Czytaj więcej o rozwiązywaniu problemów z łącznością."
|
145 |
|
146 |
+
#: includes/forms/class-admin.php:71 includes/forms/class-admin.php:72
|
147 |
+
#: includes/forms/views/edit-form.php:17
|
148 |
+
msgid "Forms"
|
149 |
+
msgstr "Formularze"
|
150 |
|
151 |
+
#: includes/forms/class-admin.php:101 includes/forms/class-admin.php:176
|
152 |
+
msgid "<strong>Success!</strong> Form successfully saved."
|
153 |
+
msgstr "<strong>Sukces!</strong> Formularz został pomyślnie zapisany."
|
|
|
|
|
154 |
|
155 |
+
#: includes/forms/class-admin.php:176
|
156 |
+
msgid "Preview form"
|
157 |
+
msgstr "Podejrzyj formularz."
|
158 |
|
159 |
+
#: includes/forms/class-admin.php:279
|
160 |
+
msgid "Form not found."
|
161 |
+
msgstr "Nie odnaleziono formularza."
|
162 |
|
163 |
+
#: includes/forms/class-admin.php:281
|
164 |
+
msgid "Go back"
|
165 |
+
msgstr "Wróć"
|
166 |
|
167 |
+
#: includes/forms/class-form-previewer.php:162
|
168 |
+
msgid "Form preview"
|
169 |
+
msgstr "Podgląd formularza"
|
170 |
|
171 |
+
#: includes/forms/class-form-tags.php:51
|
172 |
+
msgid "Replaced with the form response (error or success messages)."
|
173 |
+
msgstr "Zamienione na odpowiedź formularza (wiadomość o błędzie lub powodzeniu)"
|
174 |
|
175 |
+
#: includes/forms/class-form-tags.php:56
|
176 |
+
msgid "Data from the URL or a submitted form."
|
177 |
+
msgstr "Dane z adresu URL lub formularza."
|
178 |
|
179 |
+
#: includes/forms/class-form-tags.php:62
|
180 |
+
#: includes/integrations/class-integration-tags.php:45
|
181 |
+
msgid "Replaced with the number of subscribers on the selected list(s)"
|
182 |
+
msgstr "Zamienione na liczbę subskrybentów na zaznaczonej liście (listach)."
|
183 |
|
184 |
+
#: includes/forms/class-form-tags.php:67
|
185 |
+
msgid "The email address of the current visitor (if known)."
|
186 |
+
msgstr "Adres e-mail aktualnie odwiedzającego (jeśli znany)"
|
187 |
|
188 |
+
#: includes/forms/class-form-tags.php:72
|
189 |
+
msgid "The URL of the page."
|
190 |
+
msgstr "URL strony."
|
191 |
|
192 |
+
#: includes/forms/class-form-tags.php:77
|
193 |
+
msgid "The path of the page."
|
194 |
+
msgstr "Ścieżka strony."
|
195 |
|
196 |
+
#: includes/forms/class-form-tags.php:82
|
197 |
+
msgid "The current date. Example: %s."
|
198 |
+
msgstr "Aktualna data. Przykład: %s."
|
|
|
199 |
|
200 |
+
#: includes/forms/class-form-tags.php:87
|
201 |
+
msgid "The current time. Example: %s."
|
202 |
+
msgstr "Aktualny czas. Przykład: %s."
|
|
|
|
|
203 |
|
204 |
+
#: includes/forms/class-form-tags.php:92
|
205 |
+
msgid "The site's language. Example: %s."
|
206 |
+
msgstr "Aktualny język strony. Przykład: %s."
|
207 |
|
208 |
+
#: includes/forms/class-form-tags.php:97
|
209 |
+
msgid "The visitor's IP address. Example: %s."
|
210 |
+
msgstr "Adres IP odwiedzającego. Przykład %s."
|
|
|
|
|
211 |
|
212 |
+
#: includes/forms/class-form-tags.php:102
|
213 |
+
msgid "The property of the currently logged-in user."
|
214 |
+
msgstr "Dane aktualnie zalogowanego usera."
|
|
|
|
|
|
|
215 |
|
216 |
+
#: includes/forms/class-form.php:128
|
217 |
+
msgid "There is no form with ID %d, perhaps it was deleted?"
|
218 |
+
msgstr "Brak formularza o ID %d. Może został usunięty?"
|
|
|
|
|
219 |
|
220 |
+
#: includes/forms/class-widget.php:26
|
221 |
+
msgid "Newsletter"
|
222 |
+
msgstr "Newsletter"
|
223 |
|
224 |
+
#: includes/forms/class-widget.php:30
|
225 |
+
msgid "MailChimp Sign-Up Form"
|
226 |
+
msgstr "Formularz rejestracyjny MailChimp"
|
|
|
|
|
227 |
|
228 |
+
#: includes/forms/class-widget.php:32
|
229 |
+
msgid "Displays your MailChimp for WordPress sign-up form"
|
230 |
+
msgstr "Wyświetla Twój formularz MailChimp for WordPress."
|
231 |
|
232 |
+
#: includes/forms/class-widget.php:75
|
233 |
+
msgid "Title:"
|
234 |
+
msgstr "Tytuł:"
|
235 |
|
236 |
+
#: includes/forms/class-widget.php:92
|
237 |
msgid ""
|
238 |
+
"You can edit your sign-up form in the <a href=\"%s\">MailChimp for WordPress"
|
239 |
+
" form settings</a>."
|
240 |
+
msgstr "Możesz edytować swój formularz zapisu do newslettera w <a href=\"%s\">Ustawieniach \"MailChimp dla Wordpress\"</a>"
|
241 |
|
242 |
+
#: includes/forms/views/add-form.php:10 includes/forms/views/add-form.php:60
|
243 |
+
msgid "Add new form"
|
244 |
+
msgstr "Dodaj nowy formularz"
|
245 |
|
246 |
+
#: includes/forms/views/add-form.php:27
|
247 |
+
msgid "What is the name of this form?"
|
248 |
+
msgstr "Jaka jest nazwa tego formularza?"
|
249 |
|
250 |
+
#: includes/forms/views/add-form.php:30
|
251 |
+
msgid "Enter your form title.."
|
252 |
+
msgstr "Wprowadź tytuł formularza.."
|
253 |
|
254 |
+
#: includes/forms/views/add-form.php:37
|
255 |
+
msgid "To which MailChimp lists should this form subscribe?"
|
256 |
+
msgstr "Do której z list subskrybentów powinien zapisywać ten formularz?"
|
|
|
|
|
257 |
|
258 |
+
#: includes/forms/views/add-form.php:54
|
259 |
+
msgid "No lists found. Did you <a href=\"%s\">connect with MailChimp</a>?"
|
260 |
+
msgstr "Nie znaleziono żadnej listy subskrybentów. Czy <a href=\"%s\">Połączyłeś/aś się z MailChimpem?</a>"
|
|
|
|
|
261 |
|
262 |
+
#: includes/forms/views/edit-form.php:4
|
263 |
+
msgid "Fields"
|
264 |
+
msgstr "Pola"
|
|
|
|
|
265 |
|
266 |
+
#: includes/forms/views/edit-form.php:5
|
267 |
+
msgid "Messages"
|
268 |
+
msgstr "Wiadomości"
|
269 |
|
270 |
+
#: includes/forms/views/edit-form.php:7
|
271 |
+
msgid "Appearance"
|
272 |
+
msgstr "Wygląd"
|
273 |
|
274 |
+
#: includes/forms/views/edit-form.php:15
|
275 |
+
#: includes/integrations/views/integration-settings.php:8
|
276 |
+
#: includes/integrations/views/integrations.php:7
|
277 |
+
#: includes/views/general-settings.php:7
|
278 |
+
msgid "You are here: "
|
279 |
+
msgstr "Jesteś tutaj:"
|
|
|
280 |
|
281 |
+
#: includes/forms/views/edit-form.php:27
|
282 |
+
msgid "Edit Form"
|
283 |
+
msgstr "Edytuj formularz"
|
284 |
|
285 |
+
#: includes/forms/views/edit-form.php:45
|
286 |
+
msgid "Enter form title here"
|
287 |
+
msgstr "Wprowadź tytuł formularza..."
|
288 |
|
289 |
+
#: includes/forms/views/edit-form.php:46
|
290 |
+
msgid "Enter the title of your sign-up form"
|
291 |
+
msgstr "Wprowadź tytuł fromularza do zapisu subskrybentów"
|
292 |
|
293 |
+
#: includes/forms/views/edit-form.php:54
|
294 |
+
msgid "Get shortcode"
|
295 |
+
msgstr "Pobierz Shortcode'a"
|
|
|
|
|
296 |
|
297 |
+
#: includes/forms/views/edit-form.php:59
|
298 |
+
msgid "Preview this form"
|
299 |
+
msgstr "Podejrzyj formularz."
|
|
|
300 |
|
301 |
+
#: includes/forms/views/parts/add-fields-help.php:4
|
302 |
+
#: includes/forms/views/tabs/form-fields.php:10
|
303 |
+
msgid "Add more fields"
|
304 |
+
msgstr "Dodaj więcej pól do formularza"
|
305 |
+
|
306 |
+
#: includes/forms/views/parts/add-fields-help.php:9
|
307 |
msgid ""
|
308 |
+
"To add more fields to your form, you will need to create those fields in "
|
309 |
+
"MailChimp first."
|
310 |
+
msgstr "By dodać więcej pól do swojego formularza, musisz najpierw stworzyć te pola w MailChimpie."
|
|
|
311 |
|
312 |
+
#: includes/forms/views/parts/add-fields-help.php:12
|
313 |
+
msgid "Here's how:"
|
314 |
+
msgstr "Zobacz jak:"
|
315 |
|
316 |
+
#: includes/forms/views/parts/add-fields-help.php:17
|
317 |
+
msgid "Log in to your MailChimp account."
|
318 |
+
msgstr "Zaloguj się do konta w MailChimpie."
|
319 |
|
320 |
+
#: includes/forms/views/parts/add-fields-help.php:22
|
321 |
+
msgid "Add list fields to any of your selected lists."
|
322 |
+
msgstr "Dodaj pola do wszystkich zaznaczonych list subskrybentów."
|
323 |
|
324 |
+
#: includes/forms/views/parts/add-fields-help.php:23
|
325 |
+
msgid "Clicking the following links will take you to the right screen."
|
326 |
msgstr ""
|
327 |
|
328 |
+
#: includes/forms/views/parts/add-fields-help.php:29
|
329 |
+
msgid "Edit list fields for"
|
330 |
+
msgstr "Edytuj pola list subskrybentów dla"
|
|
|
331 |
|
332 |
+
#: includes/forms/views/parts/add-fields-help.php:38
|
333 |
+
msgid ""
|
334 |
+
"Click the following button to have MailChimp for WordPress pick up on your "
|
335 |
+
"changes."
|
336 |
+
msgstr "Kliknij poniższy button, by \"Mailchimp dla WordPress\" zaktualizował wprowadzone przez Ciebie zmiany."
|
337 |
|
338 |
+
#: includes/forms/views/parts/add-fields-help.php:43
|
339 |
+
#: includes/views/parts/lists-overview.php:8
|
340 |
+
msgid "Renew MailChimp lists"
|
341 |
+
msgstr "Odnów listy MailChimp"
|
342 |
|
343 |
+
#: includes/forms/views/parts/dynamic-content-tags.php:6
|
344 |
+
msgid "Add dynamic form variable"
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: includes/forms/views/parts/dynamic-content-tags.php:8
|
348 |
msgid ""
|
349 |
+
"The following list of variables can be used to <a href=\"%s\">add some "
|
350 |
+
"dynamic content to your form or success and error messages</a>."
|
351 |
+
msgstr "Poniższa lista zmiennych może być użyta do <a href=\"%s\">dodania dynamicznej zawartości do komunikatów z błędem lub powodzeniem przesłania Twojego formularza</a>"
|
352 |
|
353 |
+
#: includes/forms/views/parts/dynamic-content-tags.php:8
|
354 |
+
msgid "This allows you to personalise your form or response messages."
|
355 |
+
msgstr "Ta opcja pozwoli Ci na spersonalizowanie Twojego formularza lub jego komunikatów."
|
356 |
|
357 |
+
#: includes/forms/views/tabs/form-appearance.php:5
|
358 |
+
msgid "Inherit from %s theme"
|
359 |
+
msgstr "Odziedzicz z szablonu: %s."
|
360 |
|
361 |
+
#: includes/forms/views/tabs/form-appearance.php:6
|
362 |
+
msgid "Basic"
|
363 |
+
msgstr "Podstawowy"
|
364 |
|
365 |
+
#: includes/forms/views/tabs/form-appearance.php:7
|
366 |
+
msgid "Form Themes"
|
367 |
+
msgstr "Szablony formularza"
|
368 |
|
369 |
+
#: includes/forms/views/tabs/form-appearance.php:8
|
370 |
+
msgid "Light Theme"
|
371 |
+
msgstr "Jasny szablon"
|
372 |
|
373 |
+
#: includes/forms/views/tabs/form-appearance.php:9
|
374 |
+
msgid "Dark Theme"
|
375 |
+
msgstr "Ciemny szablon"
|
376 |
|
377 |
+
#: includes/forms/views/tabs/form-appearance.php:10
|
378 |
+
msgid "Red Theme"
|
379 |
+
msgstr "Czerwony szablon"
|
380 |
|
381 |
+
#: includes/forms/views/tabs/form-appearance.php:11
|
382 |
+
msgid "Green Theme"
|
383 |
+
msgstr "Zielony szablon"
|
384 |
|
385 |
+
#: includes/forms/views/tabs/form-appearance.php:12
|
386 |
+
msgid "Blue Theme"
|
387 |
+
msgstr "Niebieski szablon"
|
|
|
|
|
388 |
|
389 |
+
#: includes/forms/views/tabs/form-appearance.php:25
|
390 |
+
msgid "Form Appearance"
|
391 |
+
msgstr "Wygląd formularza"
|
392 |
|
393 |
+
#: includes/forms/views/tabs/form-appearance.php:29
|
394 |
+
msgid "Form Style"
|
395 |
+
msgstr "Style formularza"
|
396 |
|
397 |
+
#: includes/forms/views/tabs/form-appearance.php:48
|
398 |
+
msgid ""
|
399 |
+
"If you want to load some default CSS styles, select \"basic formatting "
|
400 |
+
"styles\" or choose one of the color themes"
|
401 |
+
msgstr "Jeśli chcesz załadować podstawowe style CSS wybierz \"Podstawowy\" styl formatowania lub wybierz jeden ze schematów kolorystycznych."
|
402 |
|
403 |
+
#: includes/forms/views/tabs/form-fields.php:6
|
404 |
+
msgid "Form variables"
|
405 |
+
msgstr "Zmienne formularza"
|
|
|
406 |
|
407 |
+
#: includes/forms/views/tabs/form-fields.php:13
|
408 |
+
msgid "Form Fields"
|
409 |
+
msgstr "Pola formularza"
|
410 |
|
411 |
+
#: includes/forms/views/tabs/form-fields.php:19
|
412 |
+
msgid "Enter the HTML code for your form fields.."
|
413 |
+
msgstr "Wprowadź kod HTML dla pól twojego formularza."
|
|
|
|
|
|
|
414 |
|
415 |
+
#: includes/forms/views/tabs/form-fields.php:27
|
416 |
+
msgid "Your form is missing the following (required) form fields:"
|
417 |
+
msgstr "Nie wypełniłeś/aś poniższych (wymaganych) pól formularza:"
|
418 |
|
419 |
+
#: includes/forms/views/tabs/form-fields.php:34
|
420 |
+
msgid ""
|
421 |
+
"Use the shortcode %s to display this form inside a post, page or text "
|
422 |
+
"widget."
|
423 |
+
msgstr "Użyj shortcode'u %s, by wyświetlić ten formularz we wpisie, stronie lub tekstowym widgetcie."
|
424 |
|
425 |
+
#: includes/forms/views/tabs/form-messages.php:3
|
426 |
+
msgid "Form Messages"
|
427 |
+
msgstr "Wiadomości formularza"
|
428 |
|
429 |
+
#: includes/forms/views/tabs/form-messages.php:10
|
430 |
+
msgid "Successfully subscribed"
|
431 |
+
msgstr "Zostałeś pomyślnie zapisany do naszej bazy."
|
432 |
|
433 |
+
#: includes/forms/views/tabs/form-messages.php:13
|
434 |
msgid ""
|
435 |
+
"The text that shows when an email address is successfully subscribed to the "
|
436 |
+
"selected list(s)."
|
437 |
+
msgstr "Tekst, który pokazuje się, gdy adres e-mail zostanie pomyślnie zapisany do konkretnej listy (list) subskrybentów."
|
438 |
|
439 |
+
#: includes/forms/views/tabs/form-messages.php:17
|
440 |
+
msgid "Invalid email address"
|
441 |
+
msgstr "Nieprawidłowy adres e-mail"
|
442 |
|
443 |
+
#: includes/forms/views/tabs/form-messages.php:20
|
444 |
+
msgid "The text that shows when an invalid email address is given."
|
445 |
+
msgstr "Tekst, który pokazuje się, gdy zostanie wprowadzony błędny adres e-mail."
|
446 |
|
447 |
+
#: includes/forms/views/tabs/form-messages.php:24
|
448 |
+
msgid "Required field missing"
|
449 |
+
msgstr "Wymagane pole nie zostało wypełnione."
|
450 |
|
451 |
+
#: includes/forms/views/tabs/form-messages.php:27
|
452 |
msgid ""
|
453 |
+
"The text that shows when a required field for the selected list(s) is "
|
454 |
+
"missing."
|
455 |
+
msgstr "Tekst, który pokazuje się, gdy wymagane pole dla wybranej listy (list) subskrybentów nie zostanie wypełnione."
|
456 |
|
457 |
+
#: includes/forms/views/tabs/form-messages.php:31
|
458 |
+
msgid "Already subscribed"
|
459 |
+
msgstr "Adres już istnieje w bazie mailingowej."
|
460 |
|
461 |
+
#: includes/forms/views/tabs/form-messages.php:34
|
462 |
+
msgid ""
|
463 |
+
"The text that shows when the given email is already subscribed to the "
|
464 |
+
"selected list(s)."
|
465 |
+
msgstr "Tekst, który pokazuje się, gdy adres e-mail jest już zapisany do konkretnej listy (list) subskrybentów."
|
466 |
|
467 |
+
#: includes/forms/views/tabs/form-messages.php:38
|
468 |
+
msgid "General error"
|
469 |
+
msgstr "Ogólny błąd."
|
470 |
|
471 |
+
#: includes/forms/views/tabs/form-messages.php:41
|
472 |
+
msgid "The text that shows when a general error occured."
|
473 |
+
msgstr "Tekst, który pokazuje się, gdy wystąpi ogólny błąd."
|
474 |
|
475 |
+
#: includes/forms/views/tabs/form-messages.php:45
|
476 |
+
msgid "Unsubscribed"
|
477 |
+
msgstr "Wypisany z listy mailingowej."
|
478 |
|
479 |
+
#: includes/forms/views/tabs/form-messages.php:48
|
480 |
+
msgid ""
|
481 |
+
"When using the unsubscribe method, this is the text that shows when the "
|
482 |
+
"given email address is successfully unsubscribed from the selected list(s)."
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: includes/forms/views/tabs/form-messages.php:52
|
486 |
+
msgid "Not subscribed"
|
|
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: includes/forms/views/tabs/form-messages.php:55
|
490 |
+
msgid ""
|
491 |
+
"When using the unsubscribe method, this is the text that shows when the "
|
492 |
+
"given email address is not on the selected list(s)."
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: includes/forms/views/tabs/form-messages.php:64
|
496 |
+
msgid "HTML tags like %s are allowed in the message fields."
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: includes/forms/views/tabs/form-settings.php:1
|
500 |
+
msgid "Form Settings"
|
501 |
+
msgstr "Ustawienia formularza"
|
502 |
|
503 |
+
#: includes/forms/views/tabs/form-settings.php:5
|
504 |
+
msgid "MailChimp specific settings"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: includes/forms/views/tabs/form-settings.php:12
|
508 |
+
msgid "Lists this form subscribes to"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: includes/forms/views/tabs/form-settings.php:15
|
512 |
+
#: includes/integrations/views/integration-settings.php:93
|
513 |
+
msgid "No lists found, <a href=\"%s\">are you connected to MailChimp</a>?"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: includes/forms/views/tabs/form-settings.php:29
|
517 |
+
msgid ""
|
518 |
+
"Select the list(s) to which people who submit this form should be "
|
519 |
+
"subscribed."
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: includes/forms/views/tabs/form-settings.php:35
|
523 |
+
msgid "Use double opt-in?"
|
524 |
+
msgstr "Użyć double opt-in?"
|
525 |
+
|
526 |
+
#: includes/forms/views/tabs/form-settings.php:39
|
527 |
+
#: includes/forms/views/tabs/form-settings.php:54
|
528 |
+
#: includes/forms/views/tabs/form-settings.php:69
|
529 |
+
#: includes/forms/views/tabs/form-settings.php:85
|
530 |
+
#: includes/forms/views/tabs/form-settings.php:115
|
531 |
+
#: includes/integrations/views/integration-settings.php:53
|
532 |
+
#: includes/integrations/views/integration-settings.php:66
|
533 |
+
#: includes/integrations/views/integration-settings.php:117
|
534 |
+
#: includes/integrations/views/integration-settings.php:129
|
535 |
+
#: includes/integrations/views/integration-settings.php:142
|
536 |
+
#: includes/integrations/views/integration-settings.php:163
|
537 |
+
#: includes/integrations/views/integration-settings.php:180
|
538 |
+
#: includes/integrations/views/integration-settings.php:199
|
539 |
+
#: integrations/contact-form-7/class-contact-form-7.php:69
|
540 |
+
msgid "Yes"
|
541 |
+
msgstr "Tak"
|
542 |
+
|
543 |
+
#: includes/forms/views/tabs/form-settings.php:43
|
544 |
+
#: includes/forms/views/tabs/form-settings.php:58
|
545 |
+
#: includes/forms/views/tabs/form-settings.php:73
|
546 |
+
#: includes/forms/views/tabs/form-settings.php:89
|
547 |
+
#: includes/forms/views/tabs/form-settings.php:119
|
548 |
+
#: includes/integrations/views/integration-settings.php:54
|
549 |
+
#: includes/integrations/views/integration-settings.php:67
|
550 |
+
#: includes/integrations/views/integration-settings.php:118
|
551 |
+
#: includes/integrations/views/integration-settings.php:130
|
552 |
+
#: includes/integrations/views/integration-settings.php:146
|
553 |
+
#: includes/integrations/views/integration-settings.php:167
|
554 |
+
#: includes/integrations/views/integration-settings.php:184
|
555 |
+
#: includes/integrations/views/integration-settings.php:203
|
556 |
+
#: integrations/contact-form-7/class-contact-form-7.php:69
|
557 |
+
msgid "No"
|
558 |
+
msgstr "Nie"
|
559 |
|
560 |
+
#: includes/forms/views/tabs/form-settings.php:45
|
561 |
+
#: includes/integrations/views/integration-settings.php:149
|
562 |
+
msgid ""
|
563 |
+
"Select \"yes\" if you want people to confirm their email address before "
|
564 |
+
"being subscribed (recommended)"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: includes/forms/views/tabs/form-settings.php:50
|
568 |
+
msgid "Send final welcome email?"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: includes/forms/views/tabs/form-settings.php:60
|
572 |
+
#: includes/integrations/views/integration-settings.php:169
|
573 |
+
msgid ""
|
574 |
+
"Select \"yes\" if you want to send your lists Welcome Email if a subscribe "
|
575 |
+
"succeeds (only when double opt-in is disabled)."
|
576 |
msgstr ""
|
577 |
|
578 |
+
#: includes/forms/views/tabs/form-settings.php:65
|
579 |
+
#: includes/integrations/views/integration-settings.php:176
|
580 |
+
msgid "Update existing subscribers?"
|
581 |
+
msgstr "Zaktualizować istniejących subskrybentów?"
|
582 |
|
583 |
+
#: includes/forms/views/tabs/form-settings.php:75
|
584 |
+
#: includes/integrations/views/integration-settings.php:186
|
585 |
+
msgid ""
|
586 |
+
"Select \"yes\" if you want to update existing subscribers with the data that"
|
587 |
+
" is sent."
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: includes/forms/views/tabs/form-settings.php:81
|
591 |
+
#: includes/integrations/views/integration-settings.php:195
|
592 |
+
msgid "Replace interest groups?"
|
593 |
+
msgstr "Zamienić grupy zainteresowań"
|
594 |
|
595 |
+
#: includes/forms/views/tabs/form-settings.php:92
|
596 |
+
#: includes/integrations/views/integration-settings.php:206
|
597 |
+
msgid ""
|
598 |
+
"Select \"no\" if you want to add the selected groupings to any previously "
|
599 |
+
"selected groupings when updating a subscriber."
|
600 |
msgstr ""
|
601 |
|
602 |
+
#: includes/forms/views/tabs/form-settings.php:93
|
603 |
+
#: includes/integrations/views/integration-settings.php:207
|
604 |
+
msgid "What does this do?"
|
605 |
+
msgstr "Co to robi?"
|
606 |
|
607 |
+
#: includes/forms/views/tabs/form-settings.php:104
|
608 |
+
msgid "Form behaviour"
|
609 |
+
msgstr "Zachowanie formularza"
|
610 |
|
611 |
+
#: includes/forms/views/tabs/form-settings.php:111
|
612 |
+
msgid "Hide form after a successful sign-up?"
|
613 |
+
msgstr "Ukryć formularz po udanym zapisie?"
|
614 |
|
615 |
+
#: includes/forms/views/tabs/form-settings.php:122
|
616 |
+
msgid "Select \"yes\" to hide the form fields after a successful sign-up."
|
617 |
+
msgstr "Wybierz \"tak\", by ukryć pola formularza po udanym zapisie."
|
618 |
|
619 |
+
#: includes/forms/views/tabs/form-settings.php:127
|
620 |
+
msgid "Redirect to URL after successful sign-ups"
|
621 |
+
msgstr "Zrób przekierowanie na adres URL po udanym zapisie."
|
622 |
+
|
623 |
+
#: includes/forms/views/tabs/form-settings.php:129
|
624 |
+
msgid "Example: %s"
|
625 |
+
msgstr "Przykład: %s"
|
626 |
|
627 |
+
#: includes/forms/views/tabs/form-settings.php:130
|
628 |
+
msgid ""
|
629 |
+
"Leave empty or enter <code>0</code> for no redirect. Otherwise, use complete"
|
630 |
+
" (absolute) URLs, including <code>http://</code>."
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: includes/integrations/class-admin.php:79
|
634 |
+
#: includes/integrations/class-admin.php:80
|
635 |
+
#: includes/integrations/views/integration-settings.php:10
|
636 |
+
#: includes/integrations/views/integrations.php:9
|
637 |
+
#: includes/integrations/views/integrations.php:17
|
638 |
+
msgid "Integrations"
|
639 |
+
msgstr "Integracje"
|
640 |
+
|
641 |
+
#: includes/integrations/views/integration-settings.php:20
|
642 |
+
msgid "%s integration"
|
643 |
+
msgstr "Integracja: \"%s\""
|
644 |
+
|
645 |
+
#: includes/integrations/views/integration-settings.php:51
|
646 |
+
msgid "Enabled?"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: includes/integrations/views/integration-settings.php:55
|
650 |
msgid ""
|
651 |
+
"Enable the %s integration? This will add a sign-up checkbox to the form."
|
652 |
+
msgstr "Włączyć integracje: \"%s\"? Doda to checkboxa z zapisem do formularza."
|
|
|
|
|
653 |
|
654 |
+
#: includes/integrations/views/integration-settings.php:64
|
655 |
+
msgid "Implicit?"
|
|
|
|
|
|
|
|
|
|
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: includes/integrations/views/integration-settings.php:68
|
659 |
+
msgid ""
|
660 |
+
"Select \"no\" if you want to ask your visitors before they are subscribed "
|
661 |
+
"(recommended)."
|
662 |
+
msgstr "Wybierz \"nie\" jeśli chcesz pytać swoich gości zanim zostaną zapisani (polecane)."
|
663 |
+
|
664 |
+
#: includes/integrations/views/integration-settings.php:78
|
665 |
+
msgid "MailChimp Lists"
|
666 |
+
msgstr "Listy MailChimp"
|
667 |
|
668 |
+
#: includes/integrations/views/integration-settings.php:89
|
669 |
msgid ""
|
670 |
+
"Select the list(s) to which people who check the checkbox should be "
|
671 |
+
"subscribed."
|
672 |
+
msgstr "Wybierz listę (listy) do których ludzie, którzy zaznaczą checkboxa powinni zostać zapisani."
|
673 |
|
674 |
+
#: includes/integrations/views/integration-settings.php:102
|
675 |
+
msgid "Checkbox label text"
|
676 |
+
msgstr "Tekst pola wyboru"
|
677 |
|
678 |
+
#: includes/integrations/views/integration-settings.php:105
|
679 |
+
msgid "HTML tags like %s are allowed in the label text."
|
680 |
msgstr ""
|
681 |
|
682 |
+
#: includes/integrations/views/integration-settings.php:115
|
683 |
+
msgid "Pre-check the checkbox?"
|
684 |
+
msgstr "Czy checkbox powinien być od razu zaznaczony?"
|
|
|
685 |
|
686 |
+
#: includes/integrations/views/integration-settings.php:119
|
687 |
+
msgid "Select \"yes\" if the checkbox should be pre-checked."
|
688 |
+
msgstr "Wybierz \"tak\", jeśli checkbox powinien być od razu zaznaczony."
|
|
|
689 |
|
690 |
+
#: includes/integrations/views/integration-settings.php:127
|
691 |
+
msgid "Load some default CSS?"
|
692 |
+
msgstr "Załadować podstawowe style CSS?"
|
|
|
693 |
|
694 |
+
#: includes/integrations/views/integration-settings.php:131
|
695 |
+
msgid "Select \"yes\" if the checkbox appears in a weird place."
|
696 |
+
msgstr "Wybierz \"tak\", jeśli checkbox pojawi się w dziwnym miejscu."
|
|
|
697 |
|
698 |
+
#: includes/integrations/views/integration-settings.php:138
|
699 |
+
msgid "Double opt-in?"
|
700 |
+
msgstr "Double opt-in?"
|
|
|
701 |
|
702 |
+
#: includes/integrations/views/integration-settings.php:159
|
703 |
+
msgid "Send Welcome Email?"
|
704 |
+
msgstr "Wysłać wiadomość powitalną?"
|
|
|
705 |
|
706 |
+
#: includes/integrations/views/integration-settings.php:244
|
707 |
+
msgid ""
|
708 |
+
"The selected MailChimp lists require non-default fields, which may prevent "
|
709 |
+
"this integration from working."
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: includes/integrations/views/integration-settings.php:245
|
713 |
msgid ""
|
714 |
+
"Please ensure you <a href=\"%s\">configure the plugin to send all required "
|
715 |
+
"fields</a> or <a href=\"%s\">log into your MailChimp account</a> and make "
|
716 |
+
"sure only the email & name fields are marked as required fields for the "
|
717 |
+
"selected list(s)."
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: includes/integrations/views/integrations.php:30
|
721 |
+
msgid "Enabled"
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: includes/integrations/views/integrations.php:31
|
725 |
+
msgid "Name"
|
726 |
+
msgstr "Nazwa"
|
727 |
+
|
728 |
+
#: includes/integrations/views/integrations.php:32
|
729 |
+
msgid "Description"
|
730 |
+
msgstr "Opis"
|
731 |
+
|
732 |
+
#: includes/integrations/views/integrations.php:50
|
733 |
msgid ""
|
734 |
+
"This integration is enabled by default as it requires manual actions to "
|
735 |
+
"work."
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: includes/integrations/views/integrations.php:57
|
739 |
+
msgid "Configure this integration"
|
740 |
+
msgstr "Skonfiguruj tą integrację"
|
741 |
|
742 |
+
#: includes/views/general-settings.php:18
|
743 |
+
msgid "General Settings"
|
744 |
+
msgstr "Ogólne ustawienia"
|
745 |
|
746 |
+
#: includes/views/general-settings.php:35
|
747 |
+
msgid "Status"
|
748 |
+
msgstr "Status"
|
749 |
|
750 |
+
#: includes/views/general-settings.php:39
|
751 |
+
msgid "CONNECTED"
|
752 |
+
msgstr "POŁĄCZONY"
|
753 |
|
754 |
+
#: includes/views/general-settings.php:41
|
755 |
+
msgid "NOT CONNECTED"
|
756 |
+
msgstr "BRAK POŁĄCZENIA"
|
757 |
|
758 |
+
#: includes/views/general-settings.php:48
|
759 |
+
msgid "API Key"
|
760 |
+
msgstr "Klucz API"
|
761 |
|
762 |
+
#: includes/views/general-settings.php:50
|
763 |
+
msgid "Your MailChimp API key"
|
764 |
+
msgstr "Twoj klucz API z MailChimp."
|
|
|
|
|
765 |
|
766 |
+
#: includes/views/general-settings.php:52
|
767 |
+
msgid "The API key for connecting with your MailChimp account."
|
768 |
msgstr ""
|
769 |
|
770 |
+
#: includes/views/general-settings.php:53
|
771 |
+
msgid "Get your API key here."
|
772 |
+
msgstr "Zdobądź klucz API tutaj."
|
773 |
|
774 |
+
#: includes/views/general-settings.php:65
|
775 |
+
msgid "Usage Tracking"
|
776 |
msgstr ""
|
777 |
|
778 |
+
#: includes/views/general-settings.php:71
|
779 |
+
msgid ""
|
780 |
+
"Allow us to anonymously track how this plugin is used to help us make it "
|
781 |
+
"better fit your needs."
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: includes/views/general-settings.php:73
|
785 |
+
msgid "This is what we track."
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: includes/views/parts/admin-footer.php:11
|
789 |
+
msgid ""
|
790 |
+
"MailChimp for WordPress is in need of translations. Is the plugin not "
|
791 |
+
"translated in your language or do you spot errors with the current "
|
792 |
+
"translations? Helping out is easy! Head over to <a href=\"%s\">the "
|
793 |
+
"translation project and click \"help translate\"</a>."
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: includes/views/parts/admin-footer.php:31
|
797 |
+
msgid ""
|
798 |
+
"This plugin is not developed by or affiliated with MailChimp in any way."
|
799 |
msgstr ""
|
800 |
|
801 |
+
#: includes/views/parts/lists-overview.php:1
|
802 |
+
msgid "Your MailChimp Account"
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: includes/views/parts/lists-overview.php:2
|
806 |
+
msgid ""
|
807 |
+
"The table below shows your MailChimp lists and their details. If you just "
|
808 |
+
"applied changes to your MailChimp lists, please use the following button to "
|
809 |
+
"renew the cached lists configuration."
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: includes/views/parts/lists-overview.php:14
|
813 |
+
msgid "No lists were found in your MailChimp account"
|
814 |
msgstr ""
|
815 |
|
816 |
+
#: includes/views/parts/lists-overview.php:16
|
817 |
+
msgid "A total of %d lists were found in your MailChimp account."
|
818 |
msgstr ""
|
819 |
|
820 |
+
#: includes/views/parts/lists-overview.php:21
|
821 |
+
msgid "List Name"
|
822 |
+
msgstr "Nazwa listy"
|
823 |
+
|
824 |
+
#: includes/views/parts/lists-overview.php:22
|
825 |
+
msgid "ID"
|
826 |
+
msgstr "ID"
|
827 |
+
|
828 |
+
#: includes/views/parts/lists-overview.php:23
|
829 |
+
msgid "Subscribers"
|
830 |
+
msgstr "Subskrybenci"
|
831 |
|
832 |
+
#: includes/views/parts/lists-overview.php:45
|
833 |
+
msgid "Edit this list in MailChimp"
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: includes/views/parts/lists-overview.php:59
|
837 |
+
msgid "%s (%s) with field type %s."
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: includes/views/parts/lists-overview.php:83
|
841 |
+
msgid "%s (ID: %s) with type %s."
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: integrations/contact-form-7/admin-before.php:2
|
|
|
845 |
msgid ""
|
846 |
+
"To integrate with Contact Form 7, configure the settings below and then add "
|
847 |
+
"%s to your CF7 form mark-up."
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: integrations/custom/admin-before.php:2
|
851 |
+
msgid ""
|
852 |
+
"To get a custom integration to work, include the following HTML in the form "
|
853 |
+
"you are trying to integrate with."
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: integrations/woocommerce/class-woocommerce.php:102
|
857 |
+
msgid "Order #%d"
|
858 |
+
msgstr "Zamówienie #%d"
|
859 |
+
|
860 |
+
#. Plugin Name of the plugin/theme
|
861 |
+
msgid "MailChimp for WordPress"
|
862 |
+
msgstr "MailChimp for WordPress"
|
863 |
|
864 |
#. Plugin URI of the plugin/theme
|
865 |
+
msgid ""
|
866 |
+
"https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-"
|
867 |
+
"wp&utm_campaign=plugins-page"
|
868 |
+
msgstr "https://mc4wp.com/#utm_source=wp-plugin&utm_medium=mailchimp-for-wp&utm_campaign=plugins-page"
|
869 |
|
870 |
#. Description of the plugin/theme
|
871 |
+
msgid ""
|
872 |
+
"MailChimp for WordPress by ibericode. Adds various highly effective sign-up "
|
873 |
+
"methods to your site."
|
874 |
msgstr ""
|
875 |
|
876 |
#. Author of the plugin/theme
|
877 |
+
msgid "ibericode"
|
878 |
+
msgstr "ibericode"
|
879 |
|
880 |
#. Author URI of the plugin/theme
|
881 |
+
msgid "https://ibericode.com/"
|
882 |
+
msgstr "https://ibericode.com/"
|
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.0.
|
7 |
Author: ibericode
|
8 |
Author URI: https://ibericode.com/
|
9 |
Text Domain: mailchimp-for-wp
|
@@ -11,7 +11,7 @@ Domain Path: /languages
|
|
11 |
License: GPL v3
|
12 |
|
13 |
MailChimp for WordPress
|
14 |
-
Copyright (C) 2012-
|
15 |
|
16 |
This program is free software: you can redistribute it and/or modify
|
17 |
it under the terms of the GNU General Public License as published by
|
@@ -47,7 +47,7 @@ function _mc4wp_load_plugin() {
|
|
47 |
}
|
48 |
|
49 |
// bootstrap the core plugin
|
50 |
-
define( 'MC4WP_VERSION', '4.0.
|
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.0.12
|
7 |
Author: ibericode
|
8 |
Author URI: https://ibericode.com/
|
9 |
Text Domain: mailchimp-for-wp
|
11 |
License: GPL v3
|
12 |
|
13 |
MailChimp for WordPress
|
14 |
+
Copyright (C) 2012-2017, Danny van Kooten, hi@dannyvankooten.com
|
15 |
|
16 |
This program is free software: you can redistribute it and/or modify
|
17 |
it under the terms of the GNU General Public License as published by
|
47 |
}
|
48 |
|
49 |
// bootstrap the core plugin
|
50 |
+
define( 'MC4WP_VERSION', '4.0.12' );
|
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.7
|
7 |
-
Stable tag: 4.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -189,6 +189,26 @@ MailChimp for WordPress is being developed on GitHub. If you want to collaborate
|
|
189 |
|
190 |
== Changelog ==
|
191 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
#### 4.0.11 - December 9, 2016
|
193 |
|
194 |
**Fixes**
|
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.7
|
7 |
+
Stable tag: 4.0.12
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
189 |
|
190 |
== Changelog ==
|
191 |
|
192 |
+
|
193 |
+
#### 4.0.12 - January 16, 2017
|
194 |
+
|
195 |
+
**Fixes**
|
196 |
+
|
197 |
+
- Don't call `stripslashes` on POST data twice.
|
198 |
+
|
199 |
+
**Improvements**
|
200 |
+
|
201 |
+
- Plugin review notice is now dismissible over AJAX.
|
202 |
+
- Improved formatting of birthday fields.
|
203 |
+
- Updated Polish translations, thanks to Mateusz Lomber.
|
204 |
+
- Updated German translations, thanks to Sven de Vries.
|
205 |
+
|
206 |
+
**Additions**
|
207 |
+
|
208 |
+
- Add `update_ecommerce_store_product` method to API class.
|
209 |
+
- Throw form specific JavaScript events, like `15.subscribed` to hook into "subscribed" events for form with ID 15.
|
210 |
+
|
211 |
+
|
212 |
#### 4.0.11 - December 9, 2016
|
213 |
|
214 |
**Fixes**
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit541c0dc3d2f08af0d23e4f44958746d3::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
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInite220b9cdf73db6b31110859155e3018a {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInit541c0dc3d2f08af0d23e4f44958746d3 {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit541c0dc3d2f08af0d23e4f44958746d3', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit541c0dc3d2f08af0d23e4f44958746d3', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|